From 3ef71df7c7b5eaf40f56c11767d85231cdf1d467 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 6 Mar 2021 22:57:23 +0200 Subject: [PATCH 01/63] implmentation of exact hmc walk --- ...ponentail_hamiltonian_monte_carlo_walk.hpp | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp diff --git a/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp b/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp new file mode 100644 index 000000000..fa2cd4caf --- /dev/null +++ b/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp @@ -0,0 +1,192 @@ +// VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP +#define RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP + +#include "sampling/sphere.hpp" + + +// Exact HMC for sampling from the Exponential distribution restricted to a convex polytope + +struct HMCExponentialWalk +{ + HMCExponentialWalk(double L) + : param(L, true) + {} + + HMCExponentialWalk() + : param(0, false) + {} + + struct parameters + { + parameters(double L, bool set) + : m_L(L), set_L(set) + {} + double m_L; + bool set_L; + }; + + parameters param; + + +template +< + typename Polytope, + typename RandomNumberGenerator +> +struct Walk +{ + typedef typename Polytope::PointType Point; + typedef typename Point::FT NT; + typedef typename Polytope::MT MT; + //typedef HPolytope Hpolytope; + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng) + { + _Len = compute_diameter + ::template compute(P); + _Ac = P.get_mat() * c.getCoefficients(); + _Temp = T; + _c = c; + initialize(P, p, rng); + } + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng, + parameters const& params) + { + _Len = params.set_L ? params.m_L + : compute_diameter + ::template compute(P); + _Ac = P.get_mat() * c.getCoefficients(); + _Temp = T; + _c = c; + initialize(P, p, rng); + } + + template + < + typename GenericPolytope + > + inline void apply(GenericPolytope const& P, + Point& p, // a point to start + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T;// = rng.sample_urdist() * _Len; + const NT dl = 0.995; + + for (auto j=0u; j::apply(n, rng, false); + Point p0 = _p; + int it = 0; + while (it < 100*n) + { + auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, + _Av, _lambda_prev); + if (T <= pbpair.first) { + _p += (T * T / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + break; + } + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + T -= _lambda_prev; + _v += (-_lambda_prev/_Temp) * _c; + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + if (it == 100*n){ + _p = p0; + } + } + p = _p; + } + + inline void update_delta(NT L) + { + _Len = L; + } + +private : + + template + < + typename GenericPolytope + > + inline void initialize(GenericPolytope const& P, + Point const& p, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + const NT dl = 0.995; + _lambdas.setZero(P.num_of_hyperplanes()); + _Av.setZero(P.num_of_hyperplanes()); + _p = p; + _v = GetDirection::apply(n, rng, false); + + NT T = -std::log(rng.sample_urdist()) * _Len; + Point p0 = _p; + int it = 0; + + std::pair pbpair + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av); + if (T <= pbpair.first) { + _p += (T * T / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + return; + } + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + _v += (-_lambda_prev/_Temp) * _c; + T -= _lambda_prev; + P.compute_reflection(_v, _p, pbpair.second); + + while (it <= 100*n) + { + std::pair pbpair + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev); + if (T <= pbpair.first) { + _p += (T * T / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + break; + }else if (it == 100*n) { + _lambda_prev = rng.sample_urdist() * pbpair.first; + _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + break; + } + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + _v += (-_lambda_prev/_Temp) * _c; + T -= _lambda_prev; + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + } + + NT _Len; + MT _Ac; + Point _p; + Point _v; + Point _c; + NT _Temp; + NT _lambda_prev; + typename Point::Coeff _lambdas; + typename Point::Coeff _Av; +}; + +}; + + +#endif // RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP + From 932e2ae5facda26742dc94fc991d8df2dd5ea40f Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 6 Mar 2021 23:05:48 +0200 Subject: [PATCH 02/63] implementation of boundary oracles for the hpolytope --- include/convex_bodies/hpolytope.h | 100 ++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 3cf5f41f2..8bff95298 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -638,6 +638,106 @@ class HPolytope { } + //------------------------------oracles for exponential sampling---------------////// + + // compute intersection points of a ray starting from r and pointing to v + // with polytope discribed by A and b + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av) const + { + NT lamda = 0, num, alpha, Delta; + NT min_plus = std::numeric_limits::max(); + NT max_minus = std::numeric_limits::lowest(); + VT sum_nom; + int m = num_of_hyperplanes(), facet; + + Ar.noalias() = A * r.getCoefficients(); + sum_nom = Ar - b; + Av.noalias() = A * v.getCoefficients();; + + + NT* Av_data = Av.data(); + NT* sum_nom_data = sum_nom.data(); + + for (int i = 0; i < m; i++) { + if (*Av_data == NT(0)) { + //std::cout<<"div0"< 0.0) { + lamda = (num / (2.0 * alpha)); + } else { + lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); + } + if (lamda < min_plus && lamda > 0) { + min_plus = lamda; + facet = i; + } + } + + Av_data++; + sum_nom_data++; + } + return std::make_pair(min_plus, facet); + } + + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av, + NT const& lambda_prev) const + { + + NT lamda = 0, alpha, Delta, num; + NT min_plus = std::numeric_limits::max(); + NT max_minus = std::numeric_limits::lowest(); + VT sum_nom; + NT mult; + unsigned int j; + int m = num_of_hyperplanes(), facet; + + Ar.noalias() += (lambda_prev * lambda_prev / (-2.0*T)) * Ac + lambda_prev * Av; + sum_nom = Ar - b; + Av.noalias() = A * v.getCoefficients(); + + NT* sum_nom_data = sum_nom.data(); + NT* Av_data = Av.data(); + + for (int i = 0; i < m; i++) { + if (*Av_data == NT(0)) { + //std::cout<<"div0"< 0.0) { + lamda = (num / (2.0 * alpha)); + } else { + lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); + } + if (lamda < min_plus && lamda > 0) { + min_plus = lamda; + facet = i; + } + } + Av_data++; + sum_nom_data++; + } + return std::make_pair(min_plus, facet); + } + + + // Apply linear transformation, of square matrix T^{-1}, in H-polytope P:= Ax<=b void linear_transformIt(MT const& T) { From be84adc932a109c5cfd2f024ac5b57dc4f01a5f6 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 6 Mar 2021 23:09:48 +0200 Subject: [PATCH 03/63] add fake boundary oracles for the other polytope representations --- include/convex_bodies/vpolyintersectvpoly.h | 26 ++++++++++++++++++++ include/convex_bodies/vpolytope.h | 26 ++++++++++++++++++++ include/convex_bodies/zpolytope.h | 27 +++++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index 3924fbe54..c0dd04f3a 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -322,6 +322,32 @@ class IntersectionOfVpoly { } + //------------------------------oracles for exponential sampling---------------////// + + // compute intersection points of a ray starting from r and pointing to v + // with polytope discribed by A and b + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av) const + { + return std::make_pair(0, 0); + } + + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av, + NT const& lambda_prev) const + { + return std::make_pair(0, 0); + } + + // shift polytope by a point c void shift(const VT &c) { P1.shift(c); diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index a661be269..d98da175e 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -493,6 +493,32 @@ class VPolytope { } + //------------------------------oracles for exponential sampling---------------////// + + // compute intersection points of a ray starting from r and pointing to v + // with polytope discribed by A and b + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av) const + { + return std::make_pair(0, 0); + } + + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av, + NT const& lambda_prev) const + { + return std::make_pair(0, 0); + } + + // shift polytope by a point c void shift(const VT &c) { MT V2 = V.transpose().colwise() - c; diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 4d70b8a46..303466e1a 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -477,6 +477,33 @@ class Zonotope { { return line_intersect_coord(r, rand_coord, lamdas); } + + + //------------------------------oracles for exponential sampling---------------////// + + // compute intersection points of a ray starting from r and pointing to v + // with polytope discribed by A and b + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av) const + { + return std::make_pair(0, 0); + } + + std::pair quadratic_positive_intersect(Point const& r, + Point const& v, + VT const& Ac, + NT const& T, + VT& Ar, + VT& Av, + NT const& lambda_prev) const + { + return std::make_pair(0, 0); + } + // shift polytope by a point c From 855f2af62ba4fad6c3ac52c89571b16aaab55b56 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 6 Mar 2021 23:23:51 +0200 Subject: [PATCH 04/63] implement c++ interface for exponential sampling --- R-proj/src/sample_points.cpp | 22 +++- include/random_walks/random_walks.hpp | 1 + include/sampling/sampling.hpp | 145 ++++++++++++++++++++++++++ 3 files changed, 166 insertions(+), 2 deletions(-) diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 585ed6910..752eb2cb3 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -36,6 +36,7 @@ enum random_walks { brdhr, bcdhr, hmc, + exponential_hmc, uld }; @@ -129,6 +130,15 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo StartingPoint, nburns); } break; + case exponential_hmc: + if (set_L) { + HMCExponentialWalk WalkType(L); + exponential_sampling(randPoints, P, rng, WalkType, walkL, numpoints, c, a, StartingPoint, nburns); + } else { + exponential_sampling(randPoints, P, rng, walkL, numpoints, c, a, + StartingPoint, nburns); + } + break; case ball_walk: if (set_L) { if (gaussian) { @@ -330,6 +340,9 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, } else if ( Rcpp::as(Rcpp::as(distribution)["density"]).compare(std::string("gaussian")) == 0) { gaussian = true; + } else if ( + Rcpp::as(Rcpp::as(distribution)["density"]).compare(std::string("exponential")) == 0) { + walk = exponential_hmc; } else if ( Rcpp::as(Rcpp::as(distribution)["density"]).compare(std::string("logconcave")) == 0) { logconcave = true; @@ -351,13 +364,18 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, NT a = 0.5; if (Rcpp::as(distribution).containsElementNamed("variance")) { a = 1.0 / (2.0 * Rcpp::as(Rcpp::as(distribution)["variance"])); - if (!gaussian) { + if (walk == exphmc) a = Rcpp::as(Rcpp::as(distribution)["variance"]); + if (!gaussian && walk != exponential_hmc) { Rcpp::warning("The variance can be set only for Gaussian sampling!"); } else if (a <= 0.0) { throw Rcpp::exception("The variance has to be positive!"); } } + if (Rcpp::as(distribution).containsElementNamed("bias")) { + c = Point(Rcpp::as(Rcpp::as(distribution)["bias"])); + } + if (Rcpp::as(distribution).containsElementNamed("negative_logprob") && Rcpp::as(distribution).containsElementNamed("negative_logprob_gradient")) { @@ -422,7 +440,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, } else { walk = rdhr; } - } else { + } else if(walk != exponential_hmc) { if (type == 1) { walk = accelarated_billiard; } else { diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index 4c3f5082c..26628a9d8 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -20,6 +20,7 @@ #include "random_walks/uniform_john_walk.hpp" #include "random_walks/uniform_vaidya_walk.hpp" #include "random_walks/uniform_accelerated_billiard_walk.hpp" +#include "random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp" #ifndef VOLESTIPY #include "random_walks/hamiltonian_monte_carlo_walk.hpp" #include "random_walks/langevin_walk.hpp" diff --git a/include/sampling/sampling.hpp b/include/sampling/sampling.hpp index dbfd89dc2..b5a6bb8b6 100644 --- a/include/sampling/sampling.hpp +++ b/include/sampling/sampling.hpp @@ -274,5 +274,150 @@ void logconcave_sampling(PointList &randPoints, } +template +< + typename Walk +> +struct ExponentialRandomPointGenerator +{ + template + < + typename Polytope, + typename Point, + typename NT, + typename PointList, + typename WalkPolicy, + typename RandomNumberGenerator + > + static void apply(Polytope const& P, + Point &p, // a point to start + Point const& c, // bias function + NT const& T, // temperature/variance + unsigned int const& rnum, + unsigned int const& walk_length, + PointList &randPoints, + WalkPolicy &policy, + RandomNumberGenerator &rng) + { + Walk walk(P, p, c, T, rng); + for (unsigned int i=0; i + static void apply(Polytope const& P, + Point &p, // a point to start + Point const& c, // bias function + NT const& T, // temperature/variance + unsigned int const& rnum, + unsigned int const& walk_length, + PointList &randPoints, + WalkPolicy &policy, + RandomNumberGenerator &rng, + Parameters const& parameters) + { + Walk walk(P, p, c, T, rng, parameters); + + for (unsigned int i=0; i +void exponential_sampling(PointList &randPoints, + Polytope &P, + RandomNumberGenerator &rng, + const unsigned int &walk_len, + const unsigned int &rnum, + const Point &c, + const NT &a, + const Point &starting_point, + unsigned int const& nburns) +{ + + typedef typename WalkTypePolicy::template Walk + < + Polytope, + RandomNumberGenerator + > walk; + + //RandomNumberGenerator rng(P.dimension()); + PushBackWalkPolicy push_back_policy; + + Point p = starting_point; + + typedef ExponentialRandomPointGenerator RandomPointGenerator; + RandomPointGenerator::apply(P, p, c, a, nburns, walk_len, randPoints, + push_back_policy, rng); + randPoints.clear(); + RandomPointGenerator::apply(P, p, c, a, rnum, walk_len, randPoints, + push_back_policy, rng); +} + + +template < + typename PointList, + typename Polytope, + typename RandomNumberGenerator, + typename WalkTypePolicy, + typename NT, + typename Point + > +void exponential_sampling(PointList &randPoints, + Polytope &P, + RandomNumberGenerator &rng, + WalkTypePolicy &WalkType, + const unsigned int &walk_len, + const unsigned int &rnum, + const Point &c, + const NT &a, + const Point &starting_point, + unsigned int const& nburns) +{ + + typedef typename WalkTypePolicy::template Walk + < + Polytope, + RandomNumberGenerator + > walk; + + //RandomNumberGenerator rng(P.dimension()); + PushBackWalkPolicy push_back_policy; + + Point p = starting_point; + + typedef ExponentialRandomPointGenerator RandomPointGenerator; + RandomPointGenerator::apply(P, p, c, a, nburns, walk_len, randPoints, + push_back_policy, rng, WalkType.param); + randPoints.clear(); + RandomPointGenerator::apply(P, p, c, a, rnum, walk_len, randPoints, + push_back_policy, rng, WalkType.param); +} + #endif From 462d1326bf4d25e76b48c2a2bdb1eb6eafb41c84 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sun, 7 Mar 2021 00:39:15 +0200 Subject: [PATCH 05/63] improve boundary oracles and fix bugs --- R-proj/src/sample_points.cpp | 14 ++-- include/convex_bodies/hpolytope.h | 82 ++++++++++++++----- include/convex_bodies/vpolyintersectvpoly.h | 6 +- include/convex_bodies/vpolytope.h | 6 +- include/convex_bodies/zpolytope.h | 6 +- ...ponentail_hamiltonian_monte_carlo_walk.hpp | 19 +++-- 6 files changed, 90 insertions(+), 43 deletions(-) diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 752eb2cb3..6461adfa9 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -51,7 +51,7 @@ template < > void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPoints, unsigned int const& walkL, unsigned int const& numpoints, - bool const& gaussian, NT const& a, NT const& L, + bool const& gaussian, NT const& a, NT const& L, Point const& c, Point const& StartingPoint, unsigned int const& nburns, bool const& set_L, random_walks walk, NegativeGradientFunctor *F=NULL, NegativeLogprobFunctor *f=NULL, @@ -318,6 +318,8 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, rng.set_seed(seed_rcpp); } + Point c(dim); + NT radius = 1.0, L; bool set_mode = false, gaussian = false, logconcave = false, set_starting_point = false, set_L = false; @@ -364,7 +366,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, NT a = 0.5; if (Rcpp::as(distribution).containsElementNamed("variance")) { a = 1.0 / (2.0 * Rcpp::as(Rcpp::as(distribution)["variance"])); - if (walk == exphmc) a = Rcpp::as(Rcpp::as(distribution)["variance"]); + if (walk == exponential_hmc) a = Rcpp::as(Rcpp::as(distribution)["variance"]); if (!gaussian && walk != exponential_hmc) { Rcpp::warning("The variance can be set only for Gaussian sampling!"); } else if (a <= 0.0) { @@ -555,7 +557,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, StartingPoint = StartingPoint - mode; HP.shift(mode.getCoefficients()); } - sample_from_polytope(HP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, + sample_from_polytope(HP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, StartingPoint, nburns, set_L, walk, F, f, solver); break; } @@ -576,7 +578,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, StartingPoint = StartingPoint - mode; VP.shift(mode.getCoefficients()); } - sample_from_polytope(VP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, + sample_from_polytope(VP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, StartingPoint, nburns, set_L, walk, F, f, solver); break; } @@ -597,7 +599,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, StartingPoint = StartingPoint - mode; ZP.shift(mode.getCoefficients()); } - sample_from_polytope(ZP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, + sample_from_polytope(ZP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, StartingPoint, nburns, set_L, walk, F, f, solver); break; } @@ -620,7 +622,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, StartingPoint = StartingPoint - mode; VPcVP.shift(mode.getCoefficients()); } - sample_from_polytope(VPcVP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, + sample_from_polytope(VPcVP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, StartingPoint, nburns, set_L, walk, F, f, solver); break; } diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 8bff95298..6788991e9 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -647,13 +647,14 @@ class HPolytope { VT const& Ac, NT const& T, VT& Ar, - VT& Av) const + VT& Av, + int& facet_prev) const { NT lamda = 0, num, alpha, Delta; NT min_plus = std::numeric_limits::max(); NT max_minus = std::numeric_limits::lowest(); VT sum_nom; - int m = num_of_hyperplanes(), facet; + int m = num_of_hyperplanes(), facet = -1; Ar.noalias() = A * r.getCoefficients(); sum_nom = Ar - b; @@ -670,21 +671,39 @@ class HPolytope { } else { alpha = -(Ac.coeff(i) / (2.0 * T)); Delta = (*Av_data) * (*Av_data) - 4.0 * alpha * (*sum_nom_data); - num = - (*Av_data) - std::sqrt(Delta); - if (num > 0.0) { - lamda = (num / (2.0 * alpha)); - } else { - lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); - } - if (lamda < min_plus && lamda > 0) { - min_plus = lamda; - facet = i; + + if (Delta >= NT(0)) { + //num = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); + + if (*Av_data >= NT(0)){ + lamda = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); + if (lamda < NT(0)) { + lamda = (2.0*(*sum_nom_data)) / (- (*Av_data) - std::sqrt(Delta)); + } + } else { + lamda = (2.0*(*sum_nom_data)) / (- (*Av_data) + std::sqrt(Delta)); + if (lamda < NT(0)) { + lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); + } + } + + /*if (num > NT(0)) { + lamda = num; + } else { + lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); + }*/ + + if (lamda < min_plus && lamda > 0) { + min_plus = lamda; + facet = i; + } } } Av_data++; sum_nom_data++; } + facet_prev = facet; return std::make_pair(min_plus, facet); } @@ -694,7 +713,8 @@ class HPolytope { NT const& T, VT& Ar, VT& Av, - NT const& lambda_prev) const + NT const& lambda_prev, + int& facet_prev) const { NT lamda = 0, alpha, Delta, num; @@ -703,7 +723,7 @@ class HPolytope { VT sum_nom; NT mult; unsigned int j; - int m = num_of_hyperplanes(), facet; + int m = num_of_hyperplanes(), facet = -1; Ar.noalias() += (lambda_prev * lambda_prev / (-2.0*T)) * Ac + lambda_prev * Av; sum_nom = Ar - b; @@ -719,20 +739,38 @@ class HPolytope { } else { alpha = -(Ac.coeff(i) / (2.0 * T)); Delta = (*Av_data) * (*Av_data) - 4.0 * alpha * (*sum_nom_data); - num = - (*Av_data) - std::sqrt(Delta); - if (num > 0.0) { - lamda = (num / (2.0 * alpha)); - } else { - lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); - } - if (lamda < min_plus && lamda > 0) { - min_plus = lamda; - facet = i; + + if (Delta >= NT(0)) { + //num = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); + + if (*Av_data >= NT(0)){ + lamda = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); + if (lamda < NT(0) || facet_prev == i) { + lamda = (2.0*(*sum_nom_data)) / (- (*Av_data) - std::sqrt(Delta)); + } + } else { + lamda = (2.0*(*sum_nom_data)) / (- (*Av_data) + std::sqrt(Delta)); + if (lamda < NT(0) || facet_prev == i) { + lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); + } + } + + /*if (num > NT(0) && facet_prev != i) { + lamda = num; + } else { + lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); + }*/ + + if (lamda < min_plus && lamda > 0) { + min_plus = lamda; + facet = i; + } } } Av_data++; sum_nom_data++; } + facet_prev = facet; return std::make_pair(min_plus, facet); } diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index c0dd04f3a..54386b68f 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -331,7 +331,8 @@ class IntersectionOfVpoly { VT const& Ac, NT const& T, VT& Ar, - VT& Av) const + VT& Av, + int& facet_prev) const { return std::make_pair(0, 0); } @@ -342,7 +343,8 @@ class IntersectionOfVpoly { NT const& T, VT& Ar, VT& Av, - NT const& lambda_prev) const + NT const& lambda_prev, + int& facet_prev) const { return std::make_pair(0, 0); } diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index d98da175e..ce6b1ffdf 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -502,7 +502,8 @@ class VPolytope { VT const& Ac, NT const& T, VT& Ar, - VT& Av) const + VT& Av, + int& facet_prev) const { return std::make_pair(0, 0); } @@ -513,7 +514,8 @@ class VPolytope { NT const& T, VT& Ar, VT& Av, - NT const& lambda_prev) const + NT const& lambda_prev, + int& facet_prev) const { return std::make_pair(0, 0); } diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 303466e1a..8188a4d56 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -488,7 +488,8 @@ class Zonotope { VT const& Ac, NT const& T, VT& Ar, - VT& Av) const + VT& Av, + int& facet_prev) const { return std::make_pair(0, 0); } @@ -499,7 +500,8 @@ class Zonotope { NT const& T, VT& Ar, VT& Av, - NT const& lambda_prev) const + NT const& lambda_prev, + int& facet_prev) const { return std::make_pair(0, 0); } diff --git a/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp b/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp index fa2cd4caf..68b7ff287 100644 --- a/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp +++ b/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp @@ -93,13 +93,13 @@ struct Walk while (it < 100*n) { auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, - _Av, _lambda_prev); - if (T <= pbpair.first) { + _Av, _lambda_prev, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { _p += (T * T / (-2.0*_Temp)) *_c + (T * _v); _lambda_prev = T; break; } - _lambda_prev = dl * pbpair.first; + _lambda_prev = pbpair.first; _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); T -= _lambda_prev; _v += (-_lambda_prev/_Temp) * _c; @@ -140,13 +140,13 @@ private : int it = 0; std::pair pbpair - = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av); - if (T <= pbpair.first) { + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { _p += (T * T / (-2.0*_Temp)) *_c + (T * _v); _lambda_prev = T; return; } - _lambda_prev = dl * pbpair.first; + _lambda_prev = pbpair.first; _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); _v += (-_lambda_prev/_Temp) * _c; T -= _lambda_prev; @@ -155,8 +155,8 @@ private : while (it <= 100*n) { std::pair pbpair - = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev); - if (T <= pbpair.first) { + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { _p += (T * T / (-2.0*_Temp)) *_c + (T * _v); _lambda_prev = T; break; @@ -165,7 +165,7 @@ private : _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); break; } - _lambda_prev = dl * pbpair.first; + _lambda_prev = pbpair.first; _p += (_lambda_prev * _lambda_prev / (-2.0*_Temp)) *_c + (_lambda_prev * _v); _v += (-_lambda_prev/_Temp) * _c; T -= _lambda_prev; @@ -181,6 +181,7 @@ private : Point _c; NT _Temp; NT _lambda_prev; + int _facet_prev; typename Point::Coeff _lambdas; typename Point::Coeff _Av; }; From da09805f724d6365c16bc6980aa5db459bc91d6f Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sun, 7 Mar 2021 04:11:36 +0200 Subject: [PATCH 06/63] add root finder for the degree two polynomial --- R-proj/test.R | 4 ++ include/convex_bodies/hpolytope.h | 60 +++++++++++------ ...ponentail_hamiltonian_monte_carlo_walk.hpp | 65 ++++++++++++++++++- include/root_finders/quadratic_polynomial.hpp | 47 ++++++++++++++ 4 files changed, 154 insertions(+), 22 deletions(-) create mode 100644 R-proj/test.R create mode 100644 include/root_finders/quadratic_polynomial.hpp diff --git a/R-proj/test.R b/R-proj/test.R new file mode 100644 index 000000000..f13527cdc --- /dev/null +++ b/R-proj/test.R @@ -0,0 +1,4 @@ +library(volesti) +P = gen_cube(2,'H') +p = sample_points(P,n=1000, distribution = list("density"="exponential", + "bias"=c(0.5,0.5),"variance"=0.1)) \ No newline at end of file diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 6788991e9..58cec46b7 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -16,6 +16,7 @@ #include #include #include "preprocess/max_inscribed_ball.hpp" +#include "root_finders/quadratic_polynomial.hpp" #ifndef VOLESTIPY #include "lp_oracles/solve_lp.h" #endif @@ -650,7 +651,7 @@ class HPolytope { VT& Av, int& facet_prev) const { - NT lamda = 0, num, alpha, Delta; + NT lamda = 0, lamda2 =0, lamda1 =0, num, alpha, Delta; NT min_plus = std::numeric_limits::max(); NT max_minus = std::numeric_limits::lowest(); VT sum_nom; @@ -676,15 +677,16 @@ class HPolytope { //num = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); if (*Av_data >= NT(0)){ - lamda = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); - if (lamda < NT(0)) { - lamda = (2.0*(*sum_nom_data)) / (- (*Av_data) - std::sqrt(Delta)); - } + lamda1 = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); + lamda2 = (2.0*(*sum_nom_data)) / (- (*Av_data) - std::sqrt(Delta)); } else { - lamda = (2.0*(*sum_nom_data)) / (- (*Av_data) + std::sqrt(Delta)); - if (lamda < NT(0)) { - lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); - } + lamda1 = (2.0*(*sum_nom_data)) / (- (*Av_data) + std::sqrt(Delta)); + lamda2 = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); + } + if (lamda1*lamda2 < NT(0)) { + lamda = std::max(lamda1, lamda2); + } else { + lamda = std::min(lamda1, lamda2); } /*if (num > NT(0)) { @@ -717,13 +719,14 @@ class HPolytope { int& facet_prev) const { - NT lamda = 0, alpha, Delta, num; + NT lamda = 0, lamda2 =0, lamda1 =0, alpha, Delta, num, num2, x1,x2; NT min_plus = std::numeric_limits::max(); NT max_minus = std::numeric_limits::lowest(); VT sum_nom; NT mult; unsigned int j; int m = num_of_hyperplanes(), facet = -1; + bool real; Ar.noalias() += (lambda_prev * lambda_prev / (-2.0*T)) * Ac + lambda_prev * Av; sum_nom = Ar - b; @@ -739,21 +742,38 @@ class HPolytope { } else { alpha = -(Ac.coeff(i) / (2.0 * T)); Delta = (*Av_data) * (*Av_data) - 4.0 * alpha * (*sum_nom_data); - + std::cout<<"a = "< Hpolytope; template @@ -83,6 +84,15 @@ struct Walk unsigned int n = P.dimension(); NT T;// = rng.sample_urdist() * _Len; const NT dl = 0.995; + int fp = _facet_prev, counter=0; + MT A = P.get_mat(); + VT b = P.get_vec(); + + if ( P.is_in(_p) == 0){ + std::cout<<"out init, fp = "< #include #include "preprocess/max_inscribed_ball.hpp" -#include "root_finders/quadratic_polynomial.hpp" +#include "root_finders/quadratic_polynomial_solvers.hpp" #ifndef VOLESTIPY #include "lp_oracles/solve_lp.h" #endif @@ -645,65 +645,40 @@ class HPolytope { // with polytope discribed by A and b std::pair quadratic_positive_intersect(Point const& r, Point const& v, - VT const& Ac, + VT& Ac, NT const& T, VT& Ar, VT& Av, int& facet_prev) const { - NT lamda = 0, lamda2 =0, lamda1 =0, num, alpha, Delta; + NT lamda = 0, lamda2 =0, lamda1 =0, alpha; NT min_plus = std::numeric_limits::max(); NT max_minus = std::numeric_limits::lowest(); VT sum_nom; + bool real; int m = num_of_hyperplanes(), facet = -1; Ar.noalias() = A * r.getCoefficients(); sum_nom = Ar - b; Av.noalias() = A * v.getCoefficients();; - NT* Av_data = Av.data(); NT* sum_nom_data = sum_nom.data(); + NT* Ac_data = Ac.data(); for (int i = 0; i < m; i++) { - if (*Av_data == NT(0)) { - //std::cout<<"div0"<= NT(0)) { - //num = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); - - if (*Av_data >= NT(0)){ - lamda1 = (- (*Av_data) - std::sqrt(Delta)) / (2.0 * alpha); - lamda2 = (2.0*(*sum_nom_data)) / (- (*Av_data) - std::sqrt(Delta)); - } else { - lamda1 = (2.0*(*sum_nom_data)) / (- (*Av_data) + std::sqrt(Delta)); - lamda2 = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); - } - if (lamda1*lamda2 < NT(0)) { - lamda = std::max(lamda1, lamda2); - } else { - lamda = std::min(lamda1, lamda2); - } - - /*if (num > NT(0)) { - lamda = num; - } else { - lamda = (- (*Av_data) + std::sqrt(Delta)) / (2.0 * alpha); - }*/ - - if (lamda < min_plus && lamda > 0) { - min_plus = lamda; - facet = i; - } + alpha = -((*Ac_data) / (2.0 * T)); + solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2, real); + if (real) { + lamda = pick_intersection_time(lamda1, lamda2, i, facet_prev); + if (lamda < min_plus && lamda > 0) { + min_plus = lamda; + facet = i; } } - Av_data++; sum_nom_data++; + Ac_data++; } facet_prev = facet; return std::make_pair(min_plus, facet); @@ -711,7 +686,7 @@ class HPolytope { std::pair quadratic_positive_intersect(Point const& r, Point const& v, - VT const& Ac, + VT& Ac, NT const& T, VT& Ar, VT& Av, @@ -719,83 +694,67 @@ class HPolytope { int& facet_prev) const { - NT lamda = 0, lamda2 =0, lamda1 =0, alpha, Delta, num, num2, x1,x2; + NT lamda = 0, lamda2 =0, lamda1 =0, alpha; NT min_plus = std::numeric_limits::max(); NT max_minus = std::numeric_limits::lowest(); - VT sum_nom; + VT sum_nom; NT mult; unsigned int j; int m = num_of_hyperplanes(), facet = -1; bool real; - Ar.noalias() += (lambda_prev * lambda_prev / (-2.0*T)) * Ac + lambda_prev * Av; + Ar.noalias() += ((lambda_prev * lambda_prev) / (-2.0*T)) * Ac + lambda_prev * Av; sum_nom = Ar - b; Av.noalias() = A * v.getCoefficients(); NT* sum_nom_data = sum_nom.data(); NT* Av_data = Av.data(); + NT* Ac_data = Ac.data(); for (int i = 0; i < m; i++) { - if (*Av_data == NT(0)) { - //std::cout<<"div0"<= NT(0) && std::min(lamda1, lamda2) < 1e-10) { + lamda = std::max(lamda1, lamda2); + } else { + lamda = std::min(lamda1, lamda2); + } + } else { + lamda = std::min(lamda1, lamda2); + } + } + return lamda; + } // Apply linear transformation, of square matrix T^{-1}, in H-polytope P:= Ax<=b diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index 54386b68f..19b5f8d60 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -50,7 +50,7 @@ class IntersectionOfVpoly { return _inner_ball; } - int is_in(const Point &p) const { + int is_in(const Point &p, NT tol=NT(0)) const { if(P1.is_in(p)==-1) return P2.is_in(p); return 0; diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 8188a4d56..2d1f781cc 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -336,7 +336,7 @@ class Zonotope { // check if point p belongs to the convex hull of V-Polytope P - int is_in(Point const& p) const + int is_in(Point const& p, NT tol=NT(0)) const { if(memLP_Zonotope(V, p, row_mem, colno_mem)) { diff --git a/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp b/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp deleted file mode 100644 index e06b9fc56..000000000 --- a/include/random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp +++ /dev/null @@ -1,252 +0,0 @@ -// VolEsti (volume computation and sampling library) -// Copyright (c) 2021 Vissarion Fisikopoulos -// Copyright (c) 2021 Apostolos Chalkis - - -// Licensed under GNU LGPL.3, see LICENCE file - -#ifndef RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP -#define RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP - -#include "sampling/sphere.hpp" - - -// Exact HMC for sampling from the Exponential distribution restricted to a convex polytope - -struct HMCExponentialWalk -{ - HMCExponentialWalk(double L) - : param(L, true) - {} - - HMCExponentialWalk() - : param(0, false) - {} - - struct parameters - { - parameters(double L, bool set) - : m_L(L), set_L(set) - {} - double m_L; - bool set_L; - }; - - parameters param; - - -template -< - typename Polytope, - typename RandomNumberGenerator -> -struct Walk -{ - typedef typename Polytope::PointType Point; - typedef typename Point::FT NT; - typedef typename Polytope::MT MT; - typedef typename Polytope::VT VT; - //typedef HPolytope Hpolytope; - - template - Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng) - { - _Len = compute_diameter - ::template compute(P); - _Ac = P.get_mat() * c.getCoefficients(); - _Temp = T; - _c = c; - initialize(P, p, rng); - } - - template - Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng, - parameters const& params) - { - _Len = params.set_L ? params.m_L - : compute_diameter - ::template compute(P); - _Ac = P.get_mat() * c.getCoefficients(); - _Temp = T; - _c = c; - initialize(P, p, rng); - } - - template - < - typename GenericPolytope - > - inline void apply(GenericPolytope const& P, - Point& p, // a point to start - unsigned int const& walk_length, - RandomNumberGenerator &rng) - { - unsigned int n = P.dimension(); - NT T;// = rng.sample_urdist() * _Len; - const NT dl = 0.995; - int fp = _facet_prev, counter=0; - MT A = P.get_mat(); - VT b = P.get_vec(); - - if ( P.is_in(_p) == 0){ - std::cout<<"out init, fp = "< +struct Walk +{ + typedef typename Polytope::PointType Point; + typedef typename Point::FT NT; + typedef typename Polytope::MT MT; + typedef typename Polytope::VT VT; + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng) + { + _Len = compute_diameter + ::template compute(P); + _Ac = P.get_mat() * c.getCoefficients(); + _Temp = T; + _c = c; + initialize(P, p, rng); + } + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng, + parameters const& params) + { + _Len = params.set_L ? params.m_L + : compute_diameter + ::template compute(P); + _Ac = P.get_mat() * c.getCoefficients(); + _Temp = T; + _c = c; + initialize(P, p, rng); + } + + template + < + typename GenericPolytope + > + inline bool apply(GenericPolytope const& P, + Point& p, // a point to start + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T; + int failures = 0, it; + Point p0; + + for (auto j=0u; j::apply(n, rng, false); + p0 = _p; + it = 0; + while (it < 200*n) + { + auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, + _Av, _lambda_prev, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { + _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + break; + } + _lambda_prev = pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + T -= _lambda_prev; + _v += (-_lambda_prev/_Temp) * _c; + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + + } while (P.is_in(_p, _tol) == 0); + if (it == 200*n){ + _p = p0; + } + } + p = _p; + return true; + } + + inline void update_delta(NT L) + { + _Len = L; + } + +private : + + template + < + typename GenericPolytope + > + inline void initialize(GenericPolytope const& P, + Point const& p, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T; + _lambdas.setZero(P.num_of_hyperplanes()); + _Av.setZero(P.num_of_hyperplanes()); + _p = p; + _v = GetDirection::apply(n, rng, false); + + do { + T = -std::log(rng.sample_urdist()) * _Len; + Point p0 = _p; + int it = 0; + + std::pair pbpair + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { + _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + return; + } + _lambda_prev = pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + _v += (-_lambda_prev/_Temp) * _c; + T -= _lambda_prev; + P.compute_reflection(_v, _p, pbpair.second); + + while (it <= 100*n) + { + std::pair pbpair + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { + _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + break; + }else if (it == 100*n) { + _lambda_prev = rng.sample_urdist() * pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + break; + } + _lambda_prev = pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + _v += (-_lambda_prev/_Temp) * _c; + T -= _lambda_prev; + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + } while (P.is_in(_p, _tol) == 0); + } + + NT _Len; + VT _Ac; + Point _p; + Point _v; + Point _c; + NT _Temp; + NT const _tol = 1e-10; + NT _lambda_prev; + int _facet_prev; + typename Point::Coeff _lambdas; + typename Point::Coeff _Av; +}; + +}; + + +#endif // RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP + diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index 26628a9d8..8d3ae59d5 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -20,7 +20,7 @@ #include "random_walks/uniform_john_walk.hpp" #include "random_walks/uniform_vaidya_walk.hpp" #include "random_walks/uniform_accelerated_billiard_walk.hpp" -#include "random_walks/exponentail_hamiltonian_monte_carlo_walk.hpp" +#include "random_walks/exponential_hamiltonian_monte_carlo_walk.hpp" #ifndef VOLESTIPY #include "random_walks/hamiltonian_monte_carlo_walk.hpp" #include "random_walks/langevin_walk.hpp" diff --git a/include/root_finders/quadratic_polynomial.hpp b/include/root_finders/quadratic_polynomial.hpp deleted file mode 100644 index 255d52633..000000000 --- a/include/root_finders/quadratic_polynomial.hpp +++ /dev/null @@ -1,47 +0,0 @@ - - - -#ifndef QUADRATIC_POLYNOMIAL_ROOTS_H -#define QUADRATIC_POLYNOMIAL_ROOTS_H - -template int sgn(T val) -{ - return (T(0) < val) - (val < T(0)); -} - -template -void solve_qudratic_polynomial(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) -{ - a = NT(1); - b = b / a; - c = c / a; - real = true; - - NT sqrt_c = std::sqrt(std::abs(c)); - NT alpha = sgn(b) * sqrt_c; - NT e = NT(sgn(c)); - NT beta = std::abs(b) / (NT(2)*sqrt_c); - - if (e > NT(0) && beta < NT(1)) - { - real = false; - return; - } - - if (e < NT(0)) - { - x1 = beta + std::sqrt(beta*beta + NT(1)); - x2 = -NT(1)/x1; - } else - { - x1 = beta + std::sqrt((beta + NT(1)) * (beta - NT(1))); - x2 = NT(1) / x1; - } - x1 = -x1 * alpha; - x2 = -x2 * alpha; -} - - - -#endif - diff --git a/include/root_finders/quadratic_polynomial_solvers.hpp b/include/root_finders/quadratic_polynomial_solvers.hpp new file mode 100644 index 000000000..1b624faf8 --- /dev/null +++ b/include/root_finders/quadratic_polynomial_solvers.hpp @@ -0,0 +1,77 @@ +// VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + + +// Licensed under GNU LGPL.3, see LICENCE file + + +#ifndef QUADRATIC_POLYNOMIAL_SOLVERS_H +#define QUADRATIC_POLYNOMIAL_SOLVERS_H + +// The function returns the sigh of the input number +template int sgn(T val) +{ + return (T(0) < val) - (val < T(0)); +} + +// The function compute the roots of a quadratic polynomial equation +template +void solve_quadratic_polynomial(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) { + + NT Delta = b * b - 4.0 * a * c; + if (Delta < NT(0)) { + real = false; + return; + } + real = true; + if (b >= NT(0)){ + x1 = (- b - std::sqrt(Delta)) / (2.0 * a); + x2 = (2.0 * c) / (- b - std::sqrt(Delta)); + } else { + x1 = (2.0 * c) / (- b + std::sqrt(Delta)); + x2 = (- b + std::sqrt(Delta)) / (2.0 * a); + } +} + +// The function compute the roots of a quadratic polynomial equation +// using the algorithm in Revisiting the stability of computing the roots of a quadratic polynomial +// by Nicola Mastronardi and Paul Michel Van Dooren, Electronic transactions on numerical analysis, 2014 +template +void solve_qudratic_polynomial_stable(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) +{ + real = true; + + if (c == NT(0)) { + x1 = NT(0); + x2 = -b/a; + return; + } + b = b / a; + c = c / a; + + NT alpha = sgn(b) * std::sqrt(std::abs(c)); + NT e = NT(sgn(c)); + NT beta = b / (NT(2)*alpha); + + if (e > NT(0) && beta < NT(1)) + { + real = false; + return; + } + + if (e < NT(0)) + { + x1 = beta + std::sqrt(beta*beta + NT(1)); + x2 = -NT(1)/x1; + } else + { + x1 = beta + std::sqrt((beta + NT(1)) * (beta - NT(1))); + x2 = NT(1) / x1; + } + x1 = -x1 * alpha; + x2 = -x2 * alpha; +} + +#endif + diff --git a/include/sampling/random_point_generators.hpp b/include/sampling/random_point_generators.hpp index 2bb711de6..fa4cae178 100644 --- a/include/sampling/random_point_generators.hpp +++ b/include/sampling/random_point_generators.hpp @@ -204,5 +204,78 @@ struct LogconcaveRandomPointGenerator }; +template +< + typename Walk +> +struct ExponentialRandomPointGenerator +{ + template + < + typename Polytope, + typename Point, + typename NT, + typename PointList, + typename WalkPolicy, + typename RandomNumberGenerator + > + static void apply(Polytope const& P, + Point &p, // a point to start + Point const& c, // bias function + NT const& T, // temperature/variance + unsigned int const& rnum, + unsigned int const& walk_length, + PointList &randPoints, + WalkPolicy &policy, + RandomNumberGenerator &rng) + { + Walk walk(P, p, c, T, rng); + bool success; + for (unsigned int i=0; i + static void apply(Polytope const& P, + Point &p, // a point to start + Point const& c, // bias function + NT const& T, // temperature/variance + unsigned int const& rnum, + unsigned int const& walk_length, + PointList &randPoints, + WalkPolicy &policy, + RandomNumberGenerator &rng, + Parameters const& parameters) + { + Walk walk(P, p, c, T, rng, parameters); + bool success; + + for (unsigned int i=0; i RandomPointGenerator; - RandomPointGenerator::apply(P, p, nburns, walk_len, randPoints, - push_back_policy, rng); - randPoints.clear(); + if (nburns > 0) { + RandomPointGenerator::apply(P, p, nburns, walk_len, randPoints, + push_back_policy, rng); + randPoints.clear(); + } RandomPointGenerator::apply(P, p, rnum, walk_len, randPoints, push_back_policy, rng); @@ -85,10 +87,11 @@ void uniform_sampling(PointList &randPoints, typedef RandomPointGenerator RandomPointGenerator; Point p = starting_point; - - RandomPointGenerator::apply(P, p, nburns, walk_len, randPoints, - push_back_policy, rng, WalkType.param); - randPoints.clear(); + if (nburns > 0) { + RandomPointGenerator::apply(P, p, nburns, walk_len, randPoints, + push_back_policy, rng, WalkType.param); + randPoints.clear(); + } RandomPointGenerator::apply(P, p, rnum, walk_len, randPoints, push_back_policy, rng, WalkType.param); } @@ -122,10 +125,11 @@ void uniform_sampling_boundary(PointList &randPoints, Point p = starting_point; typedef BoundaryRandomPointGenerator BoundaryRandomPointGenerator; - BoundaryRandomPointGenerator::apply(P, p, nburns, walk_len, - randPoints, push_back_policy, rng); - - randPoints.clear(); + if (nburns > 0) { + BoundaryRandomPointGenerator::apply(P, p, nburns, walk_len, + randPoints, push_back_policy, rng); + randPoints.clear(); + } unsigned int n = rnum / 2; BoundaryRandomPointGenerator::apply(P, p, rnum / 2, walk_len, randPoints, push_back_policy, rng); @@ -164,9 +168,11 @@ void gaussian_sampling(PointList &randPoints, Point p = starting_point; typedef GaussianRandomPointGenerator RandomPointGenerator; - RandomPointGenerator::apply(P, p, a, nburns, walk_len, randPoints, - push_back_policy, rng); - randPoints.clear(); + if (nburns > 0) { + RandomPointGenerator::apply(P, p, a, nburns, walk_len, randPoints, + push_back_policy, rng); + randPoints.clear(); + } RandomPointGenerator::apply(P, p, a, rnum, walk_len, randPoints, push_back_policy, rng); @@ -205,13 +211,13 @@ void gaussian_sampling(PointList &randPoints, Point p = starting_point; typedef GaussianRandomPointGenerator RandomPointGenerator; - RandomPointGenerator::apply(P, p, a, nburns, walk_len, randPoints, - push_back_policy, rng, WalkType.param); - randPoints.clear(); + if (nburns > 0) { + RandomPointGenerator::apply(P, p, a, nburns, walk_len, randPoints, + push_back_policy, rng, WalkType.param); + randPoints.clear(); + } RandomPointGenerator::apply(P, p, a, rnum, walk_len, randPoints, push_back_policy, rng, WalkType.param); - - } template < @@ -264,82 +270,18 @@ void logconcave_sampling(PointList &randPoints, Point p = starting_point; typedef LogconcaveRandomPointGenerator RandomPointGenerator; - RandomPointGenerator::apply(P, p, nburns, walk_len, randPoints, - push_back_policy, rng, F, f, params); + if (nburns > 0) { + RandomPointGenerator::apply(P, p, nburns, walk_len, randPoints, + push_back_policy, rng, F, f, params); - randPoints.clear(); + randPoints.clear(); + } RandomPointGenerator::apply(P, p, rnum, walk_len, randPoints, push_back_policy, rng, F, f, params); } -template -< - typename Walk -> -struct ExponentialRandomPointGenerator -{ - template - < - typename Polytope, - typename Point, - typename NT, - typename PointList, - typename WalkPolicy, - typename RandomNumberGenerator - > - static void apply(Polytope const& P, - Point &p, // a point to start - Point const& c, // bias function - NT const& T, // temperature/variance - unsigned int const& rnum, - unsigned int const& walk_length, - PointList &randPoints, - WalkPolicy &policy, - RandomNumberGenerator &rng) - { - Walk walk(P, p, c, T, rng); - for (unsigned int i=0; i - static void apply(Polytope const& P, - Point &p, // a point to start - Point const& c, // bias function - NT const& T, // temperature/variance - unsigned int const& rnum, - unsigned int const& walk_length, - PointList &randPoints, - WalkPolicy &policy, - RandomNumberGenerator &rng, - Parameters const& parameters) - { - Walk walk(P, p, c, T, rng, parameters); - - for (unsigned int i=0; i walk; - //RandomNumberGenerator rng(P.dimension()); PushBackWalkPolicy push_back_policy; Point p = starting_point; typedef ExponentialRandomPointGenerator RandomPointGenerator; - RandomPointGenerator::apply(P, p, c, a, nburns, walk_len, randPoints, - push_back_policy, rng); - randPoints.clear(); + if (nburns > 0) { + RandomPointGenerator::apply(P, p, c, a, nburns, walk_len, randPoints, + push_back_policy, rng); + randPoints.clear(); + } RandomPointGenerator::apply(P, p, c, a, rnum, walk_len, randPoints, push_back_policy, rng); } @@ -406,15 +349,16 @@ void exponential_sampling(PointList &randPoints, RandomNumberGenerator > walk; - //RandomNumberGenerator rng(P.dimension()); PushBackWalkPolicy push_back_policy; Point p = starting_point; typedef ExponentialRandomPointGenerator RandomPointGenerator; - RandomPointGenerator::apply(P, p, c, a, nburns, walk_len, randPoints, - push_back_policy, rng, WalkType.param); - randPoints.clear(); + if (nburns > 0) { + RandomPointGenerator::apply(P, p, c, a, nburns, walk_len, randPoints, + push_back_policy, rng, WalkType.param); + randPoints.clear(); + } RandomPointGenerator::apply(P, p, c, a, rnum, walk_len, randPoints, push_back_policy, rng, WalkType.param); } From 127d3718f5baa4f93a985b38640c46ab70794d00 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sun, 7 Mar 2021 23:52:49 +0200 Subject: [PATCH 08/63] initial implementation of the random walk --- .../random_walks/exponential_hmc_leapfrog.hpp | 225 ++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 include/random_walks/exponential_hmc_leapfrog.hpp diff --git a/include/random_walks/exponential_hmc_leapfrog.hpp b/include/random_walks/exponential_hmc_leapfrog.hpp new file mode 100644 index 000000000..fc7e156f0 --- /dev/null +++ b/include/random_walks/exponential_hmc_leapfrog.hpp @@ -0,0 +1,225 @@ +// VolEsti (volume computation and sampling library) + +// Copyright (c) 2012-2020 Vissarion Fisikopoulos +// Copyright (c) 2018-2020 Apostolos Chalkis + +// Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef RANDOM_WALKS_HAMILTONIAN_HMC_LEAPFROG_HPP +#define RANDOM_WALKS_HAMILTONIAN_HMC_LEAPFROG_HPP + +#include "sampling/sphere.hpp" + + +// Billiard walk which accelarates each step for uniform distribution + +struct HMCLeafrogExponential +{ + HMCLeafrogExponential(double L) + : param(L, true) + {} + + HMCLeafrogExponential() + : param(0, false) + {} + + struct parameters + { + parameters(double L, bool set) + : m_L(L), set_L(set) + {} + double m_L; + bool set_L; + }; + + struct update_parameters + { + update_parameters() + : facet_prev(0), hit_ball(false), inner_vi_ak(0.0), ball_inner_norm(0.0) + {} + int facet_prev; + bool hit_ball; + double inner_vi_ak; + double ball_inner_norm; + }; + + parameters param; + + + template + < + typename Polytope, + typename RandomNumberGenerator + > + struct Walk + { + typedef typename Polytope::PointType Point; + typedef typename Polytope::MT MT; + typedef typename Point::FT NT; + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, + RandomNumberGenerator &rng, NT const& eta) + { + _update_parameters = update_parameters(); + NT L = compute_diameter + ::template compute(P); + _steps = int(L / eta); + _eta = eta; + _AA.noalias() = P.get_mat() * P.get_mat().transpose(); + _Ac = P.get_mat() * c.getCoefficients(); + initialize(P, p, rng); + } + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng, + parameters const& params) + { + _update_parameters = update_parameters(); + _eta = params.eta; + if (params.set_steps) { + _steps = params.step; + } else { + NT L = compute_diameter + ::template compute(P); + _steps = int(L / _eta); + } + _L = params.set_L ? params.m_L + : compute_diameter + ::template compute(P); + _AA.noalias() = P.get_mat() * P.get_mat().transpose(); + _Ac = P.get_mat() * c.getCoefficients(); + initialize(P, p, rng); + } + + template + < + typename GenericPolytope + > + inline void apply(GenericPolytope const& P, + Point &p, // a point to start + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T; + const NT dl = 0.995; + int it; + + for (auto j=0u; j::apply(n, rng); + Point p0 = _p; + + it = 0; + std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _update_parameters); + if (T <= pbpair.first) { + _p += (T * _v); + _lambda_prev = T; + continue; + } + + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _v); + T -= _lambda_prev; + P.compute_reflection(_v, _p, _update_parameters); + it++; + + while (it < 100*n) + { + std::pair pbpair + = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); + if (T <= pbpair.first) { + _p += (T * _v); + _lambda_prev = T; + break; + } + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _v); + T -= _lambda_prev; + P.compute_reflection(_v, _p, _update_parameters); + it++; + } + if (it == 100*n) _p = p0; + } + p = _p; + } + + inline void update_delta(NT L) + { + _L = L; + } + + private : + + template + < + typename GenericPolytope + > + inline void initialize(GenericPolytope const& P, + Point const& p, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + const NT dl = 0.995; + _lambdas.setZero(P.num_of_hyperplanes()); + _Av.setZero(P.num_of_hyperplanes()); + _p = p; + _v = GetDirection::apply(n, rng); + + NT T = -std::log(rng.sample_urdist()) * _L; + Point p0 = _p; + int it = 0; + + std::pair pbpair + = P.line_first_positive_intersect(_p, _v, _lambdas, _Av, _update_parameters); + if (T <= pbpair.first) { + _p += (T * _v); + _lambda_prev = T; + return; + } + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _v); + T -= _lambda_prev; + P.compute_reflection(_v, _p, _update_parameters); + + while (it <= 100*n) + { + std::pair pbpair + = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); + if (T <= pbpair.first) { + _p += (T * _v); + _lambda_prev = T; + break; + } else if (it == 100*n) { + _lambda_prev = rng.sample_urdist() * pbpair.first; + _p += (_lambda_prev * _v); + break; + } + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _v); + T -= _lambda_prev; + P.compute_reflection(_v, _p, _update_parameters); + it++; + } + } + + Point _p; + Point _v; + NT _lambda_prev, _eta, _steps; + MT _AA; + update_parameters _update_parameters; + typename Point::Coeff _lambdas; + typename Point::Coeff _Av; + }; + +}; + + +#endif + + + From 8e360648663c29543162ab217651d77458479f8c Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 00:19:54 +0200 Subject: [PATCH 09/63] improve R documentation and resolve gcc compile error --- .../random_walks/exponential_hamiltonian_monte_carlo_walk.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp index d15b669f0..81407206b 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp @@ -191,7 +191,7 @@ private : Point _v; Point _c; NT _Temp; - NT const _tol = 1e-10; + const double _tol = 1e-10; NT _lambda_prev; int _facet_prev; typename Point::Coeff _lambdas; From 436a780bee205e6a40f71d0b7b4ab463479b7449 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 00:23:24 +0200 Subject: [PATCH 10/63] improve R documentation --- R-proj/src/sample_points.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 6461adfa9..e2f63985b 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -238,18 +238,19 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo //' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} //' \item{\code{BaW_rad} }{ The radius for the ball walk.} //' \item{\code{L} }{ The maximum length of the billiard trajectory or the radius for the step of dikin, vaidya or john walk.} -//' \item{\code{solver}} {Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} -//' \item{\code{step_size} {Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} +//' \item{\code{solver} }{ Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} +//' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} //' } //' @param distribution Optional. A list that declares the target density and some related parameters as follows: //' \itemize{ -//' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution. The default target distribution is uniform. c) Logconcave with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex. } -//' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian. The default value is 1.} +//' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution c) \code{logconcave} with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex d) \code{'exponential'} for the exponential distribution. The default target distribution is uniform. } +//' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian or the exponential distribution. The default value is 1.} //' \item{\code{mode} }{ A \eqn{d}-dimensional numerical vector that declares the mode of the Gaussian distribution. The default choice is the center of the as that one computed by the function \code{inner_ball()}.} -//' \item{\code{L_}} { Smoothness constant (for logconcave). } -//' \item{\code{m}} { Strong-convexity constant (for logconcave). } -//' \item{\code{negative_logprob}} { Negative log-probability (for logconcave). } -//' \item{\code{negative_logprob_gradient}} { Negative log-probability gradient (for logconcave). } +//' \item{\code{bias} }{ The bias vector for the exponential distribution. The default vector is \eqn{c_1 = 1} and \eqn{c_i = 0} for \eqn{i \neq 1}.} +//' \item{\code{L_} }{ Smoothness constant (for logconcave). } +//' \item{\code{m} }{ Strong-convexity constant (for logconcave). } +//' \item{\code{negative_logprob} }{ Negative log-probability (for logconcave). } +//' \item{\code{negative_logprob_gradient} }{ Negative log-probability gradient (for logconcave). } //' } //' @param seed Optional. A fixed seed for the number generator. //' From 1ba240e2d945c94c24d2419c37f74468f332cd79 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 01:27:00 +0200 Subject: [PATCH 11/63] initial implementation of hmc-leapfrog --- .../random_walks/exponential_hmc_leapfrog.hpp | 113 +++++++++++------- 1 file changed, 69 insertions(+), 44 deletions(-) diff --git a/include/random_walks/exponential_hmc_leapfrog.hpp b/include/random_walks/exponential_hmc_leapfrog.hpp index fc7e156f0..b49e28e94 100644 --- a/include/random_walks/exponential_hmc_leapfrog.hpp +++ b/include/random_walks/exponential_hmc_leapfrog.hpp @@ -17,8 +17,8 @@ struct HMCLeafrogExponential { - HMCLeafrogExponential(double L) - : param(L, true) + HMCLeafrogExponential(double steps) + : param(steps, true) {} HMCLeafrogExponential() @@ -27,11 +27,11 @@ struct HMCLeafrogExponential struct parameters { - parameters(double L, bool set) - : m_L(L), set_L(set) + parameters(double steps, bool set) + : nsteps(steps), set_steps(set) {} - double m_L; - bool set_L; + double nsteps; + bool set_steps; }; struct update_parameters @@ -68,6 +68,7 @@ struct HMCLeafrogExponential ::template compute(P); _steps = int(L / eta); _eta = eta; + _c = c; _AA.noalias() = P.get_mat() * P.get_mat().transpose(); _Ac = P.get_mat() * c.getCoefficients(); initialize(P, p, rng); @@ -86,10 +87,8 @@ struct HMCLeafrogExponential ::template compute(P); _steps = int(L / _eta); } - _L = params.set_L ? params.m_L - : compute_diameter - ::template compute(P); _AA.noalias() = P.get_mat() * P.get_mat().transpose(); + _c = c; _Ac = P.get_mat() * c.getCoefficients(); initialize(P, p, rng); } @@ -98,7 +97,7 @@ struct HMCLeafrogExponential < typename GenericPolytope > - inline void apply(GenericPolytope const& P, + inline bool apply(GenericPolytope const& P, Point &p, // a point to start unsigned int const& walk_length, RandomNumberGenerator &rng) @@ -110,42 +109,66 @@ struct HMCLeafrogExponential for (auto j=0u; j::apply(n, rng); - Point p0 = _p; - - it = 0; - std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _update_parameters); - if (T <= pbpair.first) { - _p += (T * _v); - _lambda_prev = T; - continue; - } - - _lambda_prev = dl * pbpair.first; - _p += (_lambda_prev * _v); - T -= _lambda_prev; - P.compute_reflection(_v, _p, _update_parameters); - it++; - - while (it < 100*n) + _v = GetDirection::apply(n, rng, false); + _p0 = p; + _H = _c.dot(_p) + _v.dot(_v); + for (auto k=0u; k<_steps; ++j) { - std::pair pbpair - = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); + T = _eta; + _v -= (_eta / 2.0) * _c; + + it = 0; + std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, + _lambda_prev, _update_parameters); if (T <= pbpair.first) { _p += (T * _v); + _v -= (_eta / 2.0) * _c; _lambda_prev = T; - break; + continue; } + _lambda_prev = dl * pbpair.first; _p += (_lambda_prev * _v); T -= _lambda_prev; P.compute_reflection(_v, _p, _update_parameters); it++; + + while (it < 500*n) + { + std::pair pbpair + = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, + _AA, _update_parameters); + if (T <= pbpair.first) { + _p += (T * _v); + _v -= (_eta / 2.0) * _c; + _lambda_prev = T; + break; + } + _lambda_prev = dl * pbpair.first; + _p += (_lambda_prev * _v); + T -= _lambda_prev; + P.compute_reflection(_v, _p, _update_parameters); + it++; + } + } + _Htilde = _c.dot(_p) + _v.dot(_v); + + NT log_prob = _H - _Htilde < 0 ? _H - _Htilde : 0; + NT u_logprob = log(rng.sample_urdist()); + + if (u_logprob > log_prob) { + _p = _p0; + _Av = _Av_prev; + _lambda_prev = _lambda_prev_0; + _lambdas = _lambdas_prev; + } else { + _Av_prev = _Av; + _lambda_prev_0 = _lambda_prev; + _lambdas_prev = _lambdas; } - if (it == 100*n) _p = p0; } p = _p; + return true; } inline void update_delta(NT L) @@ -164,14 +187,13 @@ struct HMCLeafrogExponential RandomNumberGenerator &rng) { unsigned int n = P.dimension(); - const NT dl = 0.995; + const NT dl = 0.995, T = _eta; _lambdas.setZero(P.num_of_hyperplanes()); _Av.setZero(P.num_of_hyperplanes()); _p = p; - _v = GetDirection::apply(n, rng); + _v = GetDirection::apply(n, rng, false); + _v -= (_eta / 2.0) * _c; - NT T = -std::log(rng.sample_urdist()) * _L; - Point p0 = _p; int it = 0; std::pair pbpair @@ -186,7 +208,7 @@ struct HMCLeafrogExponential T -= _lambda_prev; P.compute_reflection(_v, _p, _update_parameters); - while (it <= 100*n) + while (it <= 500*n) { std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); @@ -194,7 +216,7 @@ struct HMCLeafrogExponential _p += (T * _v); _lambda_prev = T; break; - } else if (it == 100*n) { + } else if (it == 500*n) { _lambda_prev = rng.sample_urdist() * pbpair.first; _p += (_lambda_prev * _v); break; @@ -205,15 +227,18 @@ struct HMCLeafrogExponential P.compute_reflection(_v, _p, _update_parameters); it++; } + _Av_prev = _Av; + _lambda_prev_0 = _lambda_prev; + _lambdas_prev = _lambdas; } - Point _p; - Point _v; - NT _lambda_prev, _eta, _steps; + + Point _p, _v, _c, _p0; + NT _lambda_prev, _lambda_prev_0, _eta, _steps, _H, _Htilde; MT _AA; update_parameters _update_parameters; - typename Point::Coeff _lambdas; - typename Point::Coeff _Av; + typename Point::Coeff _lambdas, _lambdas_prev; + typename Point::Coeff _Av, _Av_prev; }; }; From 89b6fbbb4d7c211d3f2445f150aaa75dc6cf1a65 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 02:14:59 +0200 Subject: [PATCH 12/63] add the new walk to the R interface --- R-proj/src/sample_points.cpp | 73 ++++++++++++++----- .../random_walks/exponential_hmc_leapfrog.hpp | 28 +++---- 2 files changed, 71 insertions(+), 30 deletions(-) diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index e2f63985b..1cd17b4bf 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -37,6 +37,7 @@ enum random_walks { bcdhr, hmc, exponential_hmc, + exponential_hmc_leapfrog, uld }; @@ -53,8 +54,8 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo unsigned int const& walkL, unsigned int const& numpoints, bool const& gaussian, NT const& a, NT const& L, Point const& c, Point const& StartingPoint, unsigned int const& nburns, - bool const& set_L, random_walks walk, - NegativeGradientFunctor *F=NULL, NegativeLogprobFunctor *f=NULL, + bool const& set_L, bool const& set_nsteps, unsigned int const& nsteps, NT const& eta, + random_walks walk, NegativeGradientFunctor *F=NULL, NegativeLogprobFunctor *f=NULL, ode_solvers solver_type = no_solver) { switch (walk) @@ -139,6 +140,15 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo StartingPoint, nburns); } break; + case exponential_hmc_leapfrog: + if (set_nsteps) { + HMCLeafrogExponential WalkType(nsteps); + exponential_sampling(randPoints, P, rng, WalkType, walkL, numpoints, c, a, eta, StartingPoint, nburns); + } else { + exponential_sampling(randPoints, P, rng, walkL, numpoints, c, a, eta, + StartingPoint, nburns); + } + break; case ball_walk: if (set_L) { if (gaussian) { @@ -307,7 +317,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, typedef Eigen::Matrix MT; unsigned int type = Rcpp::as(P).field("type"), dim = Rcpp::as(P).field("dimension"), - walkL = 1, numpoints, nburns = 0; + walkL = 1, numpoints, nburns = 0, nsteps = 0; RcppFunctor::GradientFunctor *F = NULL; RcppFunctor::FunctionFunctor *f = NULL; @@ -322,8 +332,8 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, Point c(dim); NT radius = 1.0, L; - bool set_mode = false, gaussian = false, logconcave = false, - set_starting_point = false, set_L = false; + bool set_mode = false, gaussian = false, logconcave = false, exponential = false, set_eta = false, + set_starting_point = false, set_L = false, set_nsteps = false; random_walks walk; ode_solvers solver; // Used only for logconcave sampling @@ -345,7 +355,8 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, gaussian = true; } else if ( Rcpp::as(Rcpp::as(distribution)["density"]).compare(std::string("exponential")) == 0) { - walk = exponential_hmc; + walk = exponential_hmc_leapfrog; + exponential = true; } else if ( Rcpp::as(Rcpp::as(distribution)["density"]).compare(std::string("logconcave")) == 0) { logconcave = true; @@ -379,6 +390,22 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, c = Point(Rcpp::as(Rcpp::as(distribution)["bias"])); } + if (Rcpp::as(random_walk).containsElementNamed("number_of_steps")) { + nsteps = NT(Rcpp::as(Rcpp::as(random_walk)["number_of_steps"])); + if (nsteps <= 0) { + throw Rcpp::exception("Number of steps must be a positive integer"); + } + set_nsteps = true; + } + + if (Rcpp::as(random_walk).containsElementNamed("step_size")) { + eta = NT(Rcpp::as(Rcpp::as(random_walk)["step_size"])); + if (eta <= NT(0)) { + throw Rcpp::exception("Step size must be positive"); + } + set_eta = true; + } + if (Rcpp::as(distribution).containsElementNamed("negative_logprob") && Rcpp::as(distribution).containsElementNamed("negative_logprob_gradient")) { @@ -404,7 +431,6 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, throw Rcpp::exception("The strong-convexity constant is absent"); } - if (Rcpp::as(random_walk).containsElementNamed("step_size")) { eta = NT(Rcpp::as(Rcpp::as(random_walk)["step_size"])); if (eta <= NT(0)) { @@ -435,15 +461,20 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, } - if (!random_walk.isNotNull() || !Rcpp::as(random_walk).containsElementNamed("walk")) { - if (gaussian) { + if (exponential) { + if (type !=1) { + throw Rcpp::exception("Exponential sampling is supported only for H-polytopes"); + } + if (!set_eta) throw Rcpp::exception("You have to set the step size of the leapfrog method."); + walk = exponential_hmc_leapfrog; + } else if (gaussian) { if (type == 1) { walk = cdhr; } else { walk = rdhr; } - } else if(walk != exponential_hmc) { + } else { if (type == 1) { walk = accelarated_billiard; } else { @@ -499,14 +530,22 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, if (L <= 0.0) throw Rcpp::exception("L must be a postitive number!"); } } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("BRDHR")) == 0) { - if (gaussian) throw Rcpp::exception("Gaussian sampling from the boundary is not supported!"); + if (gaussian || exponential) throw Rcpp::exception("Gaussian sampling from the boundary is not supported!"); walk = brdhr; } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("BCDHR")) == 0) { if (gaussian) throw Rcpp::exception("Gaussian sampling from the boundary is not supported!"); walk = bcdhr; + } else if(Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("ExactHMC")) == 0) { + if (!exponential) throw Rcpp::exception("Exact HMC is supported only for exponential sampling."); + walk = exponential_hmc; } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("HMC")) == 0) { - if (!logconcave) throw Rcpp::exception("HMC is not supported for non first-order sampling"); - walk = hmc; + if (!logconcave || !exponential) throw Rcpp::exception("HMC is not supported for non first-order sampling"); + if (exponential) { + if (!set_eta) throw Rcpp::exception("You have to set the step size"); + walk = exponential_hmc_leapfrog; + } else { + walk = hmc; + } } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("ULD")) == 0) { if (!logconcave) throw Rcpp::exception("ULD is not supported for non first-order sampling"); walk = uld; @@ -559,7 +598,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, HP.shift(mode.getCoefficients()); } sample_from_polytope(HP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, - StartingPoint, nburns, set_L, walk, F, f, solver); + StartingPoint, nburns, set_L, set_nsteps, nsteps, eta, walk, F, f, solver); break; } case 2: { @@ -580,7 +619,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, VP.shift(mode.getCoefficients()); } sample_from_polytope(VP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, - StartingPoint, nburns, set_L, walk, F, f, solver); + StartingPoint, nburns, set_L, set_nsteps, nsteps, eta, walk, F, f, solver); break; } case 3: { @@ -601,7 +640,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, ZP.shift(mode.getCoefficients()); } sample_from_polytope(ZP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, - StartingPoint, nburns, set_L, walk, F, f, solver); + StartingPoint, nburns, set_L, set_nsteps, nsteps, eta, walk, F, f, solver); break; } case 4: { @@ -624,7 +663,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, VPcVP.shift(mode.getCoefficients()); } sample_from_polytope(VPcVP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, - StartingPoint, nburns, set_L, walk, F, f, solver); + StartingPoint, nburns, set_L, set_nsteps, nsteps, eta, walk, F, f, solver); break; } } diff --git a/include/random_walks/exponential_hmc_leapfrog.hpp b/include/random_walks/exponential_hmc_leapfrog.hpp index b49e28e94..1ce5a6aa0 100644 --- a/include/random_walks/exponential_hmc_leapfrog.hpp +++ b/include/random_walks/exponential_hmc_leapfrog.hpp @@ -13,11 +13,11 @@ #include "sampling/sphere.hpp" -// Billiard walk which accelarates each step for uniform distribution +// Hamiltonian Monte Carlo with leapfrog for sampling from the exponential distribution struct HMCLeafrogExponential { - HMCLeafrogExponential(double steps) + HMCLeafrogExponential(unsigned int steps) : param(steps, true) {} @@ -27,10 +27,10 @@ struct HMCLeafrogExponential struct parameters { - parameters(double steps, bool set) + parameters(unsigned int steps, bool set) : nsteps(steps), set_steps(set) {} - double nsteps; + unsigned int nsteps; bool set_steps; }; @@ -61,13 +61,14 @@ struct HMCLeafrogExponential template Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, - RandomNumberGenerator &rng, NT const& eta) + NT const& eta, RandomNumberGenerator &rng) { _update_parameters = update_parameters(); NT L = compute_diameter ::template compute(P); _steps = int(L / eta); _eta = eta; + _Temp = T; _c = c; _AA.noalias() = P.get_mat() * P.get_mat().transpose(); _Ac = P.get_mat() * c.getCoefficients(); @@ -75,11 +76,12 @@ struct HMCLeafrogExponential } template - Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng, - parameters const& params) + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, + NT const& eta, RandomNumberGenerator &rng, parameters const& params) { _update_parameters = update_parameters(); - _eta = params.eta; + _eta = eta; + _Temp = T; if (params.set_steps) { _steps = params.step; } else { @@ -115,14 +117,14 @@ struct HMCLeafrogExponential for (auto k=0u; k<_steps; ++j) { T = _eta; - _v -= (_eta / 2.0) * _c; + _v -= (_eta / (2.0 * _Temp)) * _c; it = 0; std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _update_parameters); if (T <= pbpair.first) { _p += (T * _v); - _v -= (_eta / 2.0) * _c; + _v -= (_eta / (2.0 * _Temp)) * _c; _lambda_prev = T; continue; } @@ -140,7 +142,7 @@ struct HMCLeafrogExponential _AA, _update_parameters); if (T <= pbpair.first) { _p += (T * _v); - _v -= (_eta / 2.0) * _c; + _v -= (_eta / (2.0 * _Temp)) * _c; _lambda_prev = T; break; } @@ -192,7 +194,7 @@ struct HMCLeafrogExponential _Av.setZero(P.num_of_hyperplanes()); _p = p; _v = GetDirection::apply(n, rng, false); - _v -= (_eta / 2.0) * _c; + _v -= (_eta / (2.0 * _Temp)) * _c; int it = 0; @@ -234,7 +236,7 @@ struct HMCLeafrogExponential Point _p, _v, _c, _p0; - NT _lambda_prev, _lambda_prev_0, _eta, _steps, _H, _Htilde; + NT _lambda_prev, _lambda_prev_0, _eta, _steps, _H, _Htilde, _Temp; MT _AA; update_parameters _update_parameters; typename Point::Coeff _lambdas, _lambdas_prev; From ca6db1bcefc118414a324b0ed329c95a466e8ee2 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 02:25:07 +0200 Subject: [PATCH 13/63] implement the C++ interface for the new walk --- .../random_walks/exponential_hmc_leapfrog.hpp | 3 +- include/random_walks/random_walks.hpp | 1 + include/sampling/random_point_generators.hpp | 67 +++++++++++++++ include/sampling/sampling.hpp | 84 +++++++++++++++++++ 4 files changed, 153 insertions(+), 2 deletions(-) diff --git a/include/random_walks/exponential_hmc_leapfrog.hpp b/include/random_walks/exponential_hmc_leapfrog.hpp index 1ce5a6aa0..afee26725 100644 --- a/include/random_walks/exponential_hmc_leapfrog.hpp +++ b/include/random_walks/exponential_hmc_leapfrog.hpp @@ -99,7 +99,7 @@ struct HMCLeafrogExponential < typename GenericPolytope > - inline bool apply(GenericPolytope const& P, + inline void apply(GenericPolytope const& P, Point &p, // a point to start unsigned int const& walk_length, RandomNumberGenerator &rng) @@ -170,7 +170,6 @@ struct HMCLeafrogExponential } } p = _p; - return true; } inline void update_delta(NT L) diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index 8d3ae59d5..2bb8768e5 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -21,6 +21,7 @@ #include "random_walks/uniform_vaidya_walk.hpp" #include "random_walks/uniform_accelerated_billiard_walk.hpp" #include "random_walks/exponential_hamiltonian_monte_carlo_walk.hpp" +#include "random_walks/exponential_hmc_leapfrog.hpp" #ifndef VOLESTIPY #include "random_walks/hamiltonian_monte_carlo_walk.hpp" #include "random_walks/langevin_walk.hpp" diff --git a/include/sampling/random_point_generators.hpp b/include/sampling/random_point_generators.hpp index fa4cae178..c5b7cf595 100644 --- a/include/sampling/random_point_generators.hpp +++ b/include/sampling/random_point_generators.hpp @@ -277,5 +277,72 @@ struct ExponentialRandomPointGenerator }; +template +< + typename Walk +> +struct ExponentialRandomPointGenerator +{ + template + < + typename Polytope, + typename Point, + typename NT, + typename PointList, + typename WalkPolicy, + typename RandomNumberGenerator + > + static void apply(Polytope const& P, + Point &p, // a point to start + Point const& c, // bias function + NT const& T, // temperature/variance + NT const& eta, + unsigned int const& rnum, + unsigned int const& walk_length, + PointList &randPoints, + WalkPolicy &policy, + RandomNumberGenerator &rng) + { + Walk walk(P, p, c, T, eta, rng); + for (unsigned int i=0; i + static void apply(Polytope const& P, + Point &p, // a point to start + Point const& c, // bias function + NT const& T, // temperature/variance + NT const& eta, + unsigned int const& rnum, + unsigned int const& walk_length, + PointList &randPoints, + WalkPolicy &policy, + RandomNumberGenerator &rng, + Parameters const& parameters) + { + Walk walk(P, p, c, T, eta, rng, parameters); + + for (unsigned int i=0; i +void exponential_sampling(PointList &randPoints, + Polytope &P, + RandomNumberGenerator &rng, + const unsigned int &walk_len, + const unsigned int &rnum, + const Point &c, + const NT &a, + const NT &eta, + const Point &starting_point, + unsigned int const& nburns) +{ + + typedef typename WalkTypePolicy::template Walk + < + Polytope, + RandomNumberGenerator + > walk; + + PushBackWalkPolicy push_back_policy; + + Point p = starting_point; + + typedef ExponentialRandomPointGenerator RandomPointGenerator; + if (nburns > 0) { + RandomPointGenerator::apply(P, p, c, a, eta, nburns, walk_len, randPoints, + push_back_policy, rng); + randPoints.clear(); + } + RandomPointGenerator::apply(P, p, c, a, eta, rnum, walk_len, randPoints, + push_back_policy, rng); +} + + +template < + typename PointList, + typename Polytope, + typename RandomNumberGenerator, + typename WalkTypePolicy, + typename NT, + typename Point + > +void exponential_sampling(PointList &randPoints, + Polytope &P, + RandomNumberGenerator &rng, + WalkTypePolicy &WalkType, + const unsigned int &walk_len, + const unsigned int &rnum, + const Point &c, + const NT &a, + const NT &eta, + const Point &starting_point, + unsigned int const& nburns) +{ + + typedef typename WalkTypePolicy::template Walk + < + Polytope, + RandomNumberGenerator + > walk; + + PushBackWalkPolicy push_back_policy; + + Point p = starting_point; + + typedef ExponentialRandomPointGenerator RandomPointGenerator; + if (nburns > 0) { + RandomPointGenerator::apply(P, p, c, a, eta, nburns, walk_len, randPoints, + push_back_policy, rng, WalkType.param); + randPoints.clear(); + } + RandomPointGenerator::apply(P, p, c, a, eta, rnum, walk_len, randPoints, + push_back_policy, rng, WalkType.param); +} + + #endif From cdc65721ac8255f39b28c70eb0ca28675ab0dfa0 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 03:49:47 +0200 Subject: [PATCH 14/63] fix compile and algorithmic errors --- R-proj/R/RcppExports.R | 17 +++++----- R-proj/src/sample_points.cpp | 9 ++--- R-proj/test_sam.R | 6 ++++ .../random_walks/exponential_hmc_leapfrog.hpp | 33 +++++++++---------- include/sampling/random_point_generators.hpp | 8 ----- 5 files changed, 36 insertions(+), 37 deletions(-) create mode 100644 R-proj/test_sam.R diff --git a/R-proj/R/RcppExports.R b/R-proj/R/RcppExports.R index 2af18a4b4..c09a727c8 100644 --- a/R-proj/R/RcppExports.R +++ b/R-proj/R/RcppExports.R @@ -302,18 +302,19 @@ rounding <- function(P, method = NULL, seed = NULL) { #' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} #' \item{\code{BaW_rad} }{ The radius for the ball walk.} #' \item{\code{L} }{ The maximum length of the billiard trajectory or the radius for the step of dikin, vaidya or john walk.} -#' \item{\code{solver}} {Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} -#' \item{\code{step_size} {Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} +#' \item{\code{solver} }{ Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} +#' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} #' } #' @param distribution Optional. A list that declares the target density and some related parameters as follows: #' \itemize{ -#' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution. The default target distribution is uniform. c) Logconcave with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex. } -#' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian. The default value is 1.} +#' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution c) \code{logconcave} with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex d) \code{'exponential'} for the exponential distribution. The default target distribution is uniform. } +#' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian or the exponential distribution. The default value is 1.} #' \item{\code{mode} }{ A \eqn{d}-dimensional numerical vector that declares the mode of the Gaussian distribution. The default choice is the center of the as that one computed by the function \code{inner_ball()}.} -#' \item{\code{L_}} { Smoothness constant (for logconcave). } -#' \item{\code{m}} { Strong-convexity constant (for logconcave). } -#' \item{\code{negative_logprob}} { Negative log-probability (for logconcave). } -#' \item{\code{negative_logprob_gradient}} { Negative log-probability gradient (for logconcave). } +#' \item{\code{bias} }{ The bias vector for the exponential distribution. The default vector is \eqn{c_1 = 1} and \eqn{c_i = 0} for \eqn{i \neq 1}.} +#' \item{\code{L_} }{ Smoothness constant (for logconcave). } +#' \item{\code{m} }{ Strong-convexity constant (for logconcave). } +#' \item{\code{negative_logprob} }{ Negative log-probability (for logconcave). } +#' \item{\code{negative_logprob_gradient} }{ Negative log-probability gradient (for logconcave). } #' } #' @param seed Optional. A fixed seed for the number generator. #' diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 1cd17b4bf..3a06aeec9 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -338,6 +338,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, random_walks walk; ode_solvers solver; // Used only for logconcave sampling + NT eta; std::list randPoints; std::pair InnerBall; Point mode(dim); @@ -378,9 +379,9 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, NT a = 0.5; if (Rcpp::as(distribution).containsElementNamed("variance")) { a = 1.0 / (2.0 * Rcpp::as(Rcpp::as(distribution)["variance"])); - if (walk == exponential_hmc) a = Rcpp::as(Rcpp::as(distribution)["variance"]); - if (!gaussian && walk != exponential_hmc) { - Rcpp::warning("The variance can be set only for Gaussian sampling!"); + if (exponential) a = Rcpp::as(Rcpp::as(distribution)["variance"]); + if (!gaussian && !exponential) { + Rcpp::warning("The variance can be set only for Gaussian and exponential sampling!"); } else if (a <= 0.0) { throw Rcpp::exception("The variance has to be positive!"); } @@ -539,7 +540,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, if (!exponential) throw Rcpp::exception("Exact HMC is supported only for exponential sampling."); walk = exponential_hmc; } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("HMC")) == 0) { - if (!logconcave || !exponential) throw Rcpp::exception("HMC is not supported for non first-order sampling"); + if (!logconcave && !exponential) throw Rcpp::exception("HMC is not supported for non first-order sampling"); if (exponential) { if (!set_eta) throw Rcpp::exception("You have to set the step size"); walk = exponential_hmc_leapfrog; diff --git a/R-proj/test_sam.R b/R-proj/test_sam.R new file mode 100644 index 000000000..2a6473570 --- /dev/null +++ b/R-proj/test_sam.R @@ -0,0 +1,6 @@ +library(volesti) + +P = gen_rand_hpoly(2, 7) +p = sample_points(P, n=2000, distribution = list("density"="exponential","bias"=c(0.7071068,0.7071068), + "variance"=1), + random_walk = list("walk"="HMC", "step_size"=1, "number_of_steps"=30)) \ No newline at end of file diff --git a/include/random_walks/exponential_hmc_leapfrog.hpp b/include/random_walks/exponential_hmc_leapfrog.hpp index afee26725..dcf2ae07c 100644 --- a/include/random_walks/exponential_hmc_leapfrog.hpp +++ b/include/random_walks/exponential_hmc_leapfrog.hpp @@ -71,7 +71,6 @@ struct HMCLeafrogExponential _Temp = T; _c = c; _AA.noalias() = P.get_mat() * P.get_mat().transpose(); - _Ac = P.get_mat() * c.getCoefficients(); initialize(P, p, rng); } @@ -83,7 +82,7 @@ struct HMCLeafrogExponential _eta = eta; _Temp = T; if (params.set_steps) { - _steps = params.step; + _steps = params.nsteps; } else { NT L = compute_diameter ::template compute(P); @@ -91,7 +90,6 @@ struct HMCLeafrogExponential } _AA.noalias() = P.get_mat() * P.get_mat().transpose(); _c = c; - _Ac = P.get_mat() * c.getCoefficients(); initialize(P, p, rng); } @@ -113,18 +111,18 @@ struct HMCLeafrogExponential { _v = GetDirection::apply(n, rng, false); _p0 = p; - _H = _c.dot(_p) + _v.dot(_v); - for (auto k=0u; k<_steps; ++j) + _H = _c.dot(_p) + 0.5 * _v.dot(_v); + for (auto k=0u; k<_steps; ++k) { T = _eta; - _v -= (_eta / (2.0 * _Temp)) * _c; + _v += (_eta / (-2.0 * _Temp)) * _c; it = 0; std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _update_parameters); if (T <= pbpair.first) { _p += (T * _v); - _v -= (_eta / (2.0 * _Temp)) * _c; + _v += (_eta / (-2.0 * _Temp)) * _c; _lambda_prev = T; continue; } @@ -142,7 +140,7 @@ struct HMCLeafrogExponential _AA, _update_parameters); if (T <= pbpair.first) { _p += (T * _v); - _v -= (_eta / (2.0 * _Temp)) * _c; + _v += (_eta / (-2.0 * _Temp)) * _c; _lambda_prev = T; break; } @@ -153,7 +151,7 @@ struct HMCLeafrogExponential it++; } } - _Htilde = _c.dot(_p) + _v.dot(_v); + _Htilde = _c.dot(_p) + 0.5 * _v.dot(_v); NT log_prob = _H - _Htilde < 0 ? _H - _Htilde : 0; NT u_logprob = log(rng.sample_urdist()); @@ -172,11 +170,6 @@ struct HMCLeafrogExponential p = _p; } - inline void update_delta(NT L) - { - _L = L; - } - private : template @@ -188,12 +181,13 @@ struct HMCLeafrogExponential RandomNumberGenerator &rng) { unsigned int n = P.dimension(); - const NT dl = 0.995, T = _eta; + const NT dl = 0.995; + NT T = _eta; _lambdas.setZero(P.num_of_hyperplanes()); _Av.setZero(P.num_of_hyperplanes()); _p = p; _v = GetDirection::apply(n, rng, false); - _v -= (_eta / (2.0 * _Temp)) * _c; + _v += (_eta / (-2.0 * _Temp)) * _c; int it = 0; @@ -202,6 +196,10 @@ struct HMCLeafrogExponential if (T <= pbpair.first) { _p += (T * _v); _lambda_prev = T; + + _Av_prev = _Av; + _lambda_prev_0 = _lambda_prev; + _lambdas_prev = _lambdas; return; } _lambda_prev = dl * pbpair.first; @@ -235,7 +233,8 @@ struct HMCLeafrogExponential Point _p, _v, _c, _p0; - NT _lambda_prev, _lambda_prev_0, _eta, _steps, _H, _Htilde, _Temp; + NT _lambda_prev, _lambda_prev_0, _eta, _H, _Htilde, _Temp; + unsigned int _steps; MT _AA; update_parameters _update_parameters; typename Point::Coeff _lambdas, _lambdas_prev; diff --git a/include/sampling/random_point_generators.hpp b/include/sampling/random_point_generators.hpp index c5b7cf595..a025bce15 100644 --- a/include/sampling/random_point_generators.hpp +++ b/include/sampling/random_point_generators.hpp @@ -274,15 +274,7 @@ struct ExponentialRandomPointGenerator policy.apply(randPoints, p); } } -}; - -template -< - typename Walk -> -struct ExponentialRandomPointGenerator -{ template < typename Polytope, From e93270b8740ed8a39219fac537f10bbabf395595 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 03:55:33 +0200 Subject: [PATCH 15/63] improve R documentation --- R-proj/src/sample_points.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 3a06aeec9..e2179ffd4 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -242,7 +242,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo //' @param n The number of points that the function is going to sample from the convex polytope. //' @param random_walk Optional. A list that declares the random walk and some related parameters as follows: //' \itemize{ -//' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method. The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} +//' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (only exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} //' \item{\code{walk_length} }{ The number of the steps per generated point for the random walk. The default value is \eqn{1}.} //' \item{\code{nburns} }{ The number of points to burn before start sampling. The default value is \eqn{1}.} //' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} @@ -250,6 +250,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo //' \item{\code{L} }{ The maximum length of the billiard trajectory or the radius for the step of dikin, vaidya or john walk.} //' \item{\code{solver} }{ Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} //' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} +//' \item{\code{number_of_steps }{ The number of steps for the leapfrog method, only for the exponential distribution.} //' } //' @param distribution Optional. A list that declares the target density and some related parameters as follows: //' \itemize{ From e9e2e08bd885cb13adf33647fef0a8a04a5a1686 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 12:34:23 +0200 Subject: [PATCH 16/63] improve comments and R interface --- R-proj/R/RcppExports.R | 3 ++- R-proj/src/sample_points.cpp | 12 ++++++------ include/random_walks/exponential_hmc_leapfrog.hpp | 6 ++---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/R-proj/R/RcppExports.R b/R-proj/R/RcppExports.R index c09a727c8..f7837109a 100644 --- a/R-proj/R/RcppExports.R +++ b/R-proj/R/RcppExports.R @@ -296,7 +296,7 @@ rounding <- function(P, method = NULL, seed = NULL) { #' @param n The number of points that the function is going to sample from the convex polytope. #' @param random_walk Optional. A list that declares the random walk and some related parameters as follows: #' \itemize{ -#' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method. The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} +#' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (only exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} #' \item{\code{walk_length} }{ The number of the steps per generated point for the random walk. The default value is \eqn{1}.} #' \item{\code{nburns} }{ The number of points to burn before start sampling. The default value is \eqn{1}.} #' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} @@ -304,6 +304,7 @@ rounding <- function(P, method = NULL, seed = NULL) { #' \item{\code{L} }{ The maximum length of the billiard trajectory or the radius for the step of dikin, vaidya or john walk.} #' \item{\code{solver} }{ Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} #' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} +#' \item{\code{number_of_steps }{ The number of steps for the leapfrog method, only for the exponential distribution.} #' } #' @param distribution Optional. A list that declares the target density and some related parameters as follows: #' \itemize{ diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index e2179ffd4..61b5bd331 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -2,8 +2,8 @@ // VolEsti (volume computation and sampling library) -// Copyright (c) 2012-2020 Vissarion Fisikopoulos -// Copyright (c) 2018-2020 Apostolos Chalkis +// Copyright (c) 2012-2021 Vissarion Fisikopoulos +// Copyright (c) 2018-2021 Apostolos Chalkis //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. @@ -242,19 +242,19 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo //' @param n The number of points that the function is going to sample from the convex polytope. //' @param random_walk Optional. A list that declares the random walk and some related parameters as follows: //' \itemize{ -//' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (only exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} +//' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential densities) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (only exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} //' \item{\code{walk_length} }{ The number of the steps per generated point for the random walk. The default value is \eqn{1}.} //' \item{\code{nburns} }{ The number of points to burn before start sampling. The default value is \eqn{1}.} //' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} //' \item{\code{BaW_rad} }{ The radius for the ball walk.} //' \item{\code{L} }{ The maximum length of the billiard trajectory or the radius for the step of dikin, vaidya or john walk.} //' \item{\code{solver} }{ Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} -//' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} -//' \item{\code{number_of_steps }{ The number of steps for the leapfrog method, only for the exponential distribution.} +//' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided. It is required for the exponential distribution.} +//' \item{\code{number_of_steps }{ Optionally the number of steps for the leapfrog method, only for the exponential distribution.} //' } //' @param distribution Optional. A list that declares the target density and some related parameters as follows: //' \itemize{ -//' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution c) \code{logconcave} with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex d) \code{'exponential'} for the exponential distribution. The default target distribution is uniform. } +//' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution c) \code{logconcave} with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex d) \code{'exponential'} for the exponential distribution. The default target distribution is the uniform distribution.} //' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian or the exponential distribution. The default value is 1.} //' \item{\code{mode} }{ A \eqn{d}-dimensional numerical vector that declares the mode of the Gaussian distribution. The default choice is the center of the as that one computed by the function \code{inner_ball()}.} //' \item{\code{bias} }{ The bias vector for the exponential distribution. The default vector is \eqn{c_1 = 1} and \eqn{c_i = 0} for \eqn{i \neq 1}.} diff --git a/include/random_walks/exponential_hmc_leapfrog.hpp b/include/random_walks/exponential_hmc_leapfrog.hpp index dcf2ae07c..db1ad6f71 100644 --- a/include/random_walks/exponential_hmc_leapfrog.hpp +++ b/include/random_walks/exponential_hmc_leapfrog.hpp @@ -1,9 +1,7 @@ // VolEsti (volume computation and sampling library) -// Copyright (c) 2012-2020 Vissarion Fisikopoulos -// Copyright (c) 2018-2020 Apostolos Chalkis - -// Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis // Licensed under GNU LGPL.3, see LICENCE file From 1ab3362ba8d1ad7d322fb05e89d24fc996d65397 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 13:37:26 +0200 Subject: [PATCH 17/63] initial implementation of the Exact HMC for gaussian dist. --- .../random_walks/gaussian_exact_hmc_walk.hpp | 191 ++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 include/random_walks/gaussian_exact_hmc_walk.hpp diff --git a/include/random_walks/gaussian_exact_hmc_walk.hpp b/include/random_walks/gaussian_exact_hmc_walk.hpp new file mode 100644 index 000000000..9a3f2a04b --- /dev/null +++ b/include/random_walks/gaussian_exact_hmc_walk.hpp @@ -0,0 +1,191 @@ +/ VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef RANDOM_WALKS_GAUSSIAN_HMC_WALK_HPP +#define RANDOM_WALKS_GAUSSIAN_HMC_WALK_HPP + +#include "sampling/sphere.hpp" + + + +// Exact HMC for sampling from the spherical Gaussian distribution + +struct ExactHMCGaussianWalk +{ + ExactHMCGaussianWalk(double L) + : param(L, true) + {} + + ExactHMCGaussianWalk() + : param(0, false) + {} + + + struct parameters + { + parameters(double L, bool set) + : m_L(L), set_L(set) + {} + double m_L; + bool set_L; + }; + + parameters param; + + +template +< + typename Polytope, + typename RandomNumberGenerator +> +struct Walk +{ + typedef typename Polytope::PointType Point; + typedef typename Point::FT NT; + typedef typename Polytope::VT VT; + + template + Walk(GenericPolytope const& P, Point const& p, NT const& a_i, RandomNumberGenerator &rng) + { + _Len = compute_diameter + ::template compute(P); + _omega = std::sqrt(NT(2) * a_i); + initialize(P, p, a_i, rng); + } + + template + Walk(GenericPolytope const& P, Point const& p, NT const& a_i, RandomNumberGenerator &rng, + parameters const& params) + { + _Len = params.set_L ? params.m_L + : compute_diameter + ::template compute(P); + _omega = std::sqrt(NT(2) * a_i); + initialize(P, p, a_i, rng); + } + + template + < + typename GenericPolytope + > + inline void apply(GenericPolytope const& P, + Point& p, + NT const& a_i, + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T; + const NT dl = 0.995; + + for (auto j=0u; j::apply(n, rng, false); + Point p0 = _p; + int it = 0; + while (it < 100*n) + { + auto pbpair = P.trigonometric_positive_intersect(_p, _v, _omega); + if (T <= pbpair.first) { + update_position(_p, _v, T, _omega); + break; + } + _lambda_prev = dl * pbpair.first; + T -= _lambda_prev; + update_position(_p, _v, _lambda_prev, _omega); + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + if (it == 100*n){ + _p = p0; + } + } + p = _p; + } + + inline void update_delta(NT L) + { + _Len = L; + } + +private : + + template + < + typename GenericPolytope + > + inline void initialize(GenericPolytope const& P, + Point const& p, + NT const& a_i, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + const NT dl = 0.995; + _p = p; + _v = GetDirection::apply(n, rng, false); + + NT T = rng.sample_urdist() * _Len; + Point p0 = _p; + int it = 0; + + while (it <= 100*n) + { + auto pbpair + = P.trigonometric_positive_intersect(_p, _v, _omega); + if (T <= pbpair.first) { + update_position(_p, _v, T, _omega); + break; + }else if (it == 100*n) { + _lambda_prev = rng.sample_urdist() * pbpair.first; + update_position(_p, _v, _lambda_prev, _omega); + break; + } + _lambda_prev = dl * pbpair.first; + update_position(_p, _v, _lambda_prev, _omega); + T -= _lambda_prev; + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + } + + inline void update_position(Point &p, Point &v, NT const& T, NT const& omega) + { + NT C, Phi; + for (size_t i = 0; i < p.dimension(); i++) + { + C = std::sqrt(p[i] * p[i] + (v[i] * v[i]) / (omega * omega)); + Phi = std::atan((-v[i]) / (p[i] * omega)); + if (v[i] < 0.0 && Phi < 0.0) { + Phi += M_PI; + } else if (v[i] > 0.0 && Phi > 0.0) { + Phi -= M_PI; + } + p.set_coord(i, C * std::cos(omega * T + Phi)); + v.set_coord(i, -C * omega * std::sin(omega * T + Phi)); + } + + } + + NT _Len; + Point _p; + Point _v; + NT _omega; + NT _lambda_prev; +}; + +}; + + + + + + + + +#endif // RANDOM_WALKS_GAUSSIAN_HMC_WALK_HPP + From b9cf981907912605712836fe1d7388e878667b4b Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 13:52:10 +0200 Subject: [PATCH 18/63] add the new walk to C++ and R interfaces --- R-proj/src/sample_points.cpp | 20 ++++++++++++++++--- .../random_walks/gaussian_exact_hmc_walk.hpp | 4 ++-- include/random_walks/random_walks.hpp | 4 +++- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 61b5bd331..4bc650e7e 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -36,6 +36,7 @@ enum random_walks { brdhr, bcdhr, hmc, + gaussian_hmc, exponential_hmc, exponential_hmc_leapfrog, uld @@ -86,6 +87,15 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo StartingPoint, nburns); } break; + case gaussian_hmc: + if(set_L) { + ExactHMCGaussianWalk WalkType(L); + gaussian_sampling(randPoints, P, rng, WalkType, walkL, numpoints, a, StartingPoint, nburns); + } else { + gaussian_sampling(randPoints, P, rng, walkL, numpoints, a, + StartingPoint, nburns); + } + break; case vaidya_walk: if (set_L) { VaidyaWalk WalkType(L); @@ -242,7 +252,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo //' @param n The number of points that the function is going to sample from the convex polytope. //' @param random_walk Optional. A list that declares the random walk and some related parameters as follows: //' \itemize{ -//' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential densities) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (only exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} +//' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential densities) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (spherical Gaussian or exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} //' \item{\code{walk_length} }{ The number of the steps per generated point for the random walk. The default value is \eqn{1}.} //' \item{\code{nburns} }{ The number of points to burn before start sampling. The default value is \eqn{1}.} //' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} @@ -538,8 +548,12 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, if (gaussian) throw Rcpp::exception("Gaussian sampling from the boundary is not supported!"); walk = bcdhr; } else if(Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("ExactHMC")) == 0) { - if (!exponential) throw Rcpp::exception("Exact HMC is supported only for exponential sampling."); - walk = exponential_hmc; + if (!exponential && !gaussian) throw Rcpp::exception("Exact HMC is supported only for exponential or spherical Gaussian sampling."); + if(exponential){ + walk = exponential_hmc; + } else { + walk = gaussian_hmc; + } } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("HMC")) == 0) { if (!logconcave && !exponential) throw Rcpp::exception("HMC is not supported for non first-order sampling"); if (exponential) { diff --git a/include/random_walks/gaussian_exact_hmc_walk.hpp b/include/random_walks/gaussian_exact_hmc_walk.hpp index 9a3f2a04b..13dd94ca9 100644 --- a/include/random_walks/gaussian_exact_hmc_walk.hpp +++ b/include/random_walks/gaussian_exact_hmc_walk.hpp @@ -5,8 +5,8 @@ // Licensed under GNU LGPL.3, see LICENCE file -#ifndef RANDOM_WALKS_GAUSSIAN_HMC_WALK_HPP -#define RANDOM_WALKS_GAUSSIAN_HMC_WALK_HPP +#ifndef RANDOM_WALKS_GAUSSIAN_EXACT_HMC_WALK_HPP +#define RANDOM_WALKS_GAUSSIAN_EXACT_HMC_WALK_HPP #include "sampling/sphere.hpp" diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index 2bb8768e5..24c22c186 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -1,6 +1,7 @@ // VolEsti (volume computation and sampling library) -// Copyright (c) 2020 Vissarion Fisikopoulos +// Copyright (c) 2020-2021 Vissarion Fisikopoulos +// Copyright (c) 2020-2021 Apostolos Chalkis // Licensed under GNU LGPL.3, see LICENCE file @@ -22,6 +23,7 @@ #include "random_walks/uniform_accelerated_billiard_walk.hpp" #include "random_walks/exponential_hamiltonian_monte_carlo_walk.hpp" #include "random_walks/exponential_hmc_leapfrog.hpp" +#include "random_walks/gaussian_exact_hmc_walk.hpp" #ifndef VOLESTIPY #include "random_walks/hamiltonian_monte_carlo_walk.hpp" #include "random_walks/langevin_walk.hpp" From 2f01b3dc7fb9fd5078706f35614b652452951a08 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 14:30:07 +0200 Subject: [PATCH 19/63] implement boundary oracle --- R-proj/R/RcppExports.R | 8 +-- R-proj/src/sample_points.cpp | 2 +- R-proj/test_sampling.R | 4 ++ include/convex_bodies/hpolytope.h | 55 +++++++++++++++++++ include/convex_bodies/vpolyintersectvpoly.h | 6 ++ include/convex_bodies/vpolytope.h | 8 +++ include/convex_bodies/zpolytope.h | 6 ++ .../random_walks/gaussian_exact_hmc_walk.hpp | 2 +- 8 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 R-proj/test_sampling.R diff --git a/R-proj/R/RcppExports.R b/R-proj/R/RcppExports.R index f7837109a..804010cce 100644 --- a/R-proj/R/RcppExports.R +++ b/R-proj/R/RcppExports.R @@ -296,19 +296,19 @@ rounding <- function(P, method = NULL, seed = NULL) { #' @param n The number of points that the function is going to sample from the convex polytope. #' @param random_walk Optional. A list that declares the random walk and some related parameters as follows: #' \itemize{ -#' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (only exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} +#' \item{\code{walk} }{ A string to declare the random walk: i) \code{'CDHR'} for Coordinate Directions Hit-and-Run, ii) \code{'RDHR'} for Random Directions Hit-and-Run, iii) \code{'BaW'} for Ball Walk, iv) \code{'BiW'} for Billiard walk, v) \code{'dikin'} for dikin walk, vi) \code{'vaidya'} for vaidya walk, vii) \code{'john'} for john walk, viii) \code{'BCDHR'} boundary sampling by keeping the extreme points of CDHR or ix) \code{'BRDHR'} boundary sampling by keeping the extreme points of RDHR x) \code{'HMC'} for Hamiltonian Monte Carlo (logconcave or exponential densities) xi) \code{'ULD'} for Underdamped Langevin Dynamics using the Randomized Midpoint Method xii) \code{'ExactHMC'} for exact Hamiltonian Monte Carlo with reflections (spherical Gaussian or exponential distribution). The default walk is \code{'aBiW'} for the uniform distribution or \code{'CDHR'} for the Gaussian distribution and H-polytopes and \code{'BiW'} or \code{'RDHR'} for the same distributions and V-polytopes and zonotopes.} #' \item{\code{walk_length} }{ The number of the steps per generated point for the random walk. The default value is \eqn{1}.} #' \item{\code{nburns} }{ The number of points to burn before start sampling. The default value is \eqn{1}.} #' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} #' \item{\code{BaW_rad} }{ The radius for the ball walk.} #' \item{\code{L} }{ The maximum length of the billiard trajectory or the radius for the step of dikin, vaidya or john walk.} #' \item{\code{solver} }{ Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} -#' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} -#' \item{\code{number_of_steps }{ The number of steps for the leapfrog method, only for the exponential distribution.} +#' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided. It is required for the exponential distribution.} +#' \item{\code{number_of_steps }{ Optionally the number of steps for the leapfrog method, only for the exponential distribution.} #' } #' @param distribution Optional. A list that declares the target density and some related parameters as follows: #' \itemize{ -#' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution c) \code{logconcave} with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex d) \code{'exponential'} for the exponential distribution. The default target distribution is uniform. } +#' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution c) \code{logconcave} with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex d) \code{'exponential'} for the exponential distribution. The default target distribution is the uniform distribution.} #' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian or the exponential distribution. The default value is 1.} #' \item{\code{mode} }{ A \eqn{d}-dimensional numerical vector that declares the mode of the Gaussian distribution. The default choice is the center of the as that one computed by the function \code{inner_ball()}.} #' \item{\code{bias} }{ The bias vector for the exponential distribution. The default vector is \eqn{c_1 = 1} and \eqn{c_i = 0} for \eqn{i \neq 1}.} diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 4bc650e7e..dc969cb9d 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -550,7 +550,7 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, } else if(Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("ExactHMC")) == 0) { if (!exponential && !gaussian) throw Rcpp::exception("Exact HMC is supported only for exponential or spherical Gaussian sampling."); if(exponential){ - walk = exponential_hmc; + walk = exponential_hmc; } else { walk = gaussian_hmc; } diff --git a/R-proj/test_sampling.R b/R-proj/test_sampling.R new file mode 100644 index 000000000..d3b7f2c81 --- /dev/null +++ b/R-proj/test_sampling.R @@ -0,0 +1,4 @@ +library(volesti) + +P = gen_rand_hpoly(2, 7) +p = sample_points(P, n=2000, distribution = list("density"="gaussian", "variance"=1), random_walk = list("walk"="ExactHMC")) diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index e978e5e0d..52fe41e4b 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -757,6 +757,61 @@ class HPolytope { } + //------------oracle for exact hmc spherical gaussian sampling---------------// + + // compute intersection point of ray starting from r and pointing to v + // with polytope discribed by A and b + std::pair trigonometric_positive_intersect(Point const& r, Point const& v, + NT const& omega) const + { + + NT lamda = 0, C, Phi, t1, t2, tmin; + NT min_plus = std::numeric_limits::max(), t = std::numeric_limits::max(); + NT max_minus = std::numeric_limits::lowest(); + VT sum_nom, sum_denom; + unsigned int j; + int m = num_of_hyperplanes(), facet; + + + sum_nom.noalias() = A * r.getCoefficients(); + sum_denom.noalias() = A * v.getCoefficients(); + + NT* sum_nom_data = sum_nom.data(); + NT* sum_denom_data = sum_denom.data(); + const NT* b_data = b.data(); + + for (int i = 0; i < m; i++) { + + C = std::sqrt((*sum_nom_data)* (*sum_nom_data) + ((*sum_denom_data) * (*sum_denom_data)) / (omega * omega)); + Phi = std::atan((-(*sum_denom_data)) / ((*sum_nom_data) * omega)); + if ((*sum_denom_data) < 0.0 && Phi < 0.0) { + Phi += M_PI; + } else if ((*sum_denom_data) > 0.0 && Phi > 0.0) { + Phi -= M_PI; + } + + if (C > (*b_data)) { + + t1 = (std::acos((*b_data) / C) - Phi) / omega; + t1 += (t1 < 0.0) ? (2.0 * M_PI) / omega : 0.0; + + t2 = (-std::acos((*b_data) / C) - Phi) / omega; + t2 += (t2 < 0.0) ? (2.0 * M_PI) / omega : 0.0; + + tmin = std::min(t1, t2); + if (tmin < t) { + facet = i; + t = tmin; + } + } + + sum_nom_data++; + sum_denom_data++; + b_data++; + } + return std::make_pair(t, facet); + } + // Apply linear transformation, of square matrix T^{-1}, in H-polytope P:= Ax<=b void linear_transformIt(MT const& T) { diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index 19b5f8d60..b0c5ccc35 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -349,6 +349,12 @@ class IntersectionOfVpoly { return std::make_pair(0, 0); } + //------------oracle for exact hmc spherical gaussian sampling---------------// + std::pair trigonometric_positive_intersect(Point const& r, Point const& v, + NT const& omega) const + { + return std::make_pair(0, 0); + } // shift polytope by a point c void shift(const VT &c) { diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index ce6b1ffdf..d89fad78f 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -521,6 +521,14 @@ class VPolytope { } + //------------oracle for exact hmc spherical gaussian sampling---------------// + std::pair trigonometric_positive_intersect(Point const& r, Point const& v, + NT const& omega) const + { + return std::make_pair(0, 0); + } + + // shift polytope by a point c void shift(const VT &c) { MT V2 = V.transpose().colwise() - c; diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 2d1f781cc..361699301 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -507,6 +507,12 @@ class Zonotope { } + //------------oracle for exact hmc spherical gaussian sampling---------------// + std::pair trigonometric_positive_intersect(Point const& r, Point const& v, + NT const& omega) const + { + return std::make_pair(0, 0); + } // shift polytope by a point c // vector c has to be always the zero vector diff --git a/include/random_walks/gaussian_exact_hmc_walk.hpp b/include/random_walks/gaussian_exact_hmc_walk.hpp index 13dd94ca9..2fff0a81b 100644 --- a/include/random_walks/gaussian_exact_hmc_walk.hpp +++ b/include/random_walks/gaussian_exact_hmc_walk.hpp @@ -1,4 +1,4 @@ -/ VolEsti (volume computation and sampling library) +// VolEsti (volume computation and sampling library) // Copyright (c) 2021 Vissarion Fisikopoulos // Copyright (c) 2021 Apostolos Chalkis From 3140e11e136303adb0a22f56c644999e54b7d5fe Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 16:09:45 +0200 Subject: [PATCH 20/63] improve boundary oracle for exact hmc for gaussian sampling --- R-proj/test_sampling.R | 4 ---- include/convex_bodies/hpolytope.h | 24 +++++++++++++------ include/convex_bodies/vpolyintersectvpoly.h | 2 +- include/convex_bodies/vpolytope.h | 2 +- include/convex_bodies/zpolytope.h | 2 +- .../random_walks/gaussian_exact_hmc_walk.hpp | 21 ++++++++-------- 6 files changed, 30 insertions(+), 25 deletions(-) delete mode 100644 R-proj/test_sampling.R diff --git a/R-proj/test_sampling.R b/R-proj/test_sampling.R deleted file mode 100644 index d3b7f2c81..000000000 --- a/R-proj/test_sampling.R +++ /dev/null @@ -1,4 +0,0 @@ -library(volesti) - -P = gen_rand_hpoly(2, 7) -p = sample_points(P, n=2000, distribution = list("density"="gaussian", "variance"=1), random_walk = list("walk"="ExactHMC")) diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 52fe41e4b..1bb7fbde9 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -762,7 +762,7 @@ class HPolytope { // compute intersection point of ray starting from r and pointing to v // with polytope discribed by A and b std::pair trigonometric_positive_intersect(Point const& r, Point const& v, - NT const& omega) const + NT const& omega, int &facet_prev) const { NT lamda = 0, C, Phi, t1, t2, tmin; @@ -770,7 +770,7 @@ class HPolytope { NT max_minus = std::numeric_limits::lowest(); VT sum_nom, sum_denom; unsigned int j; - int m = num_of_hyperplanes(), facet; + int m = num_of_hyperplanes(), facet = -1; sum_nom.noalias() = A * r.getCoefficients(); @@ -782,7 +782,7 @@ class HPolytope { for (int i = 0; i < m; i++) { - C = std::sqrt((*sum_nom_data)* (*sum_nom_data) + ((*sum_denom_data) * (*sum_denom_data)) / (omega * omega)); + C = std::sqrt((*sum_nom_data) * (*sum_nom_data) + ((*sum_denom_data) * (*sum_denom_data)) / (omega * omega)); Phi = std::atan((-(*sum_denom_data)) / ((*sum_nom_data) * omega)); if ((*sum_denom_data) < 0.0 && Phi < 0.0) { Phi += M_PI; @@ -793,13 +793,21 @@ class HPolytope { if (C > (*b_data)) { t1 = (std::acos((*b_data) / C) - Phi) / omega; - t1 += (t1 < 0.0) ? (2.0 * M_PI) / omega : 0.0; - + if (facet_prev == i && std::abs(t1) < 1e-10){ + t1 = (2.0 * M_PI) / omega; + } + t2 = (-std::acos((*b_data) / C) - Phi) / omega; - t2 += (t2 < 0.0) ? (2.0 * M_PI) / omega : 0.0; + if (facet_prev == i && std::abs(t2) < 1e-10){ + t2 = (2.0 * M_PI) / omega; + } + + t1 += (t1 < NT(0)) ? (2.0 * M_PI) / omega : NT(0); + t2 += (t2 < NT(0)) ? (2.0 * M_PI) / omega : NT(0); tmin = std::min(t1, t2); - if (tmin < t) { + + if (tmin < t && tmin > NT(0)) { facet = i; t = tmin; } @@ -809,9 +817,11 @@ class HPolytope { sum_denom_data++; b_data++; } + facet_prev = facet; return std::make_pair(t, facet); } + // Apply linear transformation, of square matrix T^{-1}, in H-polytope P:= Ax<=b void linear_transformIt(MT const& T) { diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index b0c5ccc35..102bb12e4 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -351,7 +351,7 @@ class IntersectionOfVpoly { //------------oracle for exact hmc spherical gaussian sampling---------------// std::pair trigonometric_positive_intersect(Point const& r, Point const& v, - NT const& omega) const + NT const& omega, int &facet_prev) const { return std::make_pair(0, 0); } diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index d89fad78f..651fd8a4c 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -523,7 +523,7 @@ class VPolytope { //------------oracle for exact hmc spherical gaussian sampling---------------// std::pair trigonometric_positive_intersect(Point const& r, Point const& v, - NT const& omega) const + NT const& omega, int &facet_prev) const { return std::make_pair(0, 0); } diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 361699301..2e3916413 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -509,7 +509,7 @@ class Zonotope { //------------oracle for exact hmc spherical gaussian sampling---------------// std::pair trigonometric_positive_intersect(Point const& r, Point const& v, - NT const& omega) const + NT const& omega, int &facet_prev) const { return std::make_pair(0, 0); } diff --git a/include/random_walks/gaussian_exact_hmc_walk.hpp b/include/random_walks/gaussian_exact_hmc_walk.hpp index 2fff0a81b..c7a3c0ef7 100644 --- a/include/random_walks/gaussian_exact_hmc_walk.hpp +++ b/include/random_walks/gaussian_exact_hmc_walk.hpp @@ -80,7 +80,6 @@ struct Walk { unsigned int n = P.dimension(); NT T; - const NT dl = 0.995; for (auto j=0u; j::apply(n, rng, false); Point p0 = _p; int it = 0; - while (it < 100*n) + while (it < 200*n) { - auto pbpair = P.trigonometric_positive_intersect(_p, _v, _omega); + auto pbpair = P.trigonometric_positive_intersect(_p, _v, _omega, _facet_prev); if (T <= pbpair.first) { update_position(_p, _v, T, _omega); break; } - _lambda_prev = dl * pbpair.first; + _lambda_prev = pbpair.first; T -= _lambda_prev; update_position(_p, _v, _lambda_prev, _omega); P.compute_reflection(_v, _p, pbpair.second); it++; } - if (it == 100*n){ + if (it == 200*n){ _p = p0; } } @@ -125,27 +124,26 @@ private : RandomNumberGenerator &rng) { unsigned int n = P.dimension(); - const NT dl = 0.995; + _facet_prev = -1; _p = p; _v = GetDirection::apply(n, rng, false); NT T = rng.sample_urdist() * _Len; - Point p0 = _p; int it = 0; - while (it <= 100*n) + while (it <= 200*n) { auto pbpair - = P.trigonometric_positive_intersect(_p, _v, _omega); + = P.trigonometric_positive_intersect(_p, _v, _omega, _facet_prev); if (T <= pbpair.first) { update_position(_p, _v, T, _omega); break; - }else if (it == 100*n) { + }else if (it == 200*n) { _lambda_prev = rng.sample_urdist() * pbpair.first; update_position(_p, _v, _lambda_prev, _omega); break; } - _lambda_prev = dl * pbpair.first; + _lambda_prev = pbpair.first; update_position(_p, _v, _lambda_prev, _omega); T -= _lambda_prev; P.compute_reflection(_v, _p, pbpair.second); @@ -171,6 +169,7 @@ private : } + int _facet_prev; NT _Len; Point _p; Point _v; From 3e3345a6ffd06e42c8419cd28e0f749386713799 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 8 Mar 2021 16:12:07 +0200 Subject: [PATCH 21/63] remove test R script --- R-proj/test_sam.R | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 R-proj/test_sam.R diff --git a/R-proj/test_sam.R b/R-proj/test_sam.R deleted file mode 100644 index 2a6473570..000000000 --- a/R-proj/test_sam.R +++ /dev/null @@ -1,6 +0,0 @@ -library(volesti) - -P = gen_rand_hpoly(2, 7) -p = sample_points(P, n=2000, distribution = list("density"="exponential","bias"=c(0.7071068,0.7071068), - "variance"=1), - random_walk = list("walk"="HMC", "step_size"=1, "number_of_steps"=30)) \ No newline at end of file From eb9dab8c241c0c6c54853d3aae4fa2bf5cfb3616 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 9 Mar 2021 22:02:21 +0200 Subject: [PATCH 22/63] resolve PR reviews --- R-proj/R/RcppExports.R | 17 +- R-proj/src/copula.cpp | 2 + R-proj/src/direct_sampling.cpp | 2 + R-proj/src/exact_vol.cpp | 2 + R-proj/src/extractMatPoly.h | 1 + R-proj/src/frustum_of_simplex.cpp | 1 + R-proj/src/get_full_dimensional_polytope.cpp | 2 + R-proj/src/geweke.cpp | 2 + R-proj/src/inner_ball.cpp | 1 + R-proj/src/ode_solve.cpp | 2 + R-proj/src/poly_gen.cpp | 2 + R-proj/src/polytopes_modules.cpp | 2 + R-proj/src/psrf_multivariate.cpp | 2 + R-proj/src/psrf_univariate.cpp | 2 + R-proj/src/raftery.cpp | 2 + R-proj/src/rotating.cpp | 2 + R-proj/src/rounding.cpp | 2 + R-proj/src/sample_points.cpp | 12 +- R-proj/src/spectrahedron.cpp | 2 + R-proj/src/spectrahedron_module.cpp | 2 + R-proj/src/volume.cpp | 2 + R-proj/src/zonotope_approximation.cpp | 2 + include/convex_bodies/hpolytope.h | 58 ++--- include/convex_bodies/vpolyintersectvpoly.h | 14 +- include/convex_bodies/vpolytope.h | 14 +- include/convex_bodies/zpolytope.h | 14 +- ...ial_hamiltonian_monte_carlo_exact_walk.hpp | 205 ++++++++++++++++++ ...ponential_hamiltonian_monte_carlo_walk.hpp | 28 +-- include/random_walks/random_walks.hpp | 2 +- .../quadratic_polynomial_solvers.hpp | 15 +- 30 files changed, 355 insertions(+), 61 deletions(-) create mode 100644 include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp diff --git a/R-proj/R/RcppExports.R b/R-proj/R/RcppExports.R index 2af18a4b4..c09a727c8 100644 --- a/R-proj/R/RcppExports.R +++ b/R-proj/R/RcppExports.R @@ -302,18 +302,19 @@ rounding <- function(P, method = NULL, seed = NULL) { #' \item{\code{starting_point} }{ A \eqn{d}-dimensional numerical vector that declares a starting point in the interior of the polytope for the random walk. The default choice is the center of the ball as that one computed by the function \code{inner_ball()}.} #' \item{\code{BaW_rad} }{ The radius for the ball walk.} #' \item{\code{L} }{ The maximum length of the billiard trajectory or the radius for the step of dikin, vaidya or john walk.} -#' \item{\code{solver}} {Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} -#' \item{\code{step_size} {Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} +#' \item{\code{solver} }{ Specify ODE solver for logconcave sampling. Options are i) leapfrog, ii) euler iii) runge-kutta iv) richardson} +#' \item{\code{step_size }{ Optionally chosen step size for logconcave sampling. Defaults to a theoretical value if not provided.}} #' } #' @param distribution Optional. A list that declares the target density and some related parameters as follows: #' \itemize{ -#' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution. The default target distribution is uniform. c) Logconcave with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex. } -#' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian. The default value is 1.} +#' \item{\code{density} }{ A string: (a) \code{'uniform'} for the uniform distribution or b) \code{'gaussian'} for the multidimensional spherical distribution c) \code{logconcave} with form proportional to exp(-f(x)) where f(x) is L-smooth and m-strongly-convex d) \code{'exponential'} for the exponential distribution. The default target distribution is uniform. } +#' \item{\code{variance} }{ The variance of the multidimensional spherical gaussian or the exponential distribution. The default value is 1.} #' \item{\code{mode} }{ A \eqn{d}-dimensional numerical vector that declares the mode of the Gaussian distribution. The default choice is the center of the as that one computed by the function \code{inner_ball()}.} -#' \item{\code{L_}} { Smoothness constant (for logconcave). } -#' \item{\code{m}} { Strong-convexity constant (for logconcave). } -#' \item{\code{negative_logprob}} { Negative log-probability (for logconcave). } -#' \item{\code{negative_logprob_gradient}} { Negative log-probability gradient (for logconcave). } +#' \item{\code{bias} }{ The bias vector for the exponential distribution. The default vector is \eqn{c_1 = 1} and \eqn{c_i = 0} for \eqn{i \neq 1}.} +#' \item{\code{L_} }{ Smoothness constant (for logconcave). } +#' \item{\code{m} }{ Strong-convexity constant (for logconcave). } +#' \item{\code{negative_logprob} }{ Negative log-probability (for logconcave). } +#' \item{\code{negative_logprob_gradient} }{ Negative log-probability gradient (for logconcave). } #' } #' @param seed Optional. A fixed seed for the number generator. #' diff --git a/R-proj/src/copula.cpp b/R-proj/src/copula.cpp index ea5d7624a..c5bd3339b 100644 --- a/R-proj/src/copula.cpp +++ b/R-proj/src/copula.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/direct_sampling.cpp b/R-proj/src/direct_sampling.cpp index ab4108b82..8b34a7a40 100644 --- a/R-proj/src/direct_sampling.cpp +++ b/R-proj/src/direct_sampling.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/exact_vol.cpp b/R-proj/src/exact_vol.cpp index 4d887b09e..5c97811fc 100644 --- a/R-proj/src/exact_vol.cpp +++ b/R-proj/src/exact_vol.cpp @@ -5,6 +5,8 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/extractMatPoly.h b/R-proj/src/extractMatPoly.h index 5adb9d56b..6fd905a98 100644 --- a/R-proj/src/extractMatPoly.h +++ b/R-proj/src/extractMatPoly.h @@ -18,6 +18,7 @@ // Public License. If you did not receive this file along with HeaDDaCHe, // see . +#define RVOLESTI #ifndef EXTRACTMATPOLY_H #define EXTRACTMATPOLY_H diff --git a/R-proj/src/frustum_of_simplex.cpp b/R-proj/src/frustum_of_simplex.cpp index 5daeade61..cafac57a8 100644 --- a/R-proj/src/frustum_of_simplex.cpp +++ b/R-proj/src/frustum_of_simplex.cpp @@ -3,6 +3,7 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis +#define RVOLESTI #include #include diff --git a/R-proj/src/get_full_dimensional_polytope.cpp b/R-proj/src/get_full_dimensional_polytope.cpp index 1e95e2c91..55b4dbf20 100644 --- a/R-proj/src/get_full_dimensional_polytope.cpp +++ b/R-proj/src/get_full_dimensional_polytope.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/geweke.cpp b/R-proj/src/geweke.cpp index 6c3e74aaa..b36127fce 100644 --- a/R-proj/src/geweke.cpp +++ b/R-proj/src/geweke.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/inner_ball.cpp b/R-proj/src/inner_ball.cpp index ee79b0f77..ca4a7d878 100644 --- a/R-proj/src/inner_ball.cpp +++ b/R-proj/src/inner_ball.cpp @@ -2,6 +2,7 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis +#define RVOLESTI #include #include diff --git a/R-proj/src/ode_solve.cpp b/R-proj/src/ode_solve.cpp index 6ccec4ca8..65f069b40 100644 --- a/R-proj/src/ode_solve.cpp +++ b/R-proj/src/ode_solve.cpp @@ -8,6 +8,8 @@ //Contributed and/or modified by Marios Papachristou, as part of Google Summer of Code 2018 and 2019 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/poly_gen.cpp b/R-proj/src/poly_gen.cpp index aae864886..12dfb9460 100644 --- a/R-proj/src/poly_gen.cpp +++ b/R-proj/src/poly_gen.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/polytopes_modules.cpp b/R-proj/src/polytopes_modules.cpp index 19751f5fa..599f9a2f6 100644 --- a/R-proj/src/polytopes_modules.cpp +++ b/R-proj/src/polytopes_modules.cpp @@ -3,6 +3,8 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis +#define RVOLESTI + #include diff --git a/R-proj/src/psrf_multivariate.cpp b/R-proj/src/psrf_multivariate.cpp index 3fc28c8c6..5eeff8c9d 100644 --- a/R-proj/src/psrf_multivariate.cpp +++ b/R-proj/src/psrf_multivariate.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/psrf_univariate.cpp b/R-proj/src/psrf_univariate.cpp index 78fe53b76..316db3703 100644 --- a/R-proj/src/psrf_univariate.cpp +++ b/R-proj/src/psrf_univariate.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/raftery.cpp b/R-proj/src/raftery.cpp index 16813e68d..0eef0c8c3 100644 --- a/R-proj/src/raftery.cpp +++ b/R-proj/src/raftery.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/rotating.cpp b/R-proj/src/rotating.cpp index 7a69a1341..d0f270c11 100644 --- a/R-proj/src/rotating.cpp +++ b/R-proj/src/rotating.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/rounding.cpp b/R-proj/src/rounding.cpp index 5083c3c33..fa912e4f9 100644 --- a/R-proj/src/rounding.cpp +++ b/R-proj/src/rounding.cpp @@ -8,6 +8,8 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index e2f63985b..2625ae646 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -9,6 +9,8 @@ // Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. +#define RVOLESTI + #include #include #include @@ -132,10 +134,10 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo break; case exponential_hmc: if (set_L) { - HMCExponentialWalk WalkType(L); + ExponentialHamiltonianMonteCarloExactWalk WalkType(L); exponential_sampling(randPoints, P, rng, WalkType, walkL, numpoints, c, a, StartingPoint, nburns); } else { - exponential_sampling(randPoints, P, rng, walkL, numpoints, c, a, + exponential_sampling(randPoints, P, rng, walkL, numpoints, c, a, StartingPoint, nburns); } break; @@ -506,10 +508,10 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, walk = bcdhr; } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("HMC")) == 0) { if (!logconcave) throw Rcpp::exception("HMC is not supported for non first-order sampling"); - walk = hmc; + walk = hmc; } else if (Rcpp::as(Rcpp::as(random_walk)["walk"]).compare(std::string("ULD")) == 0) { - if (!logconcave) throw Rcpp::exception("ULD is not supported for non first-order sampling"); - walk = uld; + if (!logconcave) throw Rcpp::exception("ULD is not supported for non first-order sampling"); + walk = uld; } else { throw Rcpp::exception("Unknown walk type!"); } diff --git a/R-proj/src/spectrahedron.cpp b/R-proj/src/spectrahedron.cpp index 165fd98ca..dedc69a32 100644 --- a/R-proj/src/spectrahedron.cpp +++ b/R-proj/src/spectrahedron.cpp @@ -7,6 +7,8 @@ // Licensed under GNU LGPL.3, see LICENCE file +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/spectrahedron_module.cpp b/R-proj/src/spectrahedron_module.cpp index 27928ed4b..284bd42f9 100644 --- a/R-proj/src/spectrahedron_module.cpp +++ b/R-proj/src/spectrahedron_module.cpp @@ -7,6 +7,8 @@ // Licensed under GNU LGPL.3, see LICENCE file +#define RVOLESTI + #include class Spectrahedron { diff --git a/R-proj/src/volume.cpp b/R-proj/src/volume.cpp index ef3dcbec6..863b3797e 100644 --- a/R-proj/src/volume.cpp +++ b/R-proj/src/volume.cpp @@ -7,6 +7,8 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. +#define RVOLESTI + #include #include #include diff --git a/R-proj/src/zonotope_approximation.cpp b/R-proj/src/zonotope_approximation.cpp index 6acfdcc80..0f3aea42e 100644 --- a/R-proj/src/zonotope_approximation.cpp +++ b/R-proj/src/zonotope_approximation.cpp @@ -5,6 +5,8 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis +#define RVOLESTI + #include #include #include diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index e978e5e0d..4a9088544 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -643,17 +643,19 @@ class HPolytope { // compute intersection points of a ray starting from r and pointing to v // with polytope discribed by A and b - std::pair quadratic_positive_intersect(Point const& r, - Point const& v, - VT& Ac, - NT const& T, - VT& Ar, - VT& Av, - int& facet_prev) const + std::pair quadratic_positive_intersect(Point const& r, //current poistion + Point const& v, // current velocity + VT& Ac, // the product Ac where c is the bias vector of the exponential distribution + NT const& T, // the variance of the exponential distribution + VT& Ar, // the product Ar + VT& Av, // the product Av + int& facet_prev) const //the facet that the trajectory hit in the previous reflection { - NT lamda = 0, lamda2 =0, lamda1 =0, alpha; + NT lamda = 0; + NT lamda2 =0; + NT lamda1 =0; + NT alpha; NT min_plus = std::numeric_limits::max(); - NT max_minus = std::numeric_limits::lowest(); VT sum_nom; bool real; int m = num_of_hyperplanes(), facet = -1; @@ -670,7 +672,7 @@ class HPolytope { alpha = -((*Ac_data) / (2.0 * T)); solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2, real); if (real) { - lamda = pick_intersection_time(lamda1, lamda2, i, facet_prev); + lamda = pick_first_intersection_time_with_boundary(lamda1, lamda2, i, facet_prev); if (lamda < min_plus && lamda > 0) { min_plus = lamda; facet = i; @@ -684,21 +686,21 @@ class HPolytope { return std::make_pair(min_plus, facet); } - std::pair quadratic_positive_intersect(Point const& r, - Point const& v, - VT& Ac, - NT const& T, - VT& Ar, - VT& Av, - NT const& lambda_prev, - int& facet_prev) const + std::pair quadratic_positive_intersect(Point const& r, //current poistion + Point const& v, // current velocity + VT& Ac, // the product Ac where c is the bias vector of the exponential distribution + NT const& T, // the variance of the exponential distribution + VT& Ar, // the product Ar + VT& Av, // the product Av + NT const& lambda_prev, // the intersection time of the previous reflection + int& facet_prev) const //the facet that the trajectory hit in the previous reflection { - - NT lamda = 0, lamda2 =0, lamda1 =0, alpha; + NT lamda = 0; + NT lamda2 =0; + NT lamda1 =0; + NT alpha; NT min_plus = std::numeric_limits::max(); - NT max_minus = std::numeric_limits::lowest(); VT sum_nom; - NT mult; unsigned int j; int m = num_of_hyperplanes(), facet = -1; bool real; @@ -715,7 +717,7 @@ class HPolytope { alpha = -((*Ac_data) / (2.0 * T)); solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2, real); if (real) { - lamda = pick_intersection_time(lamda1, lamda2, i, facet_prev); + lamda = pick_first_intersection_time_with_boundary(lamda1, lamda2, i, facet_prev); if (lamda < min_plus && lamda > 0) { min_plus = lamda; facet = i; @@ -729,12 +731,16 @@ class HPolytope { return std::make_pair(min_plus, facet); } - NT pick_intersection_time(NT lamda1, NT lamda2, int current_facet, int previous_facet) const + NT pick_first_intersection_time_with_boundary(NT lamda1, NT lamda2, int current_facet, int previous_facet) const { + if (lamda1 == lamda2){ + return lamda1; + } NT lamda; + const double tol = 1e-10; if (lamda1 * lamda2 < NT(0)) { if (previous_facet == current_facet) { - if (std::max(lamda1, lamda2) < 1e-10) { + if (std::max(lamda1, lamda2) < NT(tol)) { lamda = std::min(lamda1, lamda2); } else { lamda = std::max(lamda1, lamda2); @@ -744,7 +750,7 @@ class HPolytope { } } else { if (previous_facet == current_facet) { - if (std::min(lamda1, lamda2) >= NT(0) && std::min(lamda1, lamda2) < 1e-10) { + if (std::min(lamda1, lamda2) >= NT(0) && std::min(lamda1, lamda2) < NT(tol)) { lamda = std::max(lamda1, lamda2); } else { lamda = std::min(lamda1, lamda2); diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index 19b5f8d60..bce12654c 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -334,7 +334,12 @@ class IntersectionOfVpoly { VT& Av, int& facet_prev) const { - return std::make_pair(0, 0); + #ifndef RVOLESTI + throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #else + throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #endif + //return std::make_pair(0, 0); } std::pair quadratic_positive_intersect(Point const& r, @@ -346,7 +351,12 @@ class IntersectionOfVpoly { NT const& lambda_prev, int& facet_prev) const { - return std::make_pair(0, 0); + #ifndef RVOLESTI + throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #else + throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #endif + //return std::make_pair(0, 0); } diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index ce6b1ffdf..0ea66b363 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -505,7 +505,12 @@ class VPolytope { VT& Av, int& facet_prev) const { - return std::make_pair(0, 0); + #ifndef RVOLESTI + throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #else + throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #endif + //return std::make_pair(0, 0); } std::pair quadratic_positive_intersect(Point const& r, @@ -517,7 +522,12 @@ class VPolytope { NT const& lambda_prev, int& facet_prev) const { - return std::make_pair(0, 0); + #ifndef RVOLESTI + throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #else + throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #endif + //return std::make_pair(0, 0); } diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 2d1f781cc..a6afaf412 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -491,7 +491,12 @@ class Zonotope { VT& Av, int& facet_prev) const { - return std::make_pair(0, 0); + #ifndef RVOLESTI + throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #else + throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #endif + //return std::make_pair(0, 0); } std::pair quadratic_positive_intersect(Point const& r, @@ -503,7 +508,12 @@ class Zonotope { NT const& lambda_prev, int& facet_prev) const { - return std::make_pair(0, 0); + #ifndef RVOLESTI + throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #else + throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + #endif + //return std::make_pair(0, 0); } diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp new file mode 100644 index 000000000..46910a31b --- /dev/null +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -0,0 +1,205 @@ +// VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP +#define RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP + +#include "sampling/sphere.hpp" + + +// Exact HMC for sampling from the Exponential distribution restricted to a convex polytope + +struct ExponentialHamiltonianMonteCarloExactWalk +{ + ExponentialHamiltonianMonteCarloExactWalk(double L) + : param(L, true) + {} + + ExponentialHamiltonianMonteCarloExactWalk() + : param(0, false) + {} + + struct parameters + { + parameters(double L, bool set) + : m_L(L), set_L(set) + {} + double m_L; + bool set_L; + }; + + parameters param; + + +template +< + typename Polytope, + typename RandomNumberGenerator +> +struct Walk +{ + typedef typename Polytope::PointType Point; + typedef typename Point::FT NT; + typedef typename Polytope::MT MT; + typedef typename Polytope::VT VT; + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng) + { + _Len = compute_diameter + ::template compute(P); + _Ac = P.get_mat() * c.getCoefficients(); + _Temp = T; + _c = c; + initialize(P, p, rng); + } + + template + Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng, + parameters const& params) + { + _Len = params.set_L ? params.m_L + : compute_diameter + ::template compute(P); + _Ac = P.get_mat() * c.getCoefficients(); + _Temp = T; + _c = c; + initialize(P, p, rng); + } + + template + < + typename GenericPolytope + > + inline bool apply(GenericPolytope const& P, + Point& p, // a point to start + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T; + int failures = 0, it; + Point p0; + + for (auto j=0u; j::apply(n, rng, false); + p0 = _p; + it = 0; + while (it < 200*n) + { + auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, + _Av, _lambda_prev, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { + _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + break; + } + _lambda_prev = pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + T -= _lambda_prev; + _v += (-_lambda_prev/_Temp) * _c; + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + + } while (P.is_in(_p, _tol) == 0); + if (it == 200*n){ + _p = p0; + } + } + p = _p; + return true; + } + + inline void update_delta(NT L) + { + _Len = L; + } + +private : + + template + < + typename GenericPolytope + > + inline void initialize(GenericPolytope const& P, + Point const& p, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T; + _lambdas.setZero(P.num_of_hyperplanes()); + _Av.setZero(P.num_of_hyperplanes()); + _p = p; + _v = GetDirection::apply(n, rng, false); + + do { + T = -std::log(rng.sample_urdist()) * _Len; + Point p0 = _p; + int it = 0; + + std::pair pbpair + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { + _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + return; + } + _lambda_prev = pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + _v += (-_lambda_prev/_Temp) * _c; + T -= _lambda_prev; + P.compute_reflection(_v, _p, pbpair.second); + + while (it <= 100*n) + { + std::pair pbpair + = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); + if (T <= pbpair.first || pbpair.second < 0) { + _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); + _lambda_prev = T; + break; + }else if (it == 100*n) { + _lambda_prev = rng.sample_urdist() * pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + break; + } + _lambda_prev = pbpair.first; + _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); + _v += (-_lambda_prev/_Temp) * _c; + T -= _lambda_prev; + P.compute_reflection(_v, _p, pbpair.second); + it++; + } + } while (P.is_in(_p, _tol) == 0); + } + + NT _Len; + VT _Ac; + Point _p; + Point _v; + Point _c; + NT _Temp; + const double _tol = 1e-10; + NT _lambda_prev; + int _facet_prev; + typename Point::Coeff _lambdas; + typename Point::Coeff _Av; +}; + +}; + + +#endif // RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP + diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp index 81407206b..b592c0dc1 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp @@ -5,21 +5,21 @@ // Licensed under GNU LGPL.3, see LICENCE file -#ifndef RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP -#define RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP +#ifndef RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP +#define RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP #include "sampling/sphere.hpp" // Exact HMC for sampling from the Exponential distribution restricted to a convex polytope -struct HMCExponentialWalk +struct ExponentialHamiltonianMonteCarloExactWalk { - HMCExponentialWalk(double L) + ExponentialHamiltonianMonteCarloExactWalk(double L) : param(L, true) {} - HMCExponentialWalk() + ExponentialHamiltonianMonteCarloExactWalk() : param(0, false) {} @@ -83,24 +83,25 @@ struct Walk unsigned int n = P.dimension(); NT T; int failures = 0, it; - Point p0; + Point p0 = _p; for (auto j=0u; j::apply(n, rng, false); - p0 = _p; + it = 0; - while (it < 200*n) + while (it < 100*n) { auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); - if (T <= pbpair.first || pbpair.second < 0) { + if (T <= pbpair.first) { _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); _lambda_prev = T; break; @@ -114,7 +115,7 @@ struct Walk } } while (P.is_in(_p, _tol) == 0); - if (it == 200*n){ + if (it == 100*n){ _p = p0; } } @@ -141,12 +142,11 @@ private : NT T; _lambdas.setZero(P.num_of_hyperplanes()); _Av.setZero(P.num_of_hyperplanes()); - _p = p; _v = GetDirection::apply(n, rng, false); do { - T = -std::log(rng.sample_urdist()) * _Len; - Point p0 = _p; + _p = p; + T = rng.sample_urdist())* _Len; int it = 0; std::pair pbpair diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index 8d3ae59d5..71ed93d1c 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -20,7 +20,7 @@ #include "random_walks/uniform_john_walk.hpp" #include "random_walks/uniform_vaidya_walk.hpp" #include "random_walks/uniform_accelerated_billiard_walk.hpp" -#include "random_walks/exponential_hamiltonian_monte_carlo_walk.hpp" +#include "random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp" #ifndef VOLESTIPY #include "random_walks/hamiltonian_monte_carlo_walk.hpp" #include "random_walks/langevin_walk.hpp" diff --git a/include/root_finders/quadratic_polynomial_solvers.hpp b/include/root_finders/quadratic_polynomial_solvers.hpp index 1b624faf8..22f09ed2e 100644 --- a/include/root_finders/quadratic_polynomial_solvers.hpp +++ b/include/root_finders/quadratic_polynomial_solvers.hpp @@ -19,12 +19,20 @@ template int sgn(T val) template void solve_quadratic_polynomial(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) { + real = true; + + if (a == NT(0)) { + x1 = -c / b; + x2 = x1; + return; + } + NT Delta = b * b - 4.0 * a * c; if (Delta < NT(0)) { real = false; return; } - real = true; + if (b >= NT(0)){ x1 = (- b - std::sqrt(Delta)) / (2.0 * a); x2 = (2.0 * c) / (- b - std::sqrt(Delta)); @@ -42,6 +50,11 @@ void solve_qudratic_polynomial_stable(NT a, NT b, NT c, NT &x1, NT &x2, bool &re { real = true; + if (a == NT(0)) { + x1 = x2 = -c / b; + return; + } + if (c == NT(0)) { x1 = NT(0); x2 = -b/a; From d1e9acf851ed2acf5f34a5477adedc225fda01d7 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 9 Mar 2021 22:20:33 +0200 Subject: [PATCH 23/63] fix compile errors --- include/convex_bodies/vpolyintersectvpoly.h | 4 ++-- include/convex_bodies/vpolytope.h | 4 ++-- include/convex_bodies/zpolytope.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index bce12654c..8986ba17a 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -335,7 +335,7 @@ class IntersectionOfVpoly { int& facet_prev) const { #ifndef RVOLESTI - throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); #else throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); #endif @@ -352,7 +352,7 @@ class IntersectionOfVpoly { int& facet_prev) const { #ifndef RVOLESTI - throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); #else throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); #endif diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index 0ea66b363..da85d821b 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -506,7 +506,7 @@ class VPolytope { int& facet_prev) const { #ifndef RVOLESTI - throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); #else throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); #endif @@ -523,7 +523,7 @@ class VPolytope { int& facet_prev) const { #ifndef RVOLESTI - throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); #else throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); #endif diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index a6afaf412..721f4f099 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -492,7 +492,7 @@ class Zonotope { int& facet_prev) const { #ifndef RVOLESTI - throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); #else throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); #endif @@ -509,7 +509,7 @@ class Zonotope { int& facet_prev) const { #ifndef RVOLESTI - throw std::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); #else throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); #endif From b982f139ff1ae384cc4ee3caf068dd591b54c7b5 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Thu, 11 Mar 2021 18:06:57 +0200 Subject: [PATCH 24/63] merge develop branch --- include/convex_bodies/vpolyintersectvpoly.h | 20 +- include/convex_bodies/vpolytope.h | 20 +- include/convex_bodies/zpolytope.h | 20 +- ...ial_hamiltonian_monte_carlo_exact_walk.hpp | 18 +- ...ponential_hamiltonian_monte_carlo_walk.hpp | 205 ------------------ 5 files changed, 39 insertions(+), 244 deletions(-) delete mode 100644 include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index 8986ba17a..5ed537630 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -334,11 +334,11 @@ class IntersectionOfVpoly { VT& Av, int& facet_prev) const { - #ifndef RVOLESTI - throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - #else - throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - #endif + //#ifndef RVOLESTI + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#else + // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#endif //return std::make_pair(0, 0); } @@ -351,11 +351,11 @@ class IntersectionOfVpoly { NT const& lambda_prev, int& facet_prev) const { - #ifndef RVOLESTI - throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - #else - throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - #endif + //#ifndef RVOLESTI + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#else + // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#endif //return std::make_pair(0, 0); } diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index da85d821b..de0b7242f 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -505,11 +505,11 @@ class VPolytope { VT& Av, int& facet_prev) const { - #ifndef RVOLESTI - throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - #else - throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - #endif + //#ifndef RVOLESTI + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#else + // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#endif //return std::make_pair(0, 0); } @@ -522,11 +522,11 @@ class VPolytope { NT const& lambda_prev, int& facet_prev) const { - #ifndef RVOLESTI - throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - #else - throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - #endif + //#ifndef RVOLESTI + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#else + // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#endif //return std::make_pair(0, 0); } diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 721f4f099..55cf0fffa 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -491,11 +491,11 @@ class Zonotope { VT& Av, int& facet_prev) const { - #ifndef RVOLESTI - throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - #else - throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - #endif + //#ifndef RVOLESTI + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#else + // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#endif //return std::make_pair(0, 0); } @@ -508,11 +508,11 @@ class Zonotope { NT const& lambda_prev, int& facet_prev) const { - #ifndef RVOLESTI - throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - #else - throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - #endif + //#ifndef RVOLESTI + throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#else + // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); + //#endif //return std::make_pair(0, 0); } diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index 46910a31b..1e2c90fb6 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -83,24 +83,25 @@ struct Walk unsigned int n = P.dimension(); NT T; int failures = 0, it; - Point p0; + Point p0 = _p; for (auto j=0u; j::apply(n, rng, false); - p0 = _p; + it = 0; - while (it < 200*n) + while (it < 100*n) { auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); - if (T <= pbpair.first || pbpair.second < 0) { + if (T <= pbpair.first) { _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); _lambda_prev = T; break; @@ -114,7 +115,7 @@ struct Walk } } while (P.is_in(_p, _tol) == 0); - if (it == 200*n){ + if (it == 100*n){ _p = p0; } } @@ -141,12 +142,11 @@ private : NT T; _lambdas.setZero(P.num_of_hyperplanes()); _Av.setZero(P.num_of_hyperplanes()); - _p = p; _v = GetDirection::apply(n, rng, false); do { - T = -std::log(rng.sample_urdist()) * _Len; - Point p0 = _p; + _p = p; + T = rng.sample_urdist()* _Len; int it = 0; std::pair pbpair diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp deleted file mode 100644 index b592c0dc1..000000000 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_walk.hpp +++ /dev/null @@ -1,205 +0,0 @@ -// VolEsti (volume computation and sampling library) -// Copyright (c) 2021 Vissarion Fisikopoulos -// Copyright (c) 2021 Apostolos Chalkis - - -// Licensed under GNU LGPL.3, see LICENCE file - -#ifndef RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP -#define RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP - -#include "sampling/sphere.hpp" - - -// Exact HMC for sampling from the Exponential distribution restricted to a convex polytope - -struct ExponentialHamiltonianMonteCarloExactWalk -{ - ExponentialHamiltonianMonteCarloExactWalk(double L) - : param(L, true) - {} - - ExponentialHamiltonianMonteCarloExactWalk() - : param(0, false) - {} - - struct parameters - { - parameters(double L, bool set) - : m_L(L), set_L(set) - {} - double m_L; - bool set_L; - }; - - parameters param; - - -template -< - typename Polytope, - typename RandomNumberGenerator -> -struct Walk -{ - typedef typename Polytope::PointType Point; - typedef typename Point::FT NT; - typedef typename Polytope::MT MT; - typedef typename Polytope::VT VT; - - template - Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng) - { - _Len = compute_diameter - ::template compute(P); - _Ac = P.get_mat() * c.getCoefficients(); - _Temp = T; - _c = c; - initialize(P, p, rng); - } - - template - Walk(GenericPolytope const& P, Point const& p, Point const& c, NT const& T, RandomNumberGenerator &rng, - parameters const& params) - { - _Len = params.set_L ? params.m_L - : compute_diameter - ::template compute(P); - _Ac = P.get_mat() * c.getCoefficients(); - _Temp = T; - _c = c; - initialize(P, p, rng); - } - - template - < - typename GenericPolytope - > - inline bool apply(GenericPolytope const& P, - Point& p, // a point to start - unsigned int const& walk_length, - RandomNumberGenerator &rng) - { - unsigned int n = P.dimension(); - NT T; - int failures = 0, it; - Point p0 = _p; - - for (auto j=0u; j::apply(n, rng, false); - - it = 0; - while (it < 100*n) - { - auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, - _Av, _lambda_prev, _facet_prev); - if (T <= pbpair.first) { - _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); - _lambda_prev = T; - break; - } - _lambda_prev = pbpair.first; - _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); - T -= _lambda_prev; - _v += (-_lambda_prev/_Temp) * _c; - P.compute_reflection(_v, _p, pbpair.second); - it++; - } - - } while (P.is_in(_p, _tol) == 0); - if (it == 100*n){ - _p = p0; - } - } - p = _p; - return true; - } - - inline void update_delta(NT L) - { - _Len = L; - } - -private : - - template - < - typename GenericPolytope - > - inline void initialize(GenericPolytope const& P, - Point const& p, - RandomNumberGenerator &rng) - { - unsigned int n = P.dimension(); - NT T; - _lambdas.setZero(P.num_of_hyperplanes()); - _Av.setZero(P.num_of_hyperplanes()); - _v = GetDirection::apply(n, rng, false); - - do { - _p = p; - T = rng.sample_urdist())* _Len; - int it = 0; - - std::pair pbpair - = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _facet_prev); - if (T <= pbpair.first || pbpair.second < 0) { - _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); - _lambda_prev = T; - return; - } - _lambda_prev = pbpair.first; - _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); - _v += (-_lambda_prev/_Temp) * _c; - T -= _lambda_prev; - P.compute_reflection(_v, _p, pbpair.second); - - while (it <= 100*n) - { - std::pair pbpair - = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); - if (T <= pbpair.first || pbpair.second < 0) { - _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); - _lambda_prev = T; - break; - }else if (it == 100*n) { - _lambda_prev = rng.sample_urdist() * pbpair.first; - _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); - break; - } - _lambda_prev = pbpair.first; - _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); - _v += (-_lambda_prev/_Temp) * _c; - T -= _lambda_prev; - P.compute_reflection(_v, _p, pbpair.second); - it++; - } - } while (P.is_in(_p, _tol) == 0); - } - - NT _Len; - VT _Ac; - Point _p; - Point _v; - Point _c; - NT _Temp; - const double _tol = 1e-10; - NT _lambda_prev; - int _facet_prev; - typename Point::Coeff _lambdas; - typename Point::Coeff _Av; -}; - -}; - - -#endif // RANDOM_WALKS_EXPONENTIAL_HMC_WALK_HPP - From 9c7735ad407e4044cdb63f7c5c6b940735f136b8 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Thu, 11 Mar 2021 18:59:02 +0200 Subject: [PATCH 25/63] add burn in methods in exact hmc --- include/convex_bodies/vpolyintersectvpoly.h | 10 --- include/convex_bodies/vpolytope.h | 10 --- include/convex_bodies/zpolytope.h | 10 --- ...ial_hamiltonian_monte_carlo_exact_walk.hpp | 79 +++++++++++++++++++ .../quadratic_polynomial_solvers.hpp | 49 ------------ 5 files changed, 79 insertions(+), 79 deletions(-) diff --git a/include/convex_bodies/vpolyintersectvpoly.h b/include/convex_bodies/vpolyintersectvpoly.h index 5ed537630..a4a250409 100644 --- a/include/convex_bodies/vpolyintersectvpoly.h +++ b/include/convex_bodies/vpolyintersectvpoly.h @@ -334,12 +334,7 @@ class IntersectionOfVpoly { VT& Av, int& facet_prev) const { - //#ifndef RVOLESTI throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#else - // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#endif - //return std::make_pair(0, 0); } std::pair quadratic_positive_intersect(Point const& r, @@ -351,12 +346,7 @@ class IntersectionOfVpoly { NT const& lambda_prev, int& facet_prev) const { - //#ifndef RVOLESTI throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#else - // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#endif - //return std::make_pair(0, 0); } diff --git a/include/convex_bodies/vpolytope.h b/include/convex_bodies/vpolytope.h index de0b7242f..92a8f877f 100644 --- a/include/convex_bodies/vpolytope.h +++ b/include/convex_bodies/vpolytope.h @@ -505,12 +505,7 @@ class VPolytope { VT& Av, int& facet_prev) const { - //#ifndef RVOLESTI throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#else - // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#endif - //return std::make_pair(0, 0); } std::pair quadratic_positive_intersect(Point const& r, @@ -522,12 +517,7 @@ class VPolytope { NT const& lambda_prev, int& facet_prev) const { - //#ifndef RVOLESTI throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#else - // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#endif - //return std::make_pair(0, 0); } diff --git a/include/convex_bodies/zpolytope.h b/include/convex_bodies/zpolytope.h index 55cf0fffa..17295ed88 100644 --- a/include/convex_bodies/zpolytope.h +++ b/include/convex_bodies/zpolytope.h @@ -491,12 +491,7 @@ class Zonotope { VT& Av, int& facet_prev) const { - //#ifndef RVOLESTI throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#else - // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#endif - //return std::make_pair(0, 0); } std::pair quadratic_positive_intersect(Point const& r, @@ -508,12 +503,7 @@ class Zonotope { NT const& lambda_prev, int& facet_prev) const { - //#ifndef RVOLESTI throw std::runtime_error("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#else - // throw Rcpp::exception("Quadratic polynomial trajectories are supported only for H-polytopes"); - //#endif - //return std::make_pair(0, 0); } diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index 1e2c90fb6..9341f47e3 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -123,11 +123,69 @@ struct Walk return true; } + + template + < + typename GenericPolytope + > + inline void get_starting_point(GenericPolytope const& P, + Point const& center, + Point &q, + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T, Lmax = _Len, max_dist, rad = 0.0, radius = P.InnerBall().second; + + q = GetPointInDsphere::apply(n, radius, rng); + q += center; + initialize(P, q, rng); + + apply(P, q, walk_length, rng); + } + + + template + < + typename GenericPolytope + > + inline void parameters_burnin(GenericPolytope const& P, + Point const& center, + unsigned int const& num_points, + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + Point p = center; + std::vector pointset; + pointset.push_back(center); + pointset.push_back(_p); + NT rad = NT(0), max_dist, Lmax; + + for (int i = 0; i < num_points; i++) + { + apply(P, p, walk_length, rng); + max_dist = get_max_distance(pointset, p, rad); + if (max_dist > Lmax) { + Lmax = max_dist; + } + pointset.push_back(p); + } + + if (Lmax > _Len) { + if (P.dimension() <= 2500) { + update_delta(Lmax); + } + } + pointset.clear(); + } + + inline void update_delta(NT L) { _Len = L; } + private : template @@ -185,6 +243,27 @@ private : } while (P.is_in(_p, _tol) == 0); } + + inline double get_max_distance(std::vector &pointset, Point const& q, double &rad) + { + double dis = -1.0, temp_dis; + int jj = 0; + for (auto vecit = pointset.begin(); vecit!=pointset.end(); vecit++, jj++) + { + temp_dis = (q.getCoefficients() - (*vecit).getCoefficients()).norm(); + if (temp_dis > dis) { + dis = temp_dis; + } + if (jj == 0) { + if (temp_dis > rad) { + rad = temp_dis; + } + } + } + return dis; + } + + NT _Len; VT _Ac; Point _p; diff --git a/include/root_finders/quadratic_polynomial_solvers.hpp b/include/root_finders/quadratic_polynomial_solvers.hpp index 22f09ed2e..a1163f5ff 100644 --- a/include/root_finders/quadratic_polynomial_solvers.hpp +++ b/include/root_finders/quadratic_polynomial_solvers.hpp @@ -9,12 +9,6 @@ #ifndef QUADRATIC_POLYNOMIAL_SOLVERS_H #define QUADRATIC_POLYNOMIAL_SOLVERS_H -// The function returns the sigh of the input number -template int sgn(T val) -{ - return (T(0) < val) - (val < T(0)); -} - // The function compute the roots of a quadratic polynomial equation template void solve_quadratic_polynomial(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) { @@ -42,49 +36,6 @@ void solve_quadratic_polynomial(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) { } } -// The function compute the roots of a quadratic polynomial equation -// using the algorithm in Revisiting the stability of computing the roots of a quadratic polynomial -// by Nicola Mastronardi and Paul Michel Van Dooren, Electronic transactions on numerical analysis, 2014 -template -void solve_qudratic_polynomial_stable(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) -{ - real = true; - - if (a == NT(0)) { - x1 = x2 = -c / b; - return; - } - - if (c == NT(0)) { - x1 = NT(0); - x2 = -b/a; - return; - } - b = b / a; - c = c / a; - - NT alpha = sgn(b) * std::sqrt(std::abs(c)); - NT e = NT(sgn(c)); - NT beta = b / (NT(2)*alpha); - - if (e > NT(0) && beta < NT(1)) - { - real = false; - return; - } - - if (e < NT(0)) - { - x1 = beta + std::sqrt(beta*beta + NT(1)); - x2 = -NT(1)/x1; - } else - { - x1 = beta + std::sqrt((beta + NT(1)) * (beta - NT(1))); - x2 = NT(1) / x1; - } - x1 = -x1 * alpha; - x2 = -x2 * alpha; -} #endif From 51f98e340c1024550b2297ffe98034b9b247f6f2 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Thu, 11 Mar 2021 20:12:15 +0200 Subject: [PATCH 26/63] implement mmcs's main phase --- include/sampling/mmcs.hpp | 113 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 include/sampling/mmcs.hpp diff --git a/include/sampling/mmcs.hpp b/include/sampling/mmcs.hpp new file mode 100644 index 000000000..8eb49a122 --- /dev/null +++ b/include/sampling/mmcs.hpp @@ -0,0 +1,113 @@ +// VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef MMCS_HPP +#define MMCS_HPP + +#include "diagnostics/ess_window_updater.hpp" + +template < + typename Polytope, + typename RandomNumberGenerator, + typename MT, + typename Point, + typename WalkTypePolicy +> +void perform_mmcs_step(Polytope &P, + RandomNumberGenerator &rng, + const unsigned int &walk_length, + const unsigned int &target_ess, + unsigned int const& max_num_samples, + unsigned int const& window, + unsigned int &Neff_sampled, + unsigned int &total_samples, + unsigned int const& num_rounding_steps, + MT &TotalRandPoints, + bool &complete, + const Point &starting_point, + unsigned int const& nburns, + bool request_rounding, + WalkTypePolicy &WalkType) +{ + + typedef typename Polytope::NT NT; + typedef typename Polytope::VT VT; + typedef typename WalkTypePolicy::template Walk + < + Polytope, + RandomNumberGenerator + > Walk; + + bool done = false; + unsigned int points_to_sample = target_ess; + int min_eff_samples; + total_samples = 0; + MT winPoints(P.dimension(), window); + Point q(P.dimension()); + + Point p = starting_point; + + if (request_rounding) + { + TotalRandPoints.setZero(num_rounding_steps, P.dimension()); + } else { + TotalRandPoints.setZero(max_num_samples, P.dimension()); + } + + Walk walk(P, p, rng, WalkType.param); + ESSestimator estimator(window, P.dimension()); + + walk.template parameters_burnin(P, p, 10 + int(std::log(NT(P.dimension()))), 10, rng); + + while (!done) + { + walk.template get_starting_point(P, p, q, 10, rng); + for (int i = 0; i < window; i++) + { + walk.template apply(P, q, walk_length, rng); + winPoints.col(i) = q.getCoefficients(); + } + estimator.update_estimator(winPoints); + total_samples += window; + if (total_samples >= TotalRandPoints.rows()) + { + if (total_samples > TotalRandPoints.rows()) + { + TotalRandPoints.conservativeResize(total_samples, P.dimension()); + } + if (request_rounding || total_samples >= max_num_samples) + { + done = true; + } + } + TotalRandPoints.block(total_samples - window, 0, window, P.dimension()) = winPoints.transpose(); + if (done || total_samples >= points_to_sample) + { + estimator.estimate_effective_sample_size(); + min_eff_samples = int(estimator.get_effective_sample_size().minCoeff()); + if (done && min_eff_samples < target_ess) + { + Neff_sampled = min_eff_samples; + return; + } + if (min_eff_samples >= target_ess) + { + complete = true; + Neff_sampled = min_eff_samples; + return; + } + if (min_eff_samples > 0) + { + points_to_sample += (total_samples / min_eff_samples) * (target_ess - min_eff_samples) + 100; + } else { + points_to_sample = total_samples + 100; + } + } + } +} + +#endif \ No newline at end of file From e62b229df57f9bb37edb2689376f6aad76cdc8d5 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Thu, 11 Mar 2021 20:26:51 +0200 Subject: [PATCH 27/63] add window ess updater and util test functions --- include/diagnostics/ess_updater_utils.hpp | 141 ++++++++++++++++++++ include/diagnostics/ess_window_updater.hpp | 143 +++++++++++++++++++++ include/sampling/mmcs.hpp | 1 - 3 files changed, 284 insertions(+), 1 deletion(-) create mode 100644 include/diagnostics/ess_updater_utils.hpp create mode 100644 include/diagnostics/ess_window_updater.hpp diff --git a/include/diagnostics/ess_updater_utils.hpp b/include/diagnostics/ess_updater_utils.hpp new file mode 100644 index 000000000..e26e00766 --- /dev/null +++ b/include/diagnostics/ess_updater_utils.hpp @@ -0,0 +1,141 @@ +// VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + +// Licensed under GNU LGPL.3, see LICENCE file + + +#ifndef ESS_UPDATER_UTILS_HPP +#define ESS_UPDATER_UTILS_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* The functions `get_good_size_2()`, `autocorrelation()` and `autocovariance()` + was taken from rstan code at https://github.com/stan-dev/rstan */ + +inline size_t get_good_size_2(size_t N) { + // Find the optimal next size for the FFT so that + // a minimum number of zeros are padded. + + if (N <= 2) { + return(2); + } + size_t m; + while (true) { + m = N; + while ((m % 2) == 0){ + m = m / 2; + } + while ((m % 3) == 0){ + m = m / 3; + } + while ((m % 5) == 0) { + m = m / 5; + } + if (m <= 1) { + return(N); + } + N = N + 1; + } +} + + +/** + * Write autocorrelation estimates for every lag for the specified + * input sequence into the specified result using the specified FFT + * engine. Normalizes lag-k autocorrelation estimators by N instead + * of (N - k), yielding biased but more stable estimators as + * discussed in Geyer (1992); see + * https://projecteuclid.org/euclid.ss/1177011137. The return vector + * will be resized to the same length as the input sequence with + * lags given by array index. + * + *

The implementation involves a fast Fourier transform, + * followed by a normalization, followed by an inverse transform. + * + *

An FFT engine can be created for reuse for type double with: + * + *

+ *     Eigen::FFT fft;
+ * 
+ * + * @tparam T Scalar type. + * @param y Input sequence. + * @param ac Autocorrelations. + * @param fft FFT engine instance. + */ +template +void autocorrelation(const Eigen::MatrixBase& y, + Eigen::MatrixBase& ac, Eigen::FFT& fft) { + size_t N = y.size(); + size_t M = get_good_size_2(N); + size_t Mt2 = 2 * M; + + // centered_signal = y-mean(y) followed by N zeros + Eigen::Matrix centered_signal(Mt2); + centered_signal.setZero(); + centered_signal.head(N) = y.array() - y.mean(); + + Eigen::Matrix, Eigen::Dynamic, 1> freqvec(Mt2); + fft.fwd(freqvec, centered_signal); + // cwiseAbs2 == norm + freqvec = freqvec.cwiseAbs2(); + + Eigen::Matrix, Eigen::Dynamic, 1> ac_tmp(Mt2); + fft.inv(ac_tmp, freqvec); + + // use "biased" estimate as recommended by Geyer (1992) + ac = ac_tmp.head(N).real().array() / (N * N * 2); + ac /= ac(0); +} + +/** + * Write autocovariance estimates for every lag for the specified + * input sequence into the specified result using the specified FFT + * engine. Normalizes lag-k autocovariance estimators by N instead + * of (N - k), yielding biased but more stable estimators as + * discussed in Geyer (1992); see + * https://projecteuclid.org/euclid.ss/1177011137. The return vector + * will be resized to the same length as the input sequence with + * lags given by array index. + * + *

The implementation involves a fast Fourier transform, + * followed by a normalization, followed by an inverse transform. + * + *

This method is just a light wrapper around the three-argument + * autocovariance function + * + * @tparam T Scalar type. + * @param y Input sequence. + * @param acov Autocovariances. + */ +template +void autocovariance(const Eigen::MatrixBase& y, + Eigen::MatrixBase& acov) { + Eigen::FFT fft; + autocorrelation(y, acov, fft); + + using boost::accumulators::accumulator_set; + using boost::accumulators::stats; + using boost::accumulators::tag::variance; + + accumulator_set> acc; + for (int n = 0; n < y.size(); ++n) { + acc(y(n)); + } + + acov = acov.array() * boost::accumulators::variance(acc); +} + + + +#endif \ No newline at end of file diff --git a/include/diagnostics/ess_window_updater.hpp b/include/diagnostics/ess_window_updater.hpp new file mode 100644 index 000000000..ea7481697 --- /dev/null +++ b/include/diagnostics/ess_window_updater.hpp @@ -0,0 +1,143 @@ +// VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef ESS_UPDATER_HPP +#define ESS_UPDATER_HPP + +#include "ess_updater_utils.hpp" + + + +template +class ESSestimator { + +private: + unsigned int num_draws, max_s, s, d, num_chains, jj; + VT cm_mean, cm_var, cv_mean, draws, var_plus, ess; + NT oldM, rho_hat_odd, rho_hat_even, mean_var, M2, delta, new_elem; + MT acov_s_mean, rho_hat_s; + Eigen::Matrix acov; + +public: + ESSestimator() {} + + ESSestimator(unsigned int const& _ndraws, unsigned int const& _dim) + { + num_draws = _ndraws; + d = _dim; + num_chains = 0; + + cm_mean.setZero(d); + cm_var.setZero(d); + cv_mean.setZero(d); + var_plus.setZero(d); + ess.setZero(d); + draws.setZero(num_draws); + acov_s_mean.setZero(num_draws-3, d); + rho_hat_s.setZero(num_draws, d); + acov = Eigen::Matrix(1); + } + + void update_estimator(MT const& samples) + { + num_chains++; + for (int i = 0; i < d; i++) + { + draws = samples.row(i).transpose(); + autocovariance(draws, acov(0)); + + new_elem = draws.mean(); + delta = new_elem - cm_mean.coeff(i); + cm_mean(i) += delta / NT(num_chains); + cm_var(i) += delta * (new_elem - cm_mean(i)); + + new_elem = acov(0)(0) * NT(num_draws) / (NT(num_draws) - 1.0); + delta = new_elem - cv_mean.coeff(i); + cv_mean(i) += delta / NT(num_chains); + + new_elem = acov(0)(1); + delta = new_elem - acov_s_mean.coeff(0, i); + acov_s_mean(0, i) += delta / NT(num_chains); + jj = 1; + while (jj < num_draws-4) + { + new_elem = acov(0)(jj+1); + delta = new_elem - acov_s_mean.coeff(jj, i); + acov_s_mean(jj, i) += delta / NT(num_chains); + + new_elem = acov(0)(jj+2); + delta = new_elem - acov_s_mean.coeff(jj+1, i); + acov_s_mean(jj+1, i) += delta / NT(num_chains); + + jj += 2; + } + } + + } + + void estimate_effective_sample_size() + { + rho_hat_s.setZero(num_draws, d); + + var_plus = cv_mean * (NT(num_draws) - 1.0) / NT(num_draws); + if (num_chains > 1) + { + VT cm_var_temp = cm_var * (1.0 / (NT(num_chains)-1.0)); + var_plus += cm_var_temp; + } + + for (int i = 0; i < d; i++) + { + rho_hat_even = 1.0; + rho_hat_s(0, i) = rho_hat_even; + rho_hat_odd = 1 - (cv_mean.coeff(i) - acov_s_mean.coeff(0, i)) / var_plus.coeff(i); + rho_hat_s(1, i) = rho_hat_odd; + + s = 1; + while (s < (num_draws - 4) && (rho_hat_even + rho_hat_odd) > 0) + { + rho_hat_even = 1.0 - (cv_mean.coeff(i) - acov_s_mean.coeff(s, i)) / var_plus.coeff(i); + rho_hat_odd = 1.0 - (cv_mean.coeff(i) - acov_s_mean.coeff(s+1, i)) / var_plus.coeff(i); + if ((rho_hat_even + rho_hat_odd) >= 0) + { + rho_hat_s(s + 1, i) = rho_hat_even; + rho_hat_s(s + 2, i) = rho_hat_odd; + } + s += 2; + } + + max_s = s; + // this is used in the improved estimate + if (rho_hat_even > 0) { + rho_hat_s(max_s + 1, i) = rho_hat_even; + } + + // Convert Geyer's positive sequence into a monotone sequence + for (jj = 1; jj <= max_s - 3; jj += 2) + { + if (rho_hat_s(jj + 1, i) + rho_hat_s.coeff(jj + 2, i) > rho_hat_s.coeff(jj - 1, i) + rho_hat_s.coeff(jj, i)) + { + rho_hat_s(jj + 1, i) = (rho_hat_s.coeff(jj - 1, i) + rho_hat_s.coeff(jj, i)) / 2.0; + rho_hat_s(jj + 2, i) = rho_hat_s.coeff(jj + 1, i); + } + } + + NT num_total_draws = NT(num_chains) * NT(num_draws); + NT tau_hat = -1.0 + 2.0 * rho_hat_s.col(i).head(max_s).sum() + rho_hat_s.coeff(max_s + 1, i); + ess(i) = num_total_draws / tau_hat; + } + + } + + VT get_effective_sample_size() + { + return ess; + } + +}; + + +#endif \ No newline at end of file diff --git a/include/sampling/mmcs.hpp b/include/sampling/mmcs.hpp index 8eb49a122..e9d664bc8 100644 --- a/include/sampling/mmcs.hpp +++ b/include/sampling/mmcs.hpp @@ -2,7 +2,6 @@ // Copyright (c) 2021 Vissarion Fisikopoulos // Copyright (c) 2021 Apostolos Chalkis - // Licensed under GNU LGPL.3, see LICENCE file #ifndef MMCS_HPP From 0de37ee03cf72c8e9bc1ddc108423d3602a36501 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Thu, 11 Mar 2021 20:28:51 +0200 Subject: [PATCH 28/63] delete white space in new gaussian hmc hpp file --- include/random_walks/gaussian_exact_hmc_walk.hpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/include/random_walks/gaussian_exact_hmc_walk.hpp b/include/random_walks/gaussian_exact_hmc_walk.hpp index b6caf1800..02ba5a828 100644 --- a/include/random_walks/gaussian_exact_hmc_walk.hpp +++ b/include/random_walks/gaussian_exact_hmc_walk.hpp @@ -255,11 +255,5 @@ private : }; - - - - - - #endif // RANDOM_WALKS_GAUSSIAN_HMC_WALK_HPP From de6b260127953c8732ef3bac480d22b98896d45d Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 12 Mar 2021 01:46:09 +0200 Subject: [PATCH 29/63] compare ess --- R-proj/R/RcppExports.R | 18 +++ R-proj/src/ess.cpp | 66 ++++++++ R-proj/test_ess.R | 5 + include/diagnostics/effective_sample_size.hpp | 150 ++++++++++++++++++ include/diagnostics/ess_updater_utils.hpp | 12 +- include/diagnostics/ess_window_updater.hpp | 30 ++-- 6 files changed, 267 insertions(+), 14 deletions(-) create mode 100644 R-proj/src/ess.cpp create mode 100644 R-proj/test_ess.R create mode 100644 include/diagnostics/effective_sample_size.hpp diff --git a/R-proj/R/RcppExports.R b/R-proj/R/RcppExports.R index f684ca40d..92063c215 100644 --- a/R-proj/R/RcppExports.R +++ b/R-proj/R/RcppExports.R @@ -64,6 +64,24 @@ direct_sampling <- function(body, n, seed = NULL) { .Call(`_volesti_direct_sampling`, body, n, seed) } +#' Gelman-Rubin and Brooks-Gelman Potential Scale Reduction Factor (PSRF) for each marginal +#' +#' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. +#' @param method A string to reauest diagnostic: (i) \code{'normal'} for psrf of Gelman-Rubin and (ii) \code{'interval'} for psrf of Brooks-Gelman. +#' +#' @references \cite{Gelman, A. and Rubin, D. B., +#' \dQuote{Inference from iterative simulation using multiple sequences,} \emph{Statistical Science,} 1992.} +#' +#' @references \cite{Brooks, S. and Gelman, A., +#' \dQuote{General Methods for Monitoring Convergence of Iterative Simulations,} \emph{Journal of Computational and Graphical Statistics,} 1998.} +#' +#' @return A vector that contains the values of PSRF for each coordinate +#' +#' @export +ess <- function(samples) { + .Call(`_volesti_ess`, samples) +} + #' Compute the exact volume of (a) a zonotope (b) an arbitrary simplex in V-representation or (c) if the volume is known and declared by the input object. #' #' Given a zonotope (as an object of class Zonotope), this function computes the sum of the absolute values of the determinants of all the \eqn{d \times d} submatrices of the \eqn{m\times d} matrix \eqn{G} that contains row-wise the \eqn{m} \eqn{d}-dimensional segments that define the zonotope. diff --git a/R-proj/src/ess.cpp b/R-proj/src/ess.cpp new file mode 100644 index 000000000..444c44461 --- /dev/null +++ b/R-proj/src/ess.cpp @@ -0,0 +1,66 @@ +// [[Rcpp::depends(BH)]] + +// VolEsti (volume computation and sampling library) + +// Copyright (c) 20014-2020 Vissarion Fisikopoulos +// Copyright (c) 2018-2020 Apostolos Chalkis + +//Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. + +#include +#include +#include +#include +#include +#include +#include +#include "diagnostics/ess_window_updater.hpp" + +//' Gelman-Rubin and Brooks-Gelman Potential Scale Reduction Factor (PSRF) for each marginal +//' +//' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. +//' @param method A string to reauest diagnostic: (i) \code{'normal'} for psrf of Gelman-Rubin and (ii) \code{'interval'} for psrf of Brooks-Gelman. +//' +//' @references \cite{Gelman, A. and Rubin, D. B., +//' \dQuote{Inference from iterative simulation using multiple sequences,} \emph{Statistical Science,} 1992.} +//' +//' @references \cite{Brooks, S. and Gelman, A., +//' \dQuote{General Methods for Monitoring Convergence of Iterative Simulations,} \emph{Journal of Computational and Graphical Statistics,} 1998.} +//' +//' @return A vector that contains the values of PSRF for each coordinate +//' +//' @export +// [[Rcpp::export]] +Rcpp::NumericVector ess(Rcpp::NumericMatrix samples) +{ + typedef double NT; + typedef Eigen::Matrix VT; + typedef Eigen::Matrix MT; + + MT runs = Rcpp::as(samples), subruns; + unsigned int ndraws = runs.cols() / 4; + std::cout<<"ndraws = "< estimator(ndraws, d); + + subruns = runs.block(0, 0, d, ndraws); + std::cout<<"subruns = "< + +#ifndef EFFECTIVE_SAMPLE_SIZE_HPP +#define EFFECTIVE_SAMPLE_SIZE_HPP + +template +void cummulative_minimum(std::vector &v) { + unsigned int N = v.size(); + + double cummin = v[0]; + for (unsigned int i = 0; i < N; i++) { + if (v[i] > cummin){ + v[i] = cummin; + } else { + cummin = v[i]; + } + } +} + +template +NT get_abs(NT &x) { + if (x < NT(0)) return -x; + return x; +} + +template +VT effective_sample_size(MT const& samples, unsigned int &min_ess) { + typedef Eigen::FFT EigenFFT; + typedef std::complex CNT; + EigenFFT fft; + + // Sample matrix is provided as d x n_samples + unsigned int d = samples.rows(); + unsigned int N = samples.cols(); + unsigned int N_even = N - N % 2; + + // Calculate effective sample size per dimension + VT ess; + ess.resize(d); + + // Autocorrelation vector + std::vector autocorrelation(N_even, NT(0)); + std::vector min_auto_correlation(N_even / 2, NT(0)); + + + // Z-normalized samples + std::vector normalized_sample_row(2 * N); + + // FFT vector + std::vector fft_vec(2 * N); + std::vector fft_inv_vec(2 * N); + std::vector psd(2 * N); + + // Helper variables + NT row_mean; + NT variance; + NT gap; + + for (unsigned int i = 0; i < d; i++) { + + // Z-normalization + row_mean = samples.row(i).mean(); + + for (int j = 0; j < N; j++) { + normalized_sample_row[j] = samples(i, j) - row_mean; + // Zero-padding + normalized_sample_row[j + N] = NT(0); + } + + variance = NT(0); + + for (int j = 0; j < N; j++) { + variance += pow(normalized_sample_row[j], 2); + } + + variance *= (1.0 / N); + variance += NT(1e-16)*(get_abs(row_mean)*get_abs(row_mean)); + + for (int j = 0; j < N; j++) { + normalized_sample_row[j] /= sqrt(variance); + } + + // Perform FFT on 2N points + fft.fwd(fft_vec, normalized_sample_row); + + // Calculate PSD which is the norm squared of the FFT of the sequence + for (int j = 0; j < 2 * N; j++) { + psd[j].real(std::norm(fft_vec[j])); + psd[j].imag(NT(0)); + } + + // Invert fft to get autocorrelation function + fft.inv(fft_inv_vec, psd); + + std::cout<<"fft_inv_vec = "; + for (unsigned int j = 0; j < N_even; j++) { + std::cout<<" "< 0){ + gap += min_auto_correlation[j]; + } else { + break; + } + } + + gap = 2 * gap - NT(1); + if (gap < NT(1)) gap = NT(1); + + ess(i) = (1.0 * N) / gap; + + // Store minimum effective sample size as integer (in general ess is not int) + // for the thinning process + if (i == 0) min_ess = (unsigned int) ceil(ess(i)); + else if ((unsigned int)ceil(ess(i)) < min_ess) min_ess = (unsigned int)ceil(ess(i)); + + } + + return ess; +} + +#endif diff --git a/include/diagnostics/ess_updater_utils.hpp b/include/diagnostics/ess_updater_utils.hpp index e26e00766..acf414f47 100644 --- a/include/diagnostics/ess_updater_utils.hpp +++ b/include/diagnostics/ess_updater_utils.hpp @@ -78,6 +78,7 @@ void autocorrelation(const Eigen::MatrixBase& y, Eigen::MatrixBase& ac, Eigen::FFT& fft) { size_t N = y.size(); size_t M = get_good_size_2(N); + std::cout<<"M = "<& y, Eigen::Matrix, Eigen::Dynamic, 1> ac_tmp(Mt2); fft.inv(ac_tmp, freqvec); + std::cout<<"ac_tmp = "<& y, Eigen::MatrixBase& acov) { Eigen::FFT fft; autocorrelation(y, acov, fft); + std::cout<<"acov.zize() = "<(acc2) = "<(acc2)<<"\n"<(1); + num_draws = _ndraws; + d = _dim; + num_chains = 0; + + cm_mean.setZero(d); + cm_var.setZero(d); + cv_mean.setZero(d); + var_plus.setZero(d); + ess.setZero(d); + draws.setZero(num_draws); + acov_s_mean.setZero(num_draws-3, d); + rho_hat_s.setZero(num_draws, d); + acov = Eigen::Matrix(1); } void update_estimator(MT const& samples) { num_chains++; + unsigned int min_ess; + effective_sample_size(samples, min_ess); for (int i = 0; i < d; i++) { draws = samples.row(i).transpose(); + autocovariance(draws, acov(0)); new_elem = draws.mean(); From 36e0757b70433e631424b46a1b7b86ee9828a309 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 12 Mar 2021 04:21:39 +0200 Subject: [PATCH 30/63] improve ess updater help functions --- R-proj/NAMESPACE | 2 +- R-proj/R/RcppExports.R | 215 ------------------ R-proj/test_ess.R | 2 +- include/diagnostics/effective_sample_size.hpp | 32 ++- include/diagnostics/ess_updater_utils.hpp | 57 ++++- include/diagnostics/ess_window_updater.hpp | 172 +++++++------- 6 files changed, 163 insertions(+), 317 deletions(-) diff --git a/R-proj/NAMESPACE b/R-proj/NAMESPACE index ebd557c8c..51e552add 100644 --- a/R-proj/NAMESPACE +++ b/R-proj/NAMESPACE @@ -36,4 +36,4 @@ importFrom("stats","cov") importFrom("utils","read.csv") importFrom(Rcpp,evalCpp) importFrom(Rcpp,loadModule) -useDynLib(volesti, .registration=TRUE) +useDynLib(volesti, .registration=TRUE) \ No newline at end of file diff --git a/R-proj/R/RcppExports.R b/R-proj/R/RcppExports.R index 92063c215..33fa76eec 100644 --- a/R-proj/R/RcppExports.R +++ b/R-proj/R/RcppExports.R @@ -1,69 +1,6 @@ # Generated by using Rcpp::compileAttributes() -> do not edit by hand # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 -#' Construct a copula using uniform sampling from the unit simplex -#' -#' Given two families of parallel hyperplanes or a family of parallel hyperplanes and a family of concentric ellispoids centered at the origin intersecting the canonical simplex, this function uniformly samples from the canonical simplex and construct an approximation of the bivariate probability distribution, called copula (see \url{https://en.wikipedia.org/wiki/Copula_(probability_theory)}). -#' At least two families of hyperplanes or one family of hyperplanes and one family of ellipsoids have to be given as input. -#' -#' @param r1 The \eqn{d}-dimensional normal vector of the first family of parallel hyperplanes. -#' @param r2 Optional. The \eqn{d}-dimensional normal vector of the second family of parallel hyperplanes. -#' @param sigma Optional. The \eqn{d\times d} symmetric positive semidefine matrix that describes the family of concentric ellipsoids centered at the origin. -#' @param m The number of the slices for the copula. The default value is 100. -#' @param n The number of points to sample. The default value is \eqn{5\cdot 10^5}. -#' @param seed Optional. A fixed seed for the number generator. -#' -#' @references \cite{L. Cales, A. Chalkis, I.Z. Emiris, V. Fisikopoulos, -#' \dQuote{Practical volume computation of structured convex bodies, and an application to modeling portfolio dependencies and financial crises,} \emph{Proc. of Symposium on Computational Geometry, Budapest, Hungary,} 2018.} -#' -#' @return A \eqn{m\times m} numerical matrix that corresponds to a copula. -#' @examples -#' # compute a copula for two random families of parallel hyperplanes -#' h1 = runif(n = 10, min = 1, max = 1000) -#' h1 = h1 / 1000 -#' h2=runif(n = 10, min = 1, max = 1000) -#' h2 = h2 / 1000 -#' cop = copula(r1 = h1, r2 = h2, m = 10, n = 100000) -#' -#' # compute a copula for a family of parallel hyperplanes and a family of conentric ellipsoids -#' h = runif(n = 10, min = 1, max = 1000) -#' h = h / 1000 -#' E = replicate(10, rnorm(20)) -#' E = cov(E) -#' cop = copula(r1 = h, sigma = E, m = 10, n = 100000) -#' -#' @export -copula <- function(r1, r2 = NULL, sigma = NULL, m = NULL, n = NULL, seed = NULL) { - .Call(`_volesti_copula`, r1, r2, sigma, m, n, seed) -} - -#' Sample perfect uniformly distributed points from well known convex bodies: (a) the unit simplex, (b) the canonical simplex, (c) the boundary of a hypersphere or (d) the interior of a hypersphere. -#' -#' The \eqn{d}-dimensional unit simplex is the set of points \eqn{\vec{x}\in \R^d}, s.t.: \eqn{\sum_i x_i\leq 1}, \eqn{x_i\geq 0}. The \eqn{d}-dimensional canonical simplex is the set of points \eqn{\vec{x}\in \R^d}, s.t.: \eqn{\sum_i x_i = 1}, \eqn{x_i\geq 0}. -#' -#' @param body A list to request exact uniform sampling from special well known convex bodies through the following input parameters: -#' \itemize{ -#' \item{\code{type} }{ A string that declares the type of the body for the exact sampling: a) \code{'unit_simplex'} for the unit simplex, b) \code{'canonical_simplex'} for the canonical simplex, c) \code{'hypersphere'} for the boundary of a hypersphere centered at the origin, d) \code{'ball'} for the interior of a hypersphere centered at the origin.} -#' \item{\code{dimension} }{ An integer that declares the dimension when exact sampling is enabled for a simplex or a hypersphere.} -#' \item{\code{radius} }{ The radius of the \eqn{d}-dimensional hypersphere. The default value is \eqn{1}.} -#' } -#' @param n The number of points that the function is going to sample. -#' @param seed Optional. A fixed seed for the number generator. -#' -#' @references \cite{R.Y. Rubinstein and B. Melamed, -#' \dQuote{Modern simulation and modeling} \emph{ Wiley Series in Probability and Statistics,} 1998.} -#' @references \cite{A Smith, Noah and W Tromble, Roy, -#' \dQuote{Sampling Uniformly from the Unit Simplex,} \emph{ Center for Language and Speech Processing Johns Hopkins University,} 2004.} -#' -#' @return A \eqn{d\times n} matrix that contains, column-wise, the sampled points from the convex polytope P. -#' @examples -#' # 100 uniform points from the 2-d unit ball -#' points = direct_sampling(n = 100, body = list("type" = "ball", "dimension" = 2)) -#' @export -direct_sampling <- function(body, n, seed = NULL) { - .Call(`_volesti_direct_sampling`, body, n, seed) -} - #' Gelman-Rubin and Brooks-Gelman Potential Scale Reduction Factor (PSRF) for each marginal #' #' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. @@ -82,37 +19,6 @@ ess <- function(samples) { .Call(`_volesti_ess`, samples) } -#' Compute the exact volume of (a) a zonotope (b) an arbitrary simplex in V-representation or (c) if the volume is known and declared by the input object. -#' -#' Given a zonotope (as an object of class Zonotope), this function computes the sum of the absolute values of the determinants of all the \eqn{d \times d} submatrices of the \eqn{m\times d} matrix \eqn{G} that contains row-wise the \eqn{m} \eqn{d}-dimensional segments that define the zonotope. -#' For an arbitrary simplex that is given in V-representation this function computes the absolute value of the determinant formed by the simplex's points assuming it is shifted to the origin. -#' -#' @param P A polytope -#' -#' @references \cite{E. Gover and N. Krikorian, -#' \dQuote{Determinants and the Volumes of Parallelotopes and Zonotopes,} \emph{Linear Algebra and its Applications, 433(1), 28 - 40,} 2010.} -#' -#' @return The exact volume of the input polytope, for zonotopes, simplices in V-representation and polytopes with known exact volume -#' @examples -#' -#' # compute the exact volume of a 5-dimensional zonotope defined by the Minkowski sum of 10 segments -#' Z = gen_rand_zonotope(2, 5) -#' vol = exact_vol(Z) -#' -#' \donttest{# compute the exact volume of a 2-d arbitrary simplex -#' V = matrix(c(2,3,-1,7,0,0),ncol = 2, nrow = 3, byrow = TRUE) -#' P = Vpolytope$new(V) -#' vol = exact_vol(P) -#' } -#' -#' # compute the exact volume the 10-dimensional cross polytope -#' P = gen_cross(10,'V') -#' vol = exact_vol(P) -#' @export -exact_vol <- function(P) { - .Call(`_volesti_exact_vol`, P) -} - #' Compute the percentage of the volume of the simplex that is contained in the intersection of a half-space and the simplex. #' #' A half-space \eqn{H} is given as a pair of a vector \eqn{a\in R^d} and a scalar \eqn{z0\in R} s.t.: \eqn{a^Tx\leq z0}. This function calls the Ali's version of the Varsi formula to compute a frustum of the simplex. @@ -138,21 +44,6 @@ frustum_of_simplex <- function(a, z0) { .Call(`_volesti_frustum_of_simplex`, a, z0) } -#' Internal rcpp function to compute the full dimensional polytope when a low dimensional is given -#' -#' @param P A low dimensional convex polytope in H-representation. -#' -#' @keywords internal -#' -#' @return A numerical matrix that describes the full dimensional polytope, a numerical matrix of the inverse -#' linear transformation that is applied on the input polytope, the numerical vector - point that the -#' input polytope is shifted and the product of the singular values of the matrix of the linear map -#' applied on the input polytope. -#' -full_dimensional_polytope <- function(P) { - .Call(`_volesti_full_dimensional_polytope`, P) -} - #' Geweke's MCMC diagnostic #' #' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. @@ -192,28 +83,6 @@ inner_ball <- function(P, lpsolve = NULL) { .Call(`_volesti_inner_ball`, P, lpsolve) } -#' Solve an ODE of the form dx^n / dt^n = F(x, t) -#' -#' @param n The number of steps. -#' @param step_size The step size. -#' @param order The ODE order (default is n = 1) -#' @param dimension The dimension of each derivative -#' @param initial_time The initial time -#' @param F The function oracle F(x, t) in the ODE. -#' @param method The method to be used -#' @param initial_conditions The initial conditions provided to the solver. Must be provided in a list with keys "x_1", ..., "x_n" and column vectors as values. The state "x_n" represents the (n-1)-th order derivative with respect to time -#' @param domains A list of n H-polytopes with keys "P_1", "P_2", ..., "P_n" that correspond to each derivative's domain -#' -#' @return A list which contains elements "x_1", ..., "x_n" representing each derivative results. Each "x_i" corresponds to a d x n matrix where each column represents a certain timestep of the solver. -#' -#' @examples -#' # Please visit the examples directory on examples demonstrating usage of the ODE solvers. -#' -#' @export -ode_solve <- function(n, step_size, order, dimension, initial_time, F, method, domains = NULL, initial_conditions = NULL) { - .Call(`_volesti_ode_solve`, n, step_size, order, dimension, initial_time, F, method, domains, initial_conditions) -} - #' An internal Rccp function as a polytope generator #' #' @param kind_gen An integer to declare the type of the polytope. @@ -282,32 +151,6 @@ raftery <- function(samples, q = NULL, r = NULL, s = NULL) { .Call(`_volesti_raftery`, samples, q, r, s) } -#' An internal Rccp function for the random rotation of a convex polytope -#' -#' @param P A convex polytope (H-, V-polytope or a zonotope). -#' @param T Optional. A rotation matrix. -#' @param seed Optional. A fixed seed for the random linear map generator. -#' -#' @keywords internal -#' -#' @return A matrix that describes the rotated polytope -rotating <- function(P, T = NULL, seed = NULL) { - .Call(`_volesti_rotating`, P, T, seed) -} - -#' Internal rcpp function for the rounding of a convex polytope -#' -#' @param P A convex polytope (H- or V-representation or zonotope). -#' @param method Optional. The method to use for rounding, a) \code{'min_ellipsoid'} for the method based on mimimmum volume enclosing ellipsoid of a uniform sample from P, b) \code{'max_ellipsoid'} for the method based on maximum volume enclosed ellipsoid in P, (c) \code{'svd'} for the method based on svd decomposition. The default method is \code{'min_ellipsoid'} for all the representations. -#' @param seed Optional. A fixed seed for the number generator. -#' -#' @keywords internal -#' -#' @return A numerical matrix that describes the rounded polytope, a numerical matrix of the inverse linear transofmation that is applied on the input polytope, the numerical vector the the input polytope is shifted and the determinant of the matrix of the linear transformation that is applied on the input polytope. -rounding <- function(P, method = NULL, seed = NULL) { - .Call(`_volesti_rounding`, P, method, seed) -} - #' Sample uniformly, normally distributed, or logconcave distributed points from a convex Polytope (H-polytope, V-polytope, zonotope or intersection of two V-polytopes). #' #' @param P A convex polytope. It is an object from class (a) Hpolytope or (b) Vpolytope or (c) Zonotope or (d) VpolytopeIntersection. @@ -415,61 +258,3 @@ loadSdpaFormatFile <- function(inputFile = NULL) { .Call(`_volesti_loadSdpaFormatFile`, inputFile) } -#' The main function for volume approximation of a convex Polytope (H-polytope, V-polytope, zonotope or intersection of two V-polytopes) -#' -#' For the volume approximation can be used three algorithms. Either CoolingBodies (CB) or SequenceOfBalls (SOB) or CoolingGaussian (CG). An H-polytope with \eqn{m} facets is described by a \eqn{m\times d} matrix \eqn{A} and a \eqn{m}-dimensional vector \eqn{b}, s.t.: \eqn{P=\{x\ |\ Ax\leq b\} }. A V-polytope is defined as the convex hull of \eqn{m} \eqn{d}-dimensional points which correspond to the vertices of P. A zonotope is desrcibed by the Minkowski sum of \eqn{m} \eqn{d}-dimensional segments. -#' -#' @param P A convex polytope. It is an object from class a) Hpolytope or b) Vpolytope or c) Zonotope or d) VpolytopeIntersection. -#' @param settings Optional. A list that declares which algorithm, random walk and values of parameters to use, as follows: -#' \itemize{ -#' \item{\code{algorithm} }{ A string to set the algorithm to use: a) \code{'CB'} for CB algorithm, b) \code{'SoB'} for SOB algorithm or b) \code{'CG'} for CG algorithm. The defalut algorithm is \code{'CB'}.} -#' \item{\code{error} }{ A numeric value to set the upper bound for the approximation error. The default value is \eqn{1} for SOB algorithm and \eqn{0.1} otherwise.} -#' \item{\code{random_walk} }{ A string that declares the random walk method: a) \code{'CDHR'} for Coordinate Directions Hit-and-Run, b) \code{'RDHR'} for Random Directions Hit-and-Run, c) \code{'BaW'} for Ball Walk, or \code{'BiW'} for Billiard walk. For CB algorithm the default walk is \code{'BiW'}. For CG and SOB algorithms the default walk is \code{'CDHR'} for H-polytopes and \code{'RDHR'} for the other representations.} -#' \item{\code{walk_length} }{ An integer to set the number of the steps for the random walk. The default value is \eqn{\lfloor 10 + d/10\rfloor} for \code{'SOB'} and \eqn{1} otherwise.} -#' \item{\code{win_len} }{ The length of the sliding window for CB or CG algorithm. The default value is \eqn{250} for CB with BiW and \eqn{400+3d^2} for CB and any other random walk and \eqn{500+4d^2} for CG.} -#' \item{\code{hpoly} }{ A boolean parameter to use H-polytopes in MMC of CB algorithm when the input polytope is a zonotope. The default value is \code{TRUE} when the order of the zonotope is \eqn{<5}, otherwise it is \code{FALSE}.} -#' } -#' @param rounding Optional. A string parameter to request a rounding method to be applied in the input polytope before volume computation: a) \code{'min_ellipsoid'}, b) \code{'svd'}, c) \code{'max_ellipsoid'} and d) \code{'none'} for no rounding. -#' @param seed Optional. A fixed seed for the number generator. -#' -#' @references \cite{I.Z.Emiris and V. Fisikopoulos, -#' \dQuote{Practical polytope volume approximation,} \emph{ACM Trans. Math. Soft.,} 2018.}, -#' @references \cite{A. Chalkis and I.Z.Emiris and V. Fisikopoulos, -#' \dQuote{Practical Volume Estimation by a New Annealing Schedule for Cooling Convex Bodies,} \emph{CoRR, abs/1905.05494,} 2019.}, -#' @references \cite{B. Cousins and S. Vempala, \dQuote{A practical volume algorithm,} \emph{Springer-Verlag Berlin Heidelberg and The Mathematical Programming Society,} 2015.} -#' -#' -#' @return The approximation of the volume of a convex polytope. -#' @examples -#' -#' # calling SOB algorithm for a H-polytope (5d unit simplex) -#' HP = gen_cube(5,'H') -#' vol = volume(HP) -#' -#' # calling CG algorithm for a V-polytope (3d simplex) -#' VP = gen_simplex(3,'V') -#' vol = volume(VP, settings = list("algorithm" = "CG")) -#' -#' # calling CG algorithm for a 2-dimensional zonotope defined as the Minkowski sum of 4 segments -#' Z = gen_rand_zonotope(2, 4) -#' vol = volume(Z, settings = list("random_walk" = "RDHR", "walk_length" = 2)) -#' -#' @export -volume <- function(P, settings = NULL, rounding = NULL, seed = NULL) { - .Call(`_volesti_volume`, P, settings, rounding, seed) -} - -#' An internal Rccp function for the over-approximation of a zonotope -#' -#' @param Z A zonotope. -#' @param fit_ratio Optional. A boolean parameter to request the computation of the ratio of fitness. -#' @param settings Optional. A list that declares the values of the parameters of CB algorithm. -#' @param seed Optional. A fixed seed for the number generator. -#' -#' @keywords internal -#' -#' @return A List that contains a numerical matrix that describes the PCA approximation as a H-polytope and the ratio of fitness. -zono_approx <- function(Z, fit_ratio = NULL, settings = NULL, seed = NULL) { - .Call(`_volesti_zono_approx`, Z, fit_ratio, settings, seed) -} - diff --git a/R-proj/test_ess.R b/R-proj/test_ess.R index 814b1f79d..193072bf2 100644 --- a/R-proj/test_ess.R +++ b/R-proj/test_ess.R @@ -1,5 +1,5 @@ library(volesti) P = gen_rand_hpoly(4,13) -p = sample_points(P,n=24) +p = sample_points(P,n=32) ess(p) \ No newline at end of file diff --git a/include/diagnostics/effective_sample_size.hpp b/include/diagnostics/effective_sample_size.hpp index 6b51c1edf..850e5fd58 100644 --- a/include/diagnostics/effective_sample_size.hpp +++ b/include/diagnostics/effective_sample_size.hpp @@ -33,6 +33,32 @@ NT get_abs(NT &x) { return x; } +inline size_t get_good_size_22(size_t N) { + // Find the optimal next size for the FFT so that + // a minimum number of zeros are padded. + + if (N <= 2) { + return(2); + } + size_t m; + while (true) { + m = N; + while ((m % 2) == 0){ + m = m / 2; + } + while ((m % 3) == 0){ + m = m / 3; + } + while ((m % 5) == 0) { + m = m / 5; + } + if (m <= 1) { + return(N); + } + N = N + 1; + } +} + template VT effective_sample_size(MT const& samples, unsigned int &min_ess) { typedef Eigen::FFT EigenFFT; @@ -49,7 +75,7 @@ VT effective_sample_size(MT const& samples, unsigned int &min_ess) { ess.resize(d); // Autocorrelation vector - std::vector autocorrelation(N_even, NT(0)); + std::vector autocorrelation(N, NT(0)); std::vector min_auto_correlation(N_even / 2, NT(0)); @@ -103,14 +129,14 @@ VT effective_sample_size(MT const& samples, unsigned int &min_ess) { fft.inv(fft_inv_vec, psd); std::cout<<"fft_inv_vec = "; - for (unsigned int j = 0; j < N_even; j++) { + for (unsigned int j = 0; j < N; j++) { std::cout<<" "<& y, Eigen::MatrixBase& ac, Eigen::FFT& fft) { size_t N = y.size(); size_t M = get_good_size_2(N); - std::cout<<"M = "<& y, Eigen::MatrixBase& acov) { Eigen::FFT fft; autocorrelation(y, acov, fft); - std::cout<<"acov.zize() = "<(acc2) = "<(acc2)<<"\n"<(acc2) = "<(acc2)<<"\n"< +void compute_autocovariance(VT const& samples, VT &auto_cov) +{ + typedef Eigen::FFT EigenFFT; + typedef Eigen::Matrix, Eigen::Dynamic, 1> CVT; + EigenFFT fft; -#endif \ No newline at end of file + unsigned int N = samples.size(); + NT samples_mean = samples.mean(); + auto_cov.setZero(N); + + // compute normalized samples + VT normalized_sample_row(2 * N); + normalized_sample_row.setZero(); + normalized_sample_row.head(N) = samples.array() - samples_mean; + + NT variance = (normalized_sample_row.cwiseProduct(normalized_sample_row)).sum(); + variance *= (1.0 / N); + variance += NT(1e-16)*(samples_mean*samples_mean); + normalized_sample_row.head(N) = normalized_sample_row.head(N).array() / sqrt(variance); + + // Perform FFT on 2N points + CVT frequency(2 * N); + fft.fwd(frequency, normalized_sample_row); + + // Invert fft to get autocorrelation function + CVT auto_cov_tmp(2 * N); + frequency = frequency.cwiseAbs2(); + fft.inv(auto_cov_tmp, frequency); + + auto_cov = auto_cov_tmp.head(N).real().array() / N; + + boost::accumulators::accumulator_set> accumulator; + for (int i = 0; i < samples.size(); ++i) + { + accumulator(samples.coeff(i)); + } + + auto_cov = auto_cov.array() * boost::accumulators::variance(accumulator); +} + +#endif diff --git a/include/diagnostics/ess_window_updater.hpp b/include/diagnostics/ess_window_updater.hpp index 696abce6c..39b366d9b 100644 --- a/include/diagnostics/ess_window_updater.hpp +++ b/include/diagnostics/ess_window_updater.hpp @@ -17,10 +17,9 @@ class ESSestimator { private: unsigned int num_draws, max_s, s, d, num_chains, jj; - VT cm_mean, cm_var, cv_mean, draws, var_plus, ess; + VT cm_mean, cm_var, cv_mean, draws, var_plus, ess, auto_cov; NT oldM, rho_hat_odd, rho_hat_even, mean_var, M2, delta, new_elem; MT acov_s_mean, rho_hat_s; - Eigen::Matrix acov; public: ESSestimator() {} @@ -39,107 +38,102 @@ class ESSestimator { draws.setZero(num_draws); acov_s_mean.setZero(num_draws-3, d); rho_hat_s.setZero(num_draws, d); - acov = Eigen::Matrix(1); } - void update_estimator(MT const& samples) - { - num_chains++; - unsigned int min_ess; - effective_sample_size(samples, min_ess); - for (int i = 0; i < d; i++) + void update_estimator(MT const& samples) { - draws = samples.row(i).transpose(); - - autocovariance(draws, acov(0)); - - new_elem = draws.mean(); - delta = new_elem - cm_mean.coeff(i); - cm_mean(i) += delta / NT(num_chains); - cm_var(i) += delta * (new_elem - cm_mean(i)); - - new_elem = acov(0)(0) * NT(num_draws) / (NT(num_draws) - 1.0); - delta = new_elem - cv_mean.coeff(i); - cv_mean(i) += delta / NT(num_chains); - - new_elem = acov(0)(1); - delta = new_elem - acov_s_mean.coeff(0, i); - acov_s_mean(0, i) += delta / NT(num_chains); - jj = 1; - while (jj < num_draws-4) - { - new_elem = acov(0)(jj+1); - delta = new_elem - acov_s_mean.coeff(jj, i); - acov_s_mean(jj, i) += delta / NT(num_chains); - - new_elem = acov(0)(jj+2); - delta = new_elem - acov_s_mean.coeff(jj+1, i); - acov_s_mean(jj+1, i) += delta / NT(num_chains); - - jj += 2; - } + num_chains++; + + for (int i = 0; i < d; i++) + { + draws = samples.row(i).transpose(); + compute_autocovariance(draws, auto_cov); + + new_elem = draws.mean(); + delta = new_elem - cm_mean.coeff(i); + cm_mean(i) += delta / NT(num_chains); + cm_var(i) += delta * (new_elem - cm_mean(i)); + + new_elem = auto_cov.coeff(0) * NT(num_draws) / (NT(num_draws) - 1.0); + delta = new_elem - cv_mean.coeff(i); + cv_mean(i) += delta / NT(num_chains); + + new_elem = auto_cov.coeff(1); + delta = new_elem - acov_s_mean.coeff(0, i); + acov_s_mean(0, i) += delta / NT(num_chains); + jj = 1; + while (jj < num_draws-4) + { + new_elem = auto_cov.coeff(jj+1); + delta = new_elem - acov_s_mean.coeff(jj, i); + acov_s_mean(jj, i) += delta / NT(num_chains); + + new_elem = auto_cov.coeff(jj+2); + delta = new_elem - acov_s_mean.coeff(jj+1, i); + acov_s_mean(jj+1, i) += delta / NT(num_chains); + + jj += 2; + } + } } - - } - void estimate_effective_sample_size() - { - rho_hat_s.setZero(num_draws, d); - var_plus = cv_mean * (NT(num_draws) - 1.0) / NT(num_draws); - if (num_chains > 1) + void estimate_effective_sample_size() { - VT cm_var_temp = cm_var * (1.0 / (NT(num_chains)-1.0)); - var_plus += cm_var_temp; - } + rho_hat_s.setZero(num_draws, d); - for (int i = 0; i < d; i++) - { - rho_hat_even = 1.0; - rho_hat_s(0, i) = rho_hat_even; - rho_hat_odd = 1 - (cv_mean.coeff(i) - acov_s_mean.coeff(0, i)) / var_plus.coeff(i); - rho_hat_s(1, i) = rho_hat_odd; - - s = 1; - while (s < (num_draws - 4) && (rho_hat_even + rho_hat_odd) > 0) - { - rho_hat_even = 1.0 - (cv_mean.coeff(i) - acov_s_mean.coeff(s, i)) / var_plus.coeff(i); - rho_hat_odd = 1.0 - (cv_mean.coeff(i) - acov_s_mean.coeff(s+1, i)) / var_plus.coeff(i); - if ((rho_hat_even + rho_hat_odd) >= 0) + var_plus = cv_mean * (NT(num_draws) - 1.0) / NT(num_draws); + if (num_chains > 1) { - rho_hat_s(s + 1, i) = rho_hat_even; - rho_hat_s(s + 2, i) = rho_hat_odd; + VT cm_var_temp = cm_var * (1.0 / (NT(num_chains)-1.0)); + var_plus += cm_var_temp; } - s += 2; - } - - max_s = s; - // this is used in the improved estimate - if (rho_hat_even > 0) { - rho_hat_s(max_s + 1, i) = rho_hat_even; - } - - // Convert Geyer's positive sequence into a monotone sequence - for (jj = 1; jj <= max_s - 3; jj += 2) - { - if (rho_hat_s(jj + 1, i) + rho_hat_s.coeff(jj + 2, i) > rho_hat_s.coeff(jj - 1, i) + rho_hat_s.coeff(jj, i)) + + for (int i = 0; i < d; i++) { - rho_hat_s(jj + 1, i) = (rho_hat_s.coeff(jj - 1, i) + rho_hat_s.coeff(jj, i)) / 2.0; - rho_hat_s(jj + 2, i) = rho_hat_s.coeff(jj + 1, i); + rho_hat_even = 1.0; + rho_hat_s(0, i) = rho_hat_even; + rho_hat_odd = 1 - (cv_mean.coeff(i) - acov_s_mean.coeff(0, i)) / var_plus.coeff(i); + rho_hat_s(1, i) = rho_hat_odd; + + s = 1; + while (s < (num_draws - 4) && (rho_hat_even + rho_hat_odd) > 0) + { + rho_hat_even = 1.0 - (cv_mean.coeff(i) - acov_s_mean.coeff(s, i)) / var_plus.coeff(i); + rho_hat_odd = 1.0 - (cv_mean.coeff(i) - acov_s_mean.coeff(s+1, i)) / var_plus.coeff(i); + if ((rho_hat_even + rho_hat_odd) >= 0) + { + rho_hat_s(s + 1, i) = rho_hat_even; + rho_hat_s(s + 2, i) = rho_hat_odd; + } + s += 2; + } + + max_s = s; + // this is used in the improved estimate + if (rho_hat_even > 0) { + rho_hat_s(max_s + 1, i) = rho_hat_even; + } + + // Convert Geyer's positive sequence into a monotone sequence + for (jj = 1; jj <= max_s - 3; jj += 2) + { + if (rho_hat_s(jj + 1, i) + rho_hat_s.coeff(jj + 2, i) > rho_hat_s.coeff(jj - 1, i) + rho_hat_s.coeff(jj, i)) + { + rho_hat_s(jj + 1, i) = (rho_hat_s.coeff(jj - 1, i) + rho_hat_s.coeff(jj, i)) / 2.0; + rho_hat_s(jj + 2, i) = rho_hat_s.coeff(jj + 1, i); + } + } + NT num_total_draws = NT(num_chains) * NT(num_draws); + NT tau_hat = -1.0 + 2.0 * rho_hat_s.col(i).head(max_s).sum() + rho_hat_s.coeff(max_s + 1, i); + ess(i) = num_total_draws / tau_hat; } - } - - NT num_total_draws = NT(num_chains) * NT(num_draws); - NT tau_hat = -1.0 + 2.0 * rho_hat_s.col(i).head(max_s).sum() + rho_hat_s.coeff(max_s + 1, i); - ess(i) = num_total_draws / tau_hat; } - - } - VT get_effective_sample_size() - { - return ess; - } + VT get_effective_sample_size() + { + return ess; + } }; From 434de2fd08a3094741ae566480aedbdafc21d544 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 12 Mar 2021 18:27:29 +0200 Subject: [PATCH 31/63] resolve the reviews on the root computation --- include/convex_bodies/hpolytope.h | 64 ++++++++++++------- .../quadratic_polynomial_solvers.hpp | 23 +++---- 2 files changed, 53 insertions(+), 34 deletions(-) diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 4a9088544..f8ff3b284 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -657,8 +657,8 @@ class HPolytope { NT alpha; NT min_plus = std::numeric_limits::max(); VT sum_nom; - bool real; - int m = num_of_hyperplanes(), facet = -1; + int m = num_of_hyperplanes(); + int facet = -1; Ar.noalias() = A * r.getCoefficients(); sum_nom = Ar - b; @@ -668,12 +668,14 @@ class HPolytope { NT* sum_nom_data = sum_nom.data(); NT* Ac_data = Ac.data(); - for (int i = 0; i < m; i++) { + for (int i = 0; i < m; i++) + { alpha = -((*Ac_data) / (2.0 * T)); - solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2, real); - if (real) { + if (solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2)) + { lamda = pick_first_intersection_time_with_boundary(lamda1, lamda2, i, facet_prev); - if (lamda < min_plus && lamda > 0) { + if (lamda < min_plus && lamda > 0) + { min_plus = lamda; facet = i; } @@ -702,8 +704,8 @@ class HPolytope { NT min_plus = std::numeric_limits::max(); VT sum_nom; unsigned int j; - int m = num_of_hyperplanes(), facet = -1; - bool real; + int m = num_of_hyperplanes(); + int facet = -1; Ar.noalias() += ((lambda_prev * lambda_prev) / (-2.0*T)) * Ac + lambda_prev * Av; sum_nom = Ar - b; @@ -713,12 +715,14 @@ class HPolytope { NT* Av_data = Av.data(); NT* Ac_data = Ac.data(); - for (int i = 0; i < m; i++) { + for (int i = 0; i < m; i++) + { alpha = -((*Ac_data) / (2.0 * T)); - solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2, real); - if (real) { + if (solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2)) + { lamda = pick_first_intersection_time_with_boundary(lamda1, lamda2, i, facet_prev); - if (lamda < min_plus && lamda > 0) { + if (lamda < min_plus && lamda > 0) + { min_plus = lamda; facet = i; } @@ -731,31 +735,45 @@ class HPolytope { return std::make_pair(min_plus, facet); } - NT pick_first_intersection_time_with_boundary(NT lamda1, NT lamda2, int current_facet, int previous_facet) const + NT pick_first_intersection_time_with_boundary(NT const& lamda1, NT const& lamda2, int const& current_facet, int const& previous_facet) const { - if (lamda1 == lamda2){ + if (lamda1 == lamda2) + { return lamda1; } NT lamda; const double tol = 1e-10; - if (lamda1 * lamda2 < NT(0)) { - if (previous_facet == current_facet) { - if (std::max(lamda1, lamda2) < NT(tol)) { + if (lamda1 * lamda2 < NT(0)) + { + if (previous_facet == current_facet) + { + if (std::max(lamda1, lamda2) < NT(tol)) + { lamda = std::min(lamda1, lamda2); - } else { + } + else + { lamda = std::max(lamda1, lamda2); } } else { lamda = std::max(lamda1, lamda2); } - } else { - if (previous_facet == current_facet) { - if (std::min(lamda1, lamda2) >= NT(0) && std::min(lamda1, lamda2) < NT(tol)) { + } + else + { + if (previous_facet == current_facet) + { + if (std::min(lamda1, lamda2) >= NT(0) && std::min(lamda1, lamda2) < NT(tol)) + { lamda = std::max(lamda1, lamda2); - } else { + } + else + { lamda = std::min(lamda1, lamda2); } - } else { + } + else + { lamda = std::min(lamda1, lamda2); } } diff --git a/include/root_finders/quadratic_polynomial_solvers.hpp b/include/root_finders/quadratic_polynomial_solvers.hpp index a1163f5ff..ad39c2ef5 100644 --- a/include/root_finders/quadratic_polynomial_solvers.hpp +++ b/include/root_finders/quadratic_polynomial_solvers.hpp @@ -2,7 +2,6 @@ // Copyright (c) 2021 Vissarion Fisikopoulos // Copyright (c) 2021 Apostolos Chalkis - // Licensed under GNU LGPL.3, see LICENCE file @@ -11,29 +10,31 @@ // The function compute the roots of a quadratic polynomial equation template -void solve_quadratic_polynomial(NT a, NT b, NT c, NT &x1, NT &x2, bool &real) { - - real = true; - +bool solve_quadratic_polynomial(NT const& a, NT const& b, NT const& c, NT &x1, NT &x2) +{ if (a == NT(0)) { x1 = -c / b; x2 = x1; - return; + return true; } NT Delta = b * b - 4.0 * a * c; - if (Delta < NT(0)) { - real = false; - return; + if (Delta < NT(0)) + { + return false; } - if (b >= NT(0)){ + if (b >= NT(0)) + { x1 = (- b - std::sqrt(Delta)) / (2.0 * a); x2 = (2.0 * c) / (- b - std::sqrt(Delta)); - } else { + } + else + { x1 = (2.0 * c) / (- b + std::sqrt(Delta)); x2 = (- b + std::sqrt(Delta)) / (2.0 * a); } + return true; } From ed4a92b93eca26c876cdc44fc39e7cd5ca5704e0 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 12 Mar 2021 18:29:30 +0200 Subject: [PATCH 32/63] resolve review on the header names --- ...walk.hpp => gaussian_hamiltonian_monte_carlo_exact_walk.hpp} | 0 include/random_walks/random_walks.hpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename include/random_walks/{gaussian_exact_hmc_walk.hpp => gaussian_hamiltonian_monte_carlo_exact_walk.hpp} (100%) diff --git a/include/random_walks/gaussian_exact_hmc_walk.hpp b/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp similarity index 100% rename from include/random_walks/gaussian_exact_hmc_walk.hpp rename to include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index 7852ee052..d1628e562 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -21,7 +21,7 @@ #include "random_walks/uniform_john_walk.hpp" #include "random_walks/uniform_vaidya_walk.hpp" #include "random_walks/uniform_accelerated_billiard_walk.hpp" -#include "random_walks/gaussian_exact_hmc_walk.hpp" +#include "random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp" #include "random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp" #ifndef VOLESTIPY #include "random_walks/hamiltonian_monte_carlo_walk.hpp" From 7c9389e24822a12dd8fbb09923707b4648be7390 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 12 Mar 2021 19:22:10 +0200 Subject: [PATCH 33/63] improve comments and remove unused files and functions --- R-proj/R/RcppExports.R | 215 ++++++++++++++++++ R-proj/src/ess.cpp | 66 ------ include/diagnostics/effective_sample_size.hpp | 176 -------------- include/diagnostics/ess_updater_utils.hpp | 140 +----------- include/diagnostics/ess_window_updater.hpp | 25 +- include/sampling/mmcs.hpp | 57 +++-- 6 files changed, 280 insertions(+), 399 deletions(-) delete mode 100644 R-proj/src/ess.cpp delete mode 100644 include/diagnostics/effective_sample_size.hpp diff --git a/R-proj/R/RcppExports.R b/R-proj/R/RcppExports.R index 33fa76eec..92063c215 100644 --- a/R-proj/R/RcppExports.R +++ b/R-proj/R/RcppExports.R @@ -1,6 +1,69 @@ # Generated by using Rcpp::compileAttributes() -> do not edit by hand # Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 +#' Construct a copula using uniform sampling from the unit simplex +#' +#' Given two families of parallel hyperplanes or a family of parallel hyperplanes and a family of concentric ellispoids centered at the origin intersecting the canonical simplex, this function uniformly samples from the canonical simplex and construct an approximation of the bivariate probability distribution, called copula (see \url{https://en.wikipedia.org/wiki/Copula_(probability_theory)}). +#' At least two families of hyperplanes or one family of hyperplanes and one family of ellipsoids have to be given as input. +#' +#' @param r1 The \eqn{d}-dimensional normal vector of the first family of parallel hyperplanes. +#' @param r2 Optional. The \eqn{d}-dimensional normal vector of the second family of parallel hyperplanes. +#' @param sigma Optional. The \eqn{d\times d} symmetric positive semidefine matrix that describes the family of concentric ellipsoids centered at the origin. +#' @param m The number of the slices for the copula. The default value is 100. +#' @param n The number of points to sample. The default value is \eqn{5\cdot 10^5}. +#' @param seed Optional. A fixed seed for the number generator. +#' +#' @references \cite{L. Cales, A. Chalkis, I.Z. Emiris, V. Fisikopoulos, +#' \dQuote{Practical volume computation of structured convex bodies, and an application to modeling portfolio dependencies and financial crises,} \emph{Proc. of Symposium on Computational Geometry, Budapest, Hungary,} 2018.} +#' +#' @return A \eqn{m\times m} numerical matrix that corresponds to a copula. +#' @examples +#' # compute a copula for two random families of parallel hyperplanes +#' h1 = runif(n = 10, min = 1, max = 1000) +#' h1 = h1 / 1000 +#' h2=runif(n = 10, min = 1, max = 1000) +#' h2 = h2 / 1000 +#' cop = copula(r1 = h1, r2 = h2, m = 10, n = 100000) +#' +#' # compute a copula for a family of parallel hyperplanes and a family of conentric ellipsoids +#' h = runif(n = 10, min = 1, max = 1000) +#' h = h / 1000 +#' E = replicate(10, rnorm(20)) +#' E = cov(E) +#' cop = copula(r1 = h, sigma = E, m = 10, n = 100000) +#' +#' @export +copula <- function(r1, r2 = NULL, sigma = NULL, m = NULL, n = NULL, seed = NULL) { + .Call(`_volesti_copula`, r1, r2, sigma, m, n, seed) +} + +#' Sample perfect uniformly distributed points from well known convex bodies: (a) the unit simplex, (b) the canonical simplex, (c) the boundary of a hypersphere or (d) the interior of a hypersphere. +#' +#' The \eqn{d}-dimensional unit simplex is the set of points \eqn{\vec{x}\in \R^d}, s.t.: \eqn{\sum_i x_i\leq 1}, \eqn{x_i\geq 0}. The \eqn{d}-dimensional canonical simplex is the set of points \eqn{\vec{x}\in \R^d}, s.t.: \eqn{\sum_i x_i = 1}, \eqn{x_i\geq 0}. +#' +#' @param body A list to request exact uniform sampling from special well known convex bodies through the following input parameters: +#' \itemize{ +#' \item{\code{type} }{ A string that declares the type of the body for the exact sampling: a) \code{'unit_simplex'} for the unit simplex, b) \code{'canonical_simplex'} for the canonical simplex, c) \code{'hypersphere'} for the boundary of a hypersphere centered at the origin, d) \code{'ball'} for the interior of a hypersphere centered at the origin.} +#' \item{\code{dimension} }{ An integer that declares the dimension when exact sampling is enabled for a simplex or a hypersphere.} +#' \item{\code{radius} }{ The radius of the \eqn{d}-dimensional hypersphere. The default value is \eqn{1}.} +#' } +#' @param n The number of points that the function is going to sample. +#' @param seed Optional. A fixed seed for the number generator. +#' +#' @references \cite{R.Y. Rubinstein and B. Melamed, +#' \dQuote{Modern simulation and modeling} \emph{ Wiley Series in Probability and Statistics,} 1998.} +#' @references \cite{A Smith, Noah and W Tromble, Roy, +#' \dQuote{Sampling Uniformly from the Unit Simplex,} \emph{ Center for Language and Speech Processing Johns Hopkins University,} 2004.} +#' +#' @return A \eqn{d\times n} matrix that contains, column-wise, the sampled points from the convex polytope P. +#' @examples +#' # 100 uniform points from the 2-d unit ball +#' points = direct_sampling(n = 100, body = list("type" = "ball", "dimension" = 2)) +#' @export +direct_sampling <- function(body, n, seed = NULL) { + .Call(`_volesti_direct_sampling`, body, n, seed) +} + #' Gelman-Rubin and Brooks-Gelman Potential Scale Reduction Factor (PSRF) for each marginal #' #' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. @@ -19,6 +82,37 @@ ess <- function(samples) { .Call(`_volesti_ess`, samples) } +#' Compute the exact volume of (a) a zonotope (b) an arbitrary simplex in V-representation or (c) if the volume is known and declared by the input object. +#' +#' Given a zonotope (as an object of class Zonotope), this function computes the sum of the absolute values of the determinants of all the \eqn{d \times d} submatrices of the \eqn{m\times d} matrix \eqn{G} that contains row-wise the \eqn{m} \eqn{d}-dimensional segments that define the zonotope. +#' For an arbitrary simplex that is given in V-representation this function computes the absolute value of the determinant formed by the simplex's points assuming it is shifted to the origin. +#' +#' @param P A polytope +#' +#' @references \cite{E. Gover and N. Krikorian, +#' \dQuote{Determinants and the Volumes of Parallelotopes and Zonotopes,} \emph{Linear Algebra and its Applications, 433(1), 28 - 40,} 2010.} +#' +#' @return The exact volume of the input polytope, for zonotopes, simplices in V-representation and polytopes with known exact volume +#' @examples +#' +#' # compute the exact volume of a 5-dimensional zonotope defined by the Minkowski sum of 10 segments +#' Z = gen_rand_zonotope(2, 5) +#' vol = exact_vol(Z) +#' +#' \donttest{# compute the exact volume of a 2-d arbitrary simplex +#' V = matrix(c(2,3,-1,7,0,0),ncol = 2, nrow = 3, byrow = TRUE) +#' P = Vpolytope$new(V) +#' vol = exact_vol(P) +#' } +#' +#' # compute the exact volume the 10-dimensional cross polytope +#' P = gen_cross(10,'V') +#' vol = exact_vol(P) +#' @export +exact_vol <- function(P) { + .Call(`_volesti_exact_vol`, P) +} + #' Compute the percentage of the volume of the simplex that is contained in the intersection of a half-space and the simplex. #' #' A half-space \eqn{H} is given as a pair of a vector \eqn{a\in R^d} and a scalar \eqn{z0\in R} s.t.: \eqn{a^Tx\leq z0}. This function calls the Ali's version of the Varsi formula to compute a frustum of the simplex. @@ -44,6 +138,21 @@ frustum_of_simplex <- function(a, z0) { .Call(`_volesti_frustum_of_simplex`, a, z0) } +#' Internal rcpp function to compute the full dimensional polytope when a low dimensional is given +#' +#' @param P A low dimensional convex polytope in H-representation. +#' +#' @keywords internal +#' +#' @return A numerical matrix that describes the full dimensional polytope, a numerical matrix of the inverse +#' linear transformation that is applied on the input polytope, the numerical vector - point that the +#' input polytope is shifted and the product of the singular values of the matrix of the linear map +#' applied on the input polytope. +#' +full_dimensional_polytope <- function(P) { + .Call(`_volesti_full_dimensional_polytope`, P) +} + #' Geweke's MCMC diagnostic #' #' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. @@ -83,6 +192,28 @@ inner_ball <- function(P, lpsolve = NULL) { .Call(`_volesti_inner_ball`, P, lpsolve) } +#' Solve an ODE of the form dx^n / dt^n = F(x, t) +#' +#' @param n The number of steps. +#' @param step_size The step size. +#' @param order The ODE order (default is n = 1) +#' @param dimension The dimension of each derivative +#' @param initial_time The initial time +#' @param F The function oracle F(x, t) in the ODE. +#' @param method The method to be used +#' @param initial_conditions The initial conditions provided to the solver. Must be provided in a list with keys "x_1", ..., "x_n" and column vectors as values. The state "x_n" represents the (n-1)-th order derivative with respect to time +#' @param domains A list of n H-polytopes with keys "P_1", "P_2", ..., "P_n" that correspond to each derivative's domain +#' +#' @return A list which contains elements "x_1", ..., "x_n" representing each derivative results. Each "x_i" corresponds to a d x n matrix where each column represents a certain timestep of the solver. +#' +#' @examples +#' # Please visit the examples directory on examples demonstrating usage of the ODE solvers. +#' +#' @export +ode_solve <- function(n, step_size, order, dimension, initial_time, F, method, domains = NULL, initial_conditions = NULL) { + .Call(`_volesti_ode_solve`, n, step_size, order, dimension, initial_time, F, method, domains, initial_conditions) +} + #' An internal Rccp function as a polytope generator #' #' @param kind_gen An integer to declare the type of the polytope. @@ -151,6 +282,32 @@ raftery <- function(samples, q = NULL, r = NULL, s = NULL) { .Call(`_volesti_raftery`, samples, q, r, s) } +#' An internal Rccp function for the random rotation of a convex polytope +#' +#' @param P A convex polytope (H-, V-polytope or a zonotope). +#' @param T Optional. A rotation matrix. +#' @param seed Optional. A fixed seed for the random linear map generator. +#' +#' @keywords internal +#' +#' @return A matrix that describes the rotated polytope +rotating <- function(P, T = NULL, seed = NULL) { + .Call(`_volesti_rotating`, P, T, seed) +} + +#' Internal rcpp function for the rounding of a convex polytope +#' +#' @param P A convex polytope (H- or V-representation or zonotope). +#' @param method Optional. The method to use for rounding, a) \code{'min_ellipsoid'} for the method based on mimimmum volume enclosing ellipsoid of a uniform sample from P, b) \code{'max_ellipsoid'} for the method based on maximum volume enclosed ellipsoid in P, (c) \code{'svd'} for the method based on svd decomposition. The default method is \code{'min_ellipsoid'} for all the representations. +#' @param seed Optional. A fixed seed for the number generator. +#' +#' @keywords internal +#' +#' @return A numerical matrix that describes the rounded polytope, a numerical matrix of the inverse linear transofmation that is applied on the input polytope, the numerical vector the the input polytope is shifted and the determinant of the matrix of the linear transformation that is applied on the input polytope. +rounding <- function(P, method = NULL, seed = NULL) { + .Call(`_volesti_rounding`, P, method, seed) +} + #' Sample uniformly, normally distributed, or logconcave distributed points from a convex Polytope (H-polytope, V-polytope, zonotope or intersection of two V-polytopes). #' #' @param P A convex polytope. It is an object from class (a) Hpolytope or (b) Vpolytope or (c) Zonotope or (d) VpolytopeIntersection. @@ -258,3 +415,61 @@ loadSdpaFormatFile <- function(inputFile = NULL) { .Call(`_volesti_loadSdpaFormatFile`, inputFile) } +#' The main function for volume approximation of a convex Polytope (H-polytope, V-polytope, zonotope or intersection of two V-polytopes) +#' +#' For the volume approximation can be used three algorithms. Either CoolingBodies (CB) or SequenceOfBalls (SOB) or CoolingGaussian (CG). An H-polytope with \eqn{m} facets is described by a \eqn{m\times d} matrix \eqn{A} and a \eqn{m}-dimensional vector \eqn{b}, s.t.: \eqn{P=\{x\ |\ Ax\leq b\} }. A V-polytope is defined as the convex hull of \eqn{m} \eqn{d}-dimensional points which correspond to the vertices of P. A zonotope is desrcibed by the Minkowski sum of \eqn{m} \eqn{d}-dimensional segments. +#' +#' @param P A convex polytope. It is an object from class a) Hpolytope or b) Vpolytope or c) Zonotope or d) VpolytopeIntersection. +#' @param settings Optional. A list that declares which algorithm, random walk and values of parameters to use, as follows: +#' \itemize{ +#' \item{\code{algorithm} }{ A string to set the algorithm to use: a) \code{'CB'} for CB algorithm, b) \code{'SoB'} for SOB algorithm or b) \code{'CG'} for CG algorithm. The defalut algorithm is \code{'CB'}.} +#' \item{\code{error} }{ A numeric value to set the upper bound for the approximation error. The default value is \eqn{1} for SOB algorithm and \eqn{0.1} otherwise.} +#' \item{\code{random_walk} }{ A string that declares the random walk method: a) \code{'CDHR'} for Coordinate Directions Hit-and-Run, b) \code{'RDHR'} for Random Directions Hit-and-Run, c) \code{'BaW'} for Ball Walk, or \code{'BiW'} for Billiard walk. For CB algorithm the default walk is \code{'BiW'}. For CG and SOB algorithms the default walk is \code{'CDHR'} for H-polytopes and \code{'RDHR'} for the other representations.} +#' \item{\code{walk_length} }{ An integer to set the number of the steps for the random walk. The default value is \eqn{\lfloor 10 + d/10\rfloor} for \code{'SOB'} and \eqn{1} otherwise.} +#' \item{\code{win_len} }{ The length of the sliding window for CB or CG algorithm. The default value is \eqn{250} for CB with BiW and \eqn{400+3d^2} for CB and any other random walk and \eqn{500+4d^2} for CG.} +#' \item{\code{hpoly} }{ A boolean parameter to use H-polytopes in MMC of CB algorithm when the input polytope is a zonotope. The default value is \code{TRUE} when the order of the zonotope is \eqn{<5}, otherwise it is \code{FALSE}.} +#' } +#' @param rounding Optional. A string parameter to request a rounding method to be applied in the input polytope before volume computation: a) \code{'min_ellipsoid'}, b) \code{'svd'}, c) \code{'max_ellipsoid'} and d) \code{'none'} for no rounding. +#' @param seed Optional. A fixed seed for the number generator. +#' +#' @references \cite{I.Z.Emiris and V. Fisikopoulos, +#' \dQuote{Practical polytope volume approximation,} \emph{ACM Trans. Math. Soft.,} 2018.}, +#' @references \cite{A. Chalkis and I.Z.Emiris and V. Fisikopoulos, +#' \dQuote{Practical Volume Estimation by a New Annealing Schedule for Cooling Convex Bodies,} \emph{CoRR, abs/1905.05494,} 2019.}, +#' @references \cite{B. Cousins and S. Vempala, \dQuote{A practical volume algorithm,} \emph{Springer-Verlag Berlin Heidelberg and The Mathematical Programming Society,} 2015.} +#' +#' +#' @return The approximation of the volume of a convex polytope. +#' @examples +#' +#' # calling SOB algorithm for a H-polytope (5d unit simplex) +#' HP = gen_cube(5,'H') +#' vol = volume(HP) +#' +#' # calling CG algorithm for a V-polytope (3d simplex) +#' VP = gen_simplex(3,'V') +#' vol = volume(VP, settings = list("algorithm" = "CG")) +#' +#' # calling CG algorithm for a 2-dimensional zonotope defined as the Minkowski sum of 4 segments +#' Z = gen_rand_zonotope(2, 4) +#' vol = volume(Z, settings = list("random_walk" = "RDHR", "walk_length" = 2)) +#' +#' @export +volume <- function(P, settings = NULL, rounding = NULL, seed = NULL) { + .Call(`_volesti_volume`, P, settings, rounding, seed) +} + +#' An internal Rccp function for the over-approximation of a zonotope +#' +#' @param Z A zonotope. +#' @param fit_ratio Optional. A boolean parameter to request the computation of the ratio of fitness. +#' @param settings Optional. A list that declares the values of the parameters of CB algorithm. +#' @param seed Optional. A fixed seed for the number generator. +#' +#' @keywords internal +#' +#' @return A List that contains a numerical matrix that describes the PCA approximation as a H-polytope and the ratio of fitness. +zono_approx <- function(Z, fit_ratio = NULL, settings = NULL, seed = NULL) { + .Call(`_volesti_zono_approx`, Z, fit_ratio, settings, seed) +} + diff --git a/R-proj/src/ess.cpp b/R-proj/src/ess.cpp deleted file mode 100644 index 444c44461..000000000 --- a/R-proj/src/ess.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// [[Rcpp::depends(BH)]] - -// VolEsti (volume computation and sampling library) - -// Copyright (c) 20014-2020 Vissarion Fisikopoulos -// Copyright (c) 2018-2020 Apostolos Chalkis - -//Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - -#include -#include -#include -#include -#include -#include -#include -#include "diagnostics/ess_window_updater.hpp" - -//' Gelman-Rubin and Brooks-Gelman Potential Scale Reduction Factor (PSRF) for each marginal -//' -//' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. -//' @param method A string to reauest diagnostic: (i) \code{'normal'} for psrf of Gelman-Rubin and (ii) \code{'interval'} for psrf of Brooks-Gelman. -//' -//' @references \cite{Gelman, A. and Rubin, D. B., -//' \dQuote{Inference from iterative simulation using multiple sequences,} \emph{Statistical Science,} 1992.} -//' -//' @references \cite{Brooks, S. and Gelman, A., -//' \dQuote{General Methods for Monitoring Convergence of Iterative Simulations,} \emph{Journal of Computational and Graphical Statistics,} 1998.} -//' -//' @return A vector that contains the values of PSRF for each coordinate -//' -//' @export -// [[Rcpp::export]] -Rcpp::NumericVector ess(Rcpp::NumericMatrix samples) -{ - typedef double NT; - typedef Eigen::Matrix VT; - typedef Eigen::Matrix MT; - - MT runs = Rcpp::as(samples), subruns; - unsigned int ndraws = runs.cols() / 4; - std::cout<<"ndraws = "< estimator(ndraws, d); - - subruns = runs.block(0, 0, d, ndraws); - std::cout<<"subruns = "< - -#ifndef EFFECTIVE_SAMPLE_SIZE_HPP -#define EFFECTIVE_SAMPLE_SIZE_HPP - -template -void cummulative_minimum(std::vector &v) { - unsigned int N = v.size(); - - double cummin = v[0]; - for (unsigned int i = 0; i < N; i++) { - if (v[i] > cummin){ - v[i] = cummin; - } else { - cummin = v[i]; - } - } -} - -template -NT get_abs(NT &x) { - if (x < NT(0)) return -x; - return x; -} - -inline size_t get_good_size_22(size_t N) { - // Find the optimal next size for the FFT so that - // a minimum number of zeros are padded. - - if (N <= 2) { - return(2); - } - size_t m; - while (true) { - m = N; - while ((m % 2) == 0){ - m = m / 2; - } - while ((m % 3) == 0){ - m = m / 3; - } - while ((m % 5) == 0) { - m = m / 5; - } - if (m <= 1) { - return(N); - } - N = N + 1; - } -} - -template -VT effective_sample_size(MT const& samples, unsigned int &min_ess) { - typedef Eigen::FFT EigenFFT; - typedef std::complex CNT; - EigenFFT fft; - - // Sample matrix is provided as d x n_samples - unsigned int d = samples.rows(); - unsigned int N = samples.cols(); - unsigned int N_even = N - N % 2; - - // Calculate effective sample size per dimension - VT ess; - ess.resize(d); - - // Autocorrelation vector - std::vector autocorrelation(N, NT(0)); - std::vector min_auto_correlation(N_even / 2, NT(0)); - - - // Z-normalized samples - std::vector normalized_sample_row(2 * N); - - // FFT vector - std::vector fft_vec(2 * N); - std::vector fft_inv_vec(2 * N); - std::vector psd(2 * N); - - // Helper variables - NT row_mean; - NT variance; - NT gap; - - for (unsigned int i = 0; i < d; i++) { - - // Z-normalization - row_mean = samples.row(i).mean(); - - for (int j = 0; j < N; j++) { - normalized_sample_row[j] = samples(i, j) - row_mean; - // Zero-padding - normalized_sample_row[j + N] = NT(0); - } - - variance = NT(0); - - for (int j = 0; j < N; j++) { - variance += pow(normalized_sample_row[j], 2); - } - - variance *= (1.0 / N); - variance += NT(1e-16)*(get_abs(row_mean)*get_abs(row_mean)); - - for (int j = 0; j < N; j++) { - normalized_sample_row[j] /= sqrt(variance); - } - - // Perform FFT on 2N points - fft.fwd(fft_vec, normalized_sample_row); - - // Calculate PSD which is the norm squared of the FFT of the sequence - for (int j = 0; j < 2 * N; j++) { - psd[j].real(std::norm(fft_vec[j])); - psd[j].imag(NT(0)); - } - - // Invert fft to get autocorrelation function - fft.inv(fft_inv_vec, psd); - - std::cout<<"fft_inv_vec = "; - for (unsigned int j = 0; j < N; j++) { - std::cout<<" "< 0){ - gap += min_auto_correlation[j]; - } else { - break; - } - } - - gap = 2 * gap - NT(1); - if (gap < NT(1)) gap = NT(1); - - ess(i) = (1.0 * N) / gap; - - // Store minimum effective sample size as integer (in general ess is not int) - // for the thinning process - if (i == 0) min_ess = (unsigned int) ceil(ess(i)); - else if ((unsigned int)ceil(ess(i)) < min_ess) min_ess = (unsigned int)ceil(ess(i)); - - } - - return ess; -} - -#endif diff --git a/include/diagnostics/ess_updater_utils.hpp b/include/diagnostics/ess_updater_utils.hpp index 740ffa46c..556e29652 100644 --- a/include/diagnostics/ess_updater_utils.hpp +++ b/include/diagnostics/ess_updater_utils.hpp @@ -13,141 +13,19 @@ #include #include #include -#include -#include -#include #include -#include - -/* The functions `get_good_size_2()`, `autocorrelation()` and `autocovariance()` - was taken from rstan code at https://github.com/stan-dev/rstan */ - -inline size_t get_good_size_2(size_t N) { - // Find the optimal next size for the FFT so that - // a minimum number of zeros are padded. - - if (N <= 2) { - return(2); - } - size_t m; - while (true) { - m = N; - while ((m % 2) == 0){ - m = m / 2; - } - while ((m % 3) == 0){ - m = m / 3; - } - while ((m % 5) == 0) { - m = m / 5; - } - if (m <= 1) { - return(N); - } - N = N + 1; - } -} /** - * Write autocorrelation estimates for every lag for the specified - * input sequence into the specified result using the specified FFT - * engine. Normalizes lag-k autocorrelation estimators by N instead - * of (N - k), yielding biased but more stable estimators as - * discussed in Geyer (1992); see - * https://projecteuclid.org/euclid.ss/1177011137. The return vector - * will be resized to the same length as the input sequence with - * lags given by array index. - * - *

The implementation involves a fast Fourier transform, - * followed by a normalization, followed by an inverse transform. - * - *

An FFT engine can be created for reuse for type double with: - * - *

- *     Eigen::FFT fft;
- * 
- * - * @tparam T Scalar type. - * @param y Input sequence. - * @param ac Autocorrelations. - * @param fft FFT engine instance. - */ -template -void autocorrelation(const Eigen::MatrixBase& y, - Eigen::MatrixBase& ac, Eigen::FFT& fft) { - size_t N = y.size(); - size_t M = get_good_size_2(N); - //std::cout<<"N = "<The implementation involves a fast Fourier transform, - * followed by a normalization, followed by an inverse transform. - * - *

This method is just a light wrapper around the three-argument - * autocovariance function - * - * @tparam T Scalar type. - * @param y Input sequence. - * @param acov Autocovariances. - */ -template -void autocovariance(const Eigen::MatrixBase& y, - Eigen::MatrixBase& acov) { - Eigen::FFT fft; - autocorrelation(y, acov, fft); - //std::cout<<"acov.zize() = "<(acc2) = "<(acc2)<<"\n"< void compute_autocovariance(VT const& samples, VT &auto_cov) { diff --git a/include/diagnostics/ess_window_updater.hpp b/include/diagnostics/ess_window_updater.hpp index 39b366d9b..e2af80e9b 100644 --- a/include/diagnostics/ess_window_updater.hpp +++ b/include/diagnostics/ess_window_updater.hpp @@ -8,10 +8,20 @@ #define ESS_UPDATER_HPP #include "ess_updater_utils.hpp" -#include "effective_sample_size.hpp" +/** + This is a class that updates the effective sample size (ess) of a sample given a new chain + using Welford's algorithm to update the average values and the variance estimates where needed. + The chains has to be of the same length. The ess estimation exploits Geyer's stable estimator + for the autocovariance and the Geyer's conversion to a monotone sequence, given in, + Charles J. Geyer, Practical Markov Chain Monte Carlo, Statistical Science 1992. + + * @tparam NT number type + * @tparam VT vector type + * @tparam MT matrix type +*/ template class ESSestimator { @@ -22,10 +32,10 @@ class ESSestimator { MT acov_s_mean, rho_hat_s; public: - ESSestimator() {} + ESSestimator() {} - ESSestimator(unsigned int const& _ndraws, unsigned int const& _dim) - { + ESSestimator(unsigned int const& _ndraws, unsigned int const& _dim) + { num_draws = _ndraws; d = _dim; num_chains = 0; @@ -111,7 +121,8 @@ class ESSestimator { max_s = s; // this is used in the improved estimate - if (rho_hat_even > 0) { + if (rho_hat_even > 0) + { rho_hat_s(max_s + 1, i) = rho_hat_even; } @@ -130,6 +141,7 @@ class ESSestimator { } } + VT get_effective_sample_size() { return ess; @@ -138,4 +150,5 @@ class ESSestimator { }; -#endif \ No newline at end of file +#endif + diff --git a/include/sampling/mmcs.hpp b/include/sampling/mmcs.hpp index e9d664bc8..94d4fcac1 100644 --- a/include/sampling/mmcs.hpp +++ b/include/sampling/mmcs.hpp @@ -9,7 +9,20 @@ #include "diagnostics/ess_window_updater.hpp" -template < +/** + The class implements a single step of the Multiphase Monte Carlo Sampling algorithm + given in, + + A. Chalkis, V. Fisikopoulos, E. Tsigaridas, H. Zafeiropoulos, Geometric algorithms for sampling the flux space of metabolic networks, SoCG 21. + + * @tparam Polytope convex polytope type + * @tparam RandomNumberGenerator random number generator type + * @tparam MT matrix type + * @tparam Point cartensian point type + * @tparam WalkTypePolicy random walk type +*/ +template +< typename Polytope, typename RandomNumberGenerator, typename MT, @@ -17,22 +30,21 @@ template < typename WalkTypePolicy > void perform_mmcs_step(Polytope &P, - RandomNumberGenerator &rng, - const unsigned int &walk_length, - const unsigned int &target_ess, - unsigned int const& max_num_samples, - unsigned int const& window, - unsigned int &Neff_sampled, - unsigned int &total_samples, - unsigned int const& num_rounding_steps, - MT &TotalRandPoints, - bool &complete, - const Point &starting_point, - unsigned int const& nburns, - bool request_rounding, - WalkTypePolicy &WalkType) -{ - + RandomNumberGenerator &rng, + const unsigned int &walk_length, + const unsigned int &target_ess, + unsigned int const& max_num_samples, + unsigned int const& window, + unsigned int &Neff_sampled, + unsigned int &total_samples, + unsigned int const& num_rounding_steps, + MT &TotalRandPoints, + bool &complete, + const Point &starting_point, + unsigned int const& nburns, + bool request_rounding, + WalkTypePolicy &WalkType) +{ typedef typename Polytope::NT NT; typedef typename Polytope::VT VT; typedef typename WalkTypePolicy::template Walk @@ -53,7 +65,9 @@ void perform_mmcs_step(Polytope &P, if (request_rounding) { TotalRandPoints.setZero(num_rounding_steps, P.dimension()); - } else { + } + else + { TotalRandPoints.setZero(max_num_samples, P.dimension()); } @@ -102,11 +116,14 @@ void perform_mmcs_step(Polytope &P, if (min_eff_samples > 0) { points_to_sample += (total_samples / min_eff_samples) * (target_ess - min_eff_samples) + 100; - } else { + } + else + { points_to_sample = total_samples + 100; } } } } -#endif \ No newline at end of file +#endif + From 541e5b967d34d4a628e38ec6bfa17330adddccd2 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 12 Mar 2021 19:25:35 +0200 Subject: [PATCH 34/63] change a variable name in autocavariance estimator --- include/diagnostics/ess_updater_utils.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/diagnostics/ess_updater_utils.hpp b/include/diagnostics/ess_updater_utils.hpp index 556e29652..cc8dfb366 100644 --- a/include/diagnostics/ess_updater_utils.hpp +++ b/include/diagnostics/ess_updater_utils.hpp @@ -38,18 +38,18 @@ void compute_autocovariance(VT const& samples, VT &auto_cov) auto_cov.setZero(N); // compute normalized samples - VT normalized_sample_row(2 * N); - normalized_sample_row.setZero(); - normalized_sample_row.head(N) = samples.array() - samples_mean; + VT normalized_samples(2 * N); + normalized_samples.setZero(); + normalized_samples.head(N) = samples.array() - samples_mean; - NT variance = (normalized_sample_row.cwiseProduct(normalized_sample_row)).sum(); + NT variance = (normalized_samples.cwiseProduct(normalized_samples)).sum(); variance *= (1.0 / N); variance += NT(1e-16)*(samples_mean*samples_mean); - normalized_sample_row.head(N) = normalized_sample_row.head(N).array() / sqrt(variance); + normalized_samples.head(N) = normalized_samples.head(N).array() / sqrt(variance); // Perform FFT on 2N points CVT frequency(2 * N); - fft.fwd(frequency, normalized_sample_row); + fft.fwd(frequency, normalized_samples); // Invert fft to get autocorrelation function CVT auto_cov_tmp(2 * N); From 1ac29c9a9fa8d8ecc9d0fe0c269bf93ac4fc5a54 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 13 Mar 2021 17:49:09 +0200 Subject: [PATCH 35/63] improve definition of macro RVOLESTI --- R-proj/src/copula.cpp | 4 +++- R-proj/src/direct_sampling.cpp | 4 +++- R-proj/src/exact_vol.cpp | 4 +++- R-proj/src/extractMatPoly.h | 4 +++- R-proj/src/frustum_of_simplex.cpp | 4 +++- R-proj/src/get_full_dimensional_polytope.cpp | 4 +++- R-proj/src/geweke.cpp | 4 +++- R-proj/src/inner_ball.cpp | 4 +++- R-proj/src/ode_solve.cpp | 4 +++- R-proj/src/poly_gen.cpp | 4 +++- R-proj/src/polytopes_modules.cpp | 5 ++++- R-proj/src/psrf_multivariate.cpp | 4 +++- R-proj/src/psrf_univariate.cpp | 4 +++- R-proj/src/raftery.cpp | 4 +++- R-proj/src/rotating.cpp | 4 +++- R-proj/src/rounding.cpp | 4 +++- R-proj/src/sample_points.cpp | 4 +++- R-proj/src/spectrahedron.cpp | 4 +++- R-proj/src/spectrahedron_module.cpp | 4 +++- R-proj/src/volume.cpp | 4 +++- R-proj/src/zonotope_approximation.cpp | 4 +++- 21 files changed, 64 insertions(+), 21 deletions(-) diff --git a/R-proj/src/copula.cpp b/R-proj/src/copula.cpp index c5bd3339b..6b489bf97 100644 --- a/R-proj/src/copula.cpp +++ b/R-proj/src/copula.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/direct_sampling.cpp b/R-proj/src/direct_sampling.cpp index 8b34a7a40..a34e55cd0 100644 --- a/R-proj/src/direct_sampling.cpp +++ b/R-proj/src/direct_sampling.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/exact_vol.cpp b/R-proj/src/exact_vol.cpp index 5c97811fc..80104ef9a 100644 --- a/R-proj/src/exact_vol.cpp +++ b/R-proj/src/exact_vol.cpp @@ -5,7 +5,9 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/extractMatPoly.h b/R-proj/src/extractMatPoly.h index 6fd905a98..3f7e0296d 100644 --- a/R-proj/src/extractMatPoly.h +++ b/R-proj/src/extractMatPoly.h @@ -18,7 +18,9 @@ // Public License. If you did not receive this file along with HeaDDaCHe, // see . -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #ifndef EXTRACTMATPOLY_H #define EXTRACTMATPOLY_H diff --git a/R-proj/src/frustum_of_simplex.cpp b/R-proj/src/frustum_of_simplex.cpp index cafac57a8..db46b5c57 100644 --- a/R-proj/src/frustum_of_simplex.cpp +++ b/R-proj/src/frustum_of_simplex.cpp @@ -3,7 +3,9 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/get_full_dimensional_polytope.cpp b/R-proj/src/get_full_dimensional_polytope.cpp index 55b4dbf20..fd3ee8b77 100644 --- a/R-proj/src/get_full_dimensional_polytope.cpp +++ b/R-proj/src/get_full_dimensional_polytope.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/geweke.cpp b/R-proj/src/geweke.cpp index b36127fce..b18191826 100644 --- a/R-proj/src/geweke.cpp +++ b/R-proj/src/geweke.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/inner_ball.cpp b/R-proj/src/inner_ball.cpp index ca4a7d878..43edc0991 100644 --- a/R-proj/src/inner_ball.cpp +++ b/R-proj/src/inner_ball.cpp @@ -2,7 +2,9 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/ode_solve.cpp b/R-proj/src/ode_solve.cpp index 65f069b40..4f60cf0e9 100644 --- a/R-proj/src/ode_solve.cpp +++ b/R-proj/src/ode_solve.cpp @@ -8,7 +8,9 @@ //Contributed and/or modified by Marios Papachristou, as part of Google Summer of Code 2018 and 2019 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/poly_gen.cpp b/R-proj/src/poly_gen.cpp index 12dfb9460..819f5b350 100644 --- a/R-proj/src/poly_gen.cpp +++ b/R-proj/src/poly_gen.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/polytopes_modules.cpp b/R-proj/src/polytopes_modules.cpp index 599f9a2f6..57348f8fb 100644 --- a/R-proj/src/polytopes_modules.cpp +++ b/R-proj/src/polytopes_modules.cpp @@ -3,7 +3,10 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif + #include diff --git a/R-proj/src/psrf_multivariate.cpp b/R-proj/src/psrf_multivariate.cpp index 5eeff8c9d..e4cd49fd8 100644 --- a/R-proj/src/psrf_multivariate.cpp +++ b/R-proj/src/psrf_multivariate.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/psrf_univariate.cpp b/R-proj/src/psrf_univariate.cpp index 316db3703..b69154b1e 100644 --- a/R-proj/src/psrf_univariate.cpp +++ b/R-proj/src/psrf_univariate.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/raftery.cpp b/R-proj/src/raftery.cpp index 0eef0c8c3..42d052fa7 100644 --- a/R-proj/src/raftery.cpp +++ b/R-proj/src/raftery.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/rotating.cpp b/R-proj/src/rotating.cpp index d0f270c11..c94e8e127 100644 --- a/R-proj/src/rotating.cpp +++ b/R-proj/src/rotating.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/rounding.cpp b/R-proj/src/rounding.cpp index fa912e4f9..3d10a2576 100644 --- a/R-proj/src/rounding.cpp +++ b/R-proj/src/rounding.cpp @@ -8,7 +8,9 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 2625ae646..d78d35b4d 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -9,7 +9,9 @@ // Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/spectrahedron.cpp b/R-proj/src/spectrahedron.cpp index dedc69a32..f93cace6b 100644 --- a/R-proj/src/spectrahedron.cpp +++ b/R-proj/src/spectrahedron.cpp @@ -7,7 +7,9 @@ // Licensed under GNU LGPL.3, see LICENCE file -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/spectrahedron_module.cpp b/R-proj/src/spectrahedron_module.cpp index 284bd42f9..cccef691b 100644 --- a/R-proj/src/spectrahedron_module.cpp +++ b/R-proj/src/spectrahedron_module.cpp @@ -7,7 +7,9 @@ // Licensed under GNU LGPL.3, see LICENCE file -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include diff --git a/R-proj/src/volume.cpp b/R-proj/src/volume.cpp index 863b3797e..a80927c91 100644 --- a/R-proj/src/volume.cpp +++ b/R-proj/src/volume.cpp @@ -7,7 +7,9 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include diff --git a/R-proj/src/zonotope_approximation.cpp b/R-proj/src/zonotope_approximation.cpp index 0f3aea42e..8d7f8a639 100644 --- a/R-proj/src/zonotope_approximation.cpp +++ b/R-proj/src/zonotope_approximation.cpp @@ -5,7 +5,9 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis -#define RVOLESTI +#ifndef RVOLESTI + #define RVOLESTI +#endif #include #include From de8b3e09d1c3e4ee388507b493ece98ecdc364c3 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 13 Mar 2021 18:17:42 +0200 Subject: [PATCH 36/63] add an example to sample from exponential exact HMC --- R-proj/src/sample_points.cpp | 32 +++++----- examples/logconcave/CMakeLists.txt | 1 + examples/logconcave/exponential_exact_hmc.cpp | 59 +++++++++++++++++++ 3 files changed, 76 insertions(+), 16 deletions(-) create mode 100644 examples/logconcave/exponential_exact_hmc.cpp diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index d78d35b4d..3d62fa34b 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -65,28 +65,28 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo { case bcdhr: uniform_sampling_boundary (randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); break; case brdhr: uniform_sampling_boundary (randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); break; case cdhr: if(gaussian) { gaussian_sampling(randPoints, P, rng, walkL, numpoints, - a, StartingPoint, nburns); + a, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } break; case rdhr: if(gaussian) { gaussian_sampling(randPoints, P, rng, walkL, numpoints, - a, StartingPoint, nburns); + a, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } break; case vaidya_walk: @@ -95,7 +95,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo uniform_sampling(randPoints, P, rng, WalkType, walkL, numpoints, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } break; case dikin_walk: @@ -104,7 +104,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo uniform_sampling(randPoints, P, rng, WalkType, walkL, numpoints, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } break; case john_walk: @@ -113,7 +113,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo uniform_sampling(randPoints, P, rng, WalkType, walkL, numpoints, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } break; case billiard: @@ -122,7 +122,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo uniform_sampling(randPoints, P, rng, WalkType, walkL, numpoints, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } break; case accelarated_billiard: @@ -131,7 +131,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo uniform_sampling(randPoints, P, rng, WalkType, walkL, numpoints, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } break; case exponential_hmc: @@ -140,7 +140,7 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo exponential_sampling(randPoints, P, rng, WalkType, walkL, numpoints, c, a, StartingPoint, nburns); } else { exponential_sampling(randPoints, P, rng, walkL, numpoints, c, a, - StartingPoint, nburns); + StartingPoint, nburns); } break; case ball_walk: @@ -148,19 +148,19 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo if (gaussian) { GaussianBallWalk WalkType(L); gaussian_sampling(randPoints, P, rng, WalkType, walkL, numpoints, a, - StartingPoint, nburns); + StartingPoint, nburns); } else { BallWalk WalkType(L); uniform_sampling(randPoints, P, rng, WalkType, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } } else { if(gaussian) { gaussian_sampling(randPoints, P, rng, walkL, numpoints, - a, StartingPoint, nburns); + a, StartingPoint, nburns); } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, - StartingPoint, nburns); + StartingPoint, nburns); } } break; diff --git a/examples/logconcave/CMakeLists.txt b/examples/logconcave/CMakeLists.txt index 21410063c..b71ff7ede 100644 --- a/examples/logconcave/CMakeLists.txt +++ b/examples/logconcave/CMakeLists.txt @@ -111,6 +111,7 @@ else () add_executable (simple_sde simple_sde.cpp) add_executable (high_dimensional_hmc high_dimensional_hmc.cpp) add_executable (high_dimensional_hmc_rand_poly high_dimensional_hmc_rand_poly.cpp) + add_executable (exponential_exact_hmc exponential_exact_hmc.cpp) TARGET_LINK_LIBRARIES(high_dimensional_hmc_rand_poly ${LP_SOLVE}) diff --git a/examples/logconcave/exponential_exact_hmc.cpp b/examples/logconcave/exponential_exact_hmc.cpp new file mode 100644 index 000000000..0f1b8796d --- /dev/null +++ b/examples/logconcave/exponential_exact_hmc.cpp @@ -0,0 +1,59 @@ +// VolEsti (volume computation and sampling library) + +// Copyright (c) 2012-2021 Vissarion Fisikopoulos +// Copyright (c) 2018-2021 Apostolos Chalkis + +#include "Eigen/Eigen" + +#include +#include +#include +#include +#include +#include "random_walks/random_walks.hpp" +#include "volume/volume_sequence_of_balls.hpp" +#include "volume/volume_cooling_gaussians.hpp" +#include "sampling/sampling.hpp" +#include "generators/known_polytope_generators.h" +#include "diagnostics/multivariate_psrf.hpp" + + +template +void run_main() +{ + typedef Cartesian Kernel; + typedef BoostRandomNumberGenerator RNGType; + typedef typename Kernel::Point Point; + typedef HPolytope Hpolytope; + typedef Eigen::Matrix VT; + typedef Eigen::Matrix MT; + + int dim = 50; + + Hpolytope P = generate_cube(dim, false); + std::list randPoints; + RNGType rng(dim); + unsigned int walkL = 1, numpoints = 1000, nburns = 0; + NT variance = 1.0; + + Point c(dim), StartingPoint(dim); + P.set_InnerBall(std::pair(Point(dim), 1.0)); + c = GetDirection::apply(dim, rng, false); + exponential_sampling(randPoints, P, rng, walkL, numpoints, c, variance, + StartingPoint, nburns); + MT samples; + samples.resize(dim, numpoints); + int jj = 0; + + for (typename std::list::iterator rpit = randPoints.begin(); rpit!=randPoints.end(); rpit++, jj++) + { + samples.col(jj) = (*rpit).getCoefficients(); + } + + std::cerr << "PSRF: " << multivariate_psrf(samples) << std::endl; +} + +int main() { + run_main(); + return 0; +} From 6d3c481e4aca5f5029a513f3ce44332e879e8829 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 13 Mar 2021 18:40:23 +0200 Subject: [PATCH 37/63] add a c++ example from the gaussian exact HMC --- R-proj/src/sample_points.cpp | 3 -- examples/logconcave/CMakeLists.txt | 1 + examples/logconcave/gaussian_exact_hmc.cpp | 60 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 examples/logconcave/gaussian_exact_hmc.cpp diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 968dfd886..8a6ea94f6 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -88,7 +88,6 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo } else { uniform_sampling(randPoints, P, rng, walkL, numpoints, StartingPoint, nburns); -<<<<<<< HEAD } break; case gaussian_hmc: @@ -98,8 +97,6 @@ void sample_from_polytope(Polytope &P, int type, RNGType &rng, PointList &randPo } else { gaussian_sampling(randPoints, P, rng, walkL, numpoints, a, StartingPoint, nburns); -======= ->>>>>>> hmc_exponential } break; case vaidya_walk: diff --git a/examples/logconcave/CMakeLists.txt b/examples/logconcave/CMakeLists.txt index b71ff7ede..4eaab59c5 100644 --- a/examples/logconcave/CMakeLists.txt +++ b/examples/logconcave/CMakeLists.txt @@ -112,6 +112,7 @@ else () add_executable (high_dimensional_hmc high_dimensional_hmc.cpp) add_executable (high_dimensional_hmc_rand_poly high_dimensional_hmc_rand_poly.cpp) add_executable (exponential_exact_hmc exponential_exact_hmc.cpp) + add_executable (gaussian_exact_hmc gaussian_exact_hmc.cpp) TARGET_LINK_LIBRARIES(high_dimensional_hmc_rand_poly ${LP_SOLVE}) diff --git a/examples/logconcave/gaussian_exact_hmc.cpp b/examples/logconcave/gaussian_exact_hmc.cpp new file mode 100644 index 000000000..bea9ec29b --- /dev/null +++ b/examples/logconcave/gaussian_exact_hmc.cpp @@ -0,0 +1,60 @@ +// VolEsti (volume computation and sampling library) + +// Copyright (c) 2012-2021 Vissarion Fisikopoulos +// Copyright (c) 2018-2021 Apostolos Chalkis + +#include "Eigen/Eigen" + +#include +#include +#include +#include +#include +#include "random_walks/random_walks.hpp" +#include "volume/volume_sequence_of_balls.hpp" +#include "volume/volume_cooling_gaussians.hpp" +#include "sampling/sampling.hpp" +#include "generators/known_polytope_generators.h" +#include "diagnostics/multivariate_psrf.hpp" + + +template +void run_main() +{ + typedef Cartesian Kernel; + typedef BoostRandomNumberGenerator RNGType; + typedef typename Kernel::Point Point; + typedef HPolytope Hpolytope; + typedef Eigen::Matrix VT; + typedef Eigen::Matrix MT; + + int dim = 50; + + Hpolytope P = generate_cube(dim, false); + std::list randPoints; + RNGType rng(dim); + unsigned int walkL = 1, numpoints = 1000, nburns = 0; + NT variance = 1.0; + NT a = NT(1) / (NT(2) * variance); + + Point c(dim), StartingPoint(dim); + P.set_InnerBall(std::pair(Point(dim), 1.0)); + c = GetDirection::apply(dim, rng, false); + gaussian_sampling(randPoints, P, rng, walkL, numpoints, a, + StartingPoint, nburns); + MT samples; + samples.resize(dim, numpoints); + int jj = 0; + + for (typename std::list::iterator rpit = randPoints.begin(); rpit!=randPoints.end(); rpit++, jj++) + { + samples.col(jj) = (*rpit).getCoefficients(); + } + + std::cerr << "PSRF: " << multivariate_psrf(samples) << std::endl; +} + +int main() { + run_main(); + return 0; +} From 80a956772e476a8ae8dda620d428cae3e19bce7a Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 16 Mar 2021 19:29:27 +0200 Subject: [PATCH 38/63] add two c++ examples for mmcs method, boost external files and burn in methods for aBiW --- examples/CMakeLists.txt | 5 +- examples/mmcs_method/CMakeLists.txt | 115 ++ examples/mmcs_method/random_hpoly_50_dim.cpp | 171 ++ examples/mmcs_method/skinny_cube_10_dim.cpp | 170 ++ external/boost/accumulators/accumulators.hpp | 27 + .../boost/accumulators/accumulators_fwd.hpp | 230 +++ .../framework/accumulator_base.hpp | 65 + .../framework/accumulator_concept.hpp | 29 + .../framework/accumulator_set.hpp | 401 ++++ .../accumulators/droppable_accumulator.hpp | 328 +++ .../accumulators/external_accumulator.hpp | 108 + .../accumulators/reference_accumulator.hpp | 89 + .../accumulators/value_accumulator.hpp | 89 + .../accumulators/framework/depends_on.hpp | 448 ++++ .../boost/accumulators/framework/external.hpp | 27 + .../accumulators/framework/extractor.hpp | 229 +++ .../boost/accumulators/framework/features.hpp | 29 + .../framework/parameters/accumulator.hpp | 22 + .../framework/parameters/sample.hpp | 22 + .../framework/parameters/weight.hpp | 23 + .../framework/parameters/weights.hpp | 23 + .../accumulators/numeric/detail/function1.hpp | 75 + .../accumulators/numeric/detail/function2.hpp | 10 + .../accumulators/numeric/detail/function3.hpp | 10 + .../accumulators/numeric/detail/function4.hpp | 10 + .../numeric/detail/function_n.hpp | 148 ++ .../numeric/detail/pod_singleton.hpp | 20 + .../boost/accumulators/numeric/functional.hpp | 537 +++++ .../numeric/functional/complex.hpp | 82 + .../numeric/functional/valarray.hpp | 362 ++++ .../numeric/functional/vector.hpp | 347 ++++ .../accumulators/numeric/functional_fwd.hpp | 221 ++ external/boost/accumulators/statistics.hpp | 61 + .../boost/accumulators/statistics/count.hpp | 80 + .../accumulators/statistics/covariance.hpp | 212 ++ .../boost/accumulators/statistics/density.hpp | 250 +++ .../accumulators/statistics/error_of.hpp | 99 + .../accumulators/statistics/error_of_mean.hpp | 73 + .../statistics/extended_p_square.hpp | 295 +++ .../statistics/extended_p_square_quantile.hpp | 320 +++ .../accumulators/statistics/kurtosis.hpp | 112 + .../boost/accumulators/statistics/max.hpp | 85 + .../boost/accumulators/statistics/mean.hpp | 298 +++ .../boost/accumulators/statistics/median.hpp | 301 +++ .../boost/accumulators/statistics/min.hpp | 85 + .../boost/accumulators/statistics/moment.hpp | 125 ++ .../statistics/p_square_cumul_dist.hpp | 263 +++ .../p_square_cumulative_distribution.hpp | 19 + .../statistics/p_square_quantile.hpp | 257 +++ .../parameters/quantile_probability.hpp | 23 + .../statistics/peaks_over_threshold.hpp | 405 ++++ .../accumulators/statistics/pot_quantile.hpp | 205 ++ .../accumulators/statistics/pot_tail_mean.hpp | 211 ++ .../accumulators/statistics/rolling_count.hpp | 80 + .../accumulators/statistics/rolling_mean.hpp | 179 ++ .../statistics/rolling_moment.hpp | 113 + .../accumulators/statistics/rolling_sum.hpp | 91 + .../statistics/rolling_variance.hpp | 247 +++ .../statistics/rolling_window.hpp | 172 ++ .../accumulators/statistics/skewness.hpp | 114 + .../boost/accumulators/statistics/stats.hpp | 29 + .../boost/accumulators/statistics/sum.hpp | 141 ++ .../accumulators/statistics/sum_kahan.hpp | 188 ++ .../boost/accumulators/statistics/tail.hpp | 341 +++ .../accumulators/statistics/tail_mean.hpp | 246 +++ .../accumulators/statistics/tail_quantile.hpp | 158 ++ .../accumulators/statistics/tail_variate.hpp | 141 ++ .../statistics/tail_variate_means.hpp | 262 +++ .../statistics/times2_iterator.hpp | 70 + .../accumulators/statistics/variance.hpp | 236 +++ .../statistics/variates/covariate.hpp | 25 + .../statistics/weighted_covariance.hpp | 133 ++ .../statistics/weighted_density.hpp | 221 ++ .../statistics/weighted_extended_p_square.hpp | 290 +++ .../statistics/weighted_kurtosis.hpp | 105 + .../accumulators/statistics/weighted_mean.hpp | 189 ++ .../statistics/weighted_median.hpp | 237 +++ .../statistics/weighted_moment.hpp | 96 + .../weighted_p_square_cumul_dist.hpp | 262 +++ ...ghted_p_square_cumulative_distribution.hpp | 19 + .../statistics/weighted_p_square_quantile.hpp | 255 +++ .../weighted_peaks_over_threshold.hpp | 289 +++ .../statistics/weighted_skewness.hpp | 101 + .../accumulators/statistics/weighted_sum.hpp | 116 ++ .../statistics/weighted_sum_kahan.hpp | 138 ++ .../statistics/weighted_tail_mean.hpp | 169 ++ .../statistics/weighted_tail_quantile.hpp | 146 ++ .../weighted_tail_variate_means.hpp | 246 +++ .../statistics/weighted_variance.hpp | 186 ++ .../accumulators/statistics/with_error.hpp | 44 + .../boost/accumulators/statistics_fwd.hpp | 432 ++++ external/boost/fusion/adapted.hpp | 26 + external/boost/fusion/adapted/adt.hpp | 19 + .../boost/fusion/adapted/adt/adapt_adt.hpp | 80 + .../fusion/adapted/adt/adapt_adt_named.hpp | 31 + .../fusion/adapted/adt/adapt_assoc_adt.hpp | 95 + .../adapted/adt/adapt_assoc_adt_named.hpp | 29 + .../fusion/adapted/adt/detail/adapt_base.hpp | 301 +++ .../detail/adapt_base_assoc_attr_filler.hpp | 64 + .../adt/detail/adapt_base_attr_filler.hpp | 92 + .../fusion/adapted/adt/detail/extension.hpp | 41 + external/boost/fusion/adapted/array.hpp | 27 + .../boost/fusion/adapted/array/at_impl.hpp | 40 + .../boost/fusion/adapted/array/begin_impl.hpp | 44 + .../fusion/adapted/array/category_of_impl.hpp | 32 + .../boost/fusion/adapted/array/deref_impl.hpp | 42 + .../boost/fusion/adapted/array/end_impl.hpp | 46 + .../fusion/adapted/array/is_sequence_impl.hpp | 29 + .../fusion/adapted/array/is_view_impl.hpp | 29 + .../boost/fusion/adapted/array/size_impl.hpp | 30 + .../boost/fusion/adapted/array/tag_of.hpp | 73 + .../fusion/adapted/array/value_at_impl.hpp | 29 + .../fusion/adapted/array/value_of_impl.hpp | 29 + external/boost/fusion/adapted/boost_array.hpp | 23 + .../adapted/boost_array/array_iterator.hpp | 121 ++ .../adapted/boost_array/detail/at_impl.hpp | 47 + .../adapted/boost_array/detail/begin_impl.hpp | 42 + .../boost_array/detail/category_of_impl.hpp | 36 + .../adapted/boost_array/detail/end_impl.hpp | 42 + .../boost_array/detail/is_sequence_impl.hpp | 32 + .../boost_array/detail/is_view_impl.hpp | 33 + .../adapted/boost_array/detail/size_impl.hpp | 29 + .../boost_array/detail/value_at_impl.hpp | 32 + .../fusion/adapted/boost_array/tag_of.hpp | 59 + external/boost/fusion/adapted/boost_tuple.hpp | 23 + .../boost_tuple/boost_tuple_iterator.hpp | 221 ++ .../adapted/boost_tuple/detail/at_impl.hpp | 52 + .../adapted/boost_tuple/detail/begin_impl.hpp | 41 + .../adapted/boost_tuple/detail/build_cons.hpp | 59 + .../boost_tuple/detail/category_of_impl.hpp | 32 + .../boost_tuple/detail/convert_impl.hpp | 50 + .../adapted/boost_tuple/detail/end_impl.hpp | 56 + .../boost_tuple/detail/is_sequence_impl.hpp | 31 + .../boost_tuple/detail/is_view_impl.hpp | 31 + .../adapted/boost_tuple/detail/size_impl.hpp | 32 + .../boost_tuple/detail/value_at_impl.hpp | 31 + .../fusion/adapted/boost_tuple/mpl/clear.hpp | 23 + .../fusion/adapted/boost_tuple/tag_of.hpp | 115 ++ external/boost/fusion/adapted/mpl.hpp | 23 + .../fusion/adapted/mpl/detail/at_impl.hpp | 42 + .../fusion/adapted/mpl/detail/begin_impl.hpp | 47 + .../adapted/mpl/detail/category_of_impl.hpp | 55 + .../fusion/adapted/mpl/detail/empty_impl.hpp | 32 + .../fusion/adapted/mpl/detail/end_impl.hpp | 47 + .../adapted/mpl/detail/has_key_impl.hpp | 32 + .../adapted/mpl/detail/is_sequence_impl.hpp | 32 + .../adapted/mpl/detail/is_view_impl.hpp | 33 + .../fusion/adapted/mpl/detail/size_impl.hpp | 32 + .../adapted/mpl/detail/value_at_impl.hpp | 32 + .../boost/fusion/adapted/mpl/mpl_iterator.hpp | 128 ++ external/boost/fusion/adapted/std_array.hpp | 23 + .../adapted/std_array/detail/array_size.hpp | 25 + .../adapted/std_array/detail/at_impl.hpp | 45 + .../adapted/std_array/detail/begin_impl.hpp | 41 + .../std_array/detail/category_of_impl.hpp | 35 + .../adapted/std_array/detail/end_impl.hpp | 45 + .../std_array/detail/is_sequence_impl.hpp | 32 + .../adapted/std_array/detail/is_view_impl.hpp | 33 + .../adapted/std_array/detail/size_impl.hpp | 41 + .../std_array/detail/value_at_impl.hpp | 32 + .../adapted/std_array/std_array_iterator.hpp | 109 + .../boost/fusion/adapted/std_array/tag_of.hpp | 52 + external/boost/fusion/adapted/std_pair.hpp | 20 + external/boost/fusion/adapted/std_tuple.hpp | 24 + .../adapted/std_tuple/detail/at_impl.hpp | 54 + .../adapted/std_tuple/detail/begin_impl.hpp | 41 + .../std_tuple/detail/build_std_tuple.hpp | 88 + .../std_tuple/detail/category_of_impl.hpp | 32 + .../adapted/std_tuple/detail/convert_impl.hpp | 48 + .../adapted/std_tuple/detail/end_impl.hpp | 45 + .../std_tuple/detail/is_sequence_impl.hpp | 31 + .../adapted/std_tuple/detail/is_view_impl.hpp | 31 + .../adapted/std_tuple/detail/size_impl.hpp | 37 + .../std_tuple/detail/value_at_impl.hpp | 31 + .../fusion/adapted/std_tuple/mpl/clear.hpp | 23 + .../adapted/std_tuple/std_tuple_iterator.hpp | 121 ++ .../boost/fusion/adapted/std_tuple/tag_of.hpp | 47 + external/boost/fusion/adapted/struct.hpp | 22 + .../adapted/struct/adapt_assoc_struct.hpp | 102 + .../struct/adapt_assoc_struct_named.hpp | 29 + .../fusion/adapted/struct/adapt_struct.hpp | 125 ++ .../adapted/struct/adapt_struct_named.hpp | 55 + .../adapted/struct/define_assoc_struct.hpp | 52 + .../fusion/adapted/struct/define_struct.hpp | 43 + .../adapted/struct/define_struct_inline.hpp | 26 + .../adapted/struct/detail/adapt_auto.hpp | 14 + .../adapted/struct/detail/adapt_base.hpp | 309 +++ .../detail/adapt_base_assoc_attr_filler.hpp | 73 + .../struct/detail/adapt_base_attr_filler.hpp | 70 + .../adapted/struct/detail/adapt_is_tpl.hpp | 16 + .../fusion/adapted/struct/detail/at_impl.hpp | 39 + .../adapted/struct/detail/begin_impl.hpp | 70 + .../struct/detail/category_of_impl.hpp | 42 + .../adapted/struct/detail/define_struct.hpp | 479 +++++ .../struct/detail/define_struct_inline.hpp | 529 +++++ .../adapted/struct/detail/deref_data_impl.hpp | 22 + .../adapted/struct/detail/deref_impl.hpp | 41 + .../fusion/adapted/struct/detail/end_impl.hpp | 70 + .../adapted/struct/detail/extension.hpp | 58 + .../struct/detail/is_sequence_impl.hpp | 36 + .../adapted/struct/detail/is_view_impl.hpp | 33 + .../adapted/struct/detail/key_of_impl.hpp | 29 + .../adapted/struct/detail/namespace.hpp | 52 + .../struct/detail/preprocessor/is_seq.hpp | 39 + .../adapted/struct/detail/proxy_type.hpp | 43 + .../adapted/struct/detail/size_impl.hpp | 33 + .../adapted/struct/detail/value_at_impl.hpp | 33 + .../struct/detail/value_of_data_impl.hpp | 22 + .../adapted/struct/detail/value_of_impl.hpp | 29 + external/boost/fusion/algorithm.hpp | 15 + external/boost/fusion/algorithm/auxiliary.hpp | 16 + .../boost/fusion/algorithm/auxiliary/copy.hpp | 91 + .../boost/fusion/algorithm/auxiliary/move.hpp | 93 + external/boost/fusion/algorithm/iteration.hpp | 18 + .../fusion/algorithm/iteration/accumulate.hpp | 45 + .../algorithm/iteration/accumulate_fwd.hpp | 33 + .../algorithm/iteration/detail/fold.hpp | 294 +++ .../algorithm/iteration/detail/for_each.hpp | 149 ++ .../iteration/detail/preprocessed/fold.hpp | 189 ++ .../detail/preprocessed/iter_fold.hpp | 188 ++ .../detail/preprocessed/reverse_fold.hpp | 188 ++ .../detail/preprocessed/reverse_iter_fold.hpp | 188 ++ .../iteration/detail/segmented_fold.hpp | 64 + .../iteration/detail/segmented_for_each.hpp | 52 + .../boost/fusion/algorithm/iteration/fold.hpp | 59 + .../fusion/algorithm/iteration/fold_fwd.hpp | 56 + .../fusion/algorithm/iteration/for_each.hpp | 54 + .../algorithm/iteration/for_each_fwd.hpp | 41 + .../fusion/algorithm/iteration/iter_fold.hpp | 60 + .../algorithm/iteration/iter_fold_fwd.hpp | 56 + .../algorithm/iteration/reverse_fold.hpp | 60 + .../algorithm/iteration/reverse_fold_fwd.hpp | 56 + .../algorithm/iteration/reverse_iter_fold.hpp | 61 + .../iteration/reverse_iter_fold_fwd.hpp | 56 + external/boost/fusion/algorithm/query.hpp | 19 + external/boost/fusion/algorithm/query/all.hpp | 36 + external/boost/fusion/algorithm/query/any.hpp | 37 + .../boost/fusion/algorithm/query/count.hpp | 43 + .../boost/fusion/algorithm/query/count_if.hpp | 43 + .../fusion/algorithm/query/detail/all.hpp | 137 ++ .../fusion/algorithm/query/detail/any.hpp | 140 ++ .../fusion/algorithm/query/detail/count.hpp | 83 + .../algorithm/query/detail/count_if.hpp | 180 ++ .../fusion/algorithm/query/detail/find_if.hpp | 260 +++ .../algorithm/query/detail/segmented_find.hpp | 95 + .../query/detail/segmented_find_if.hpp | 95 + .../boost/fusion/algorithm/query/find.hpp | 72 + .../boost/fusion/algorithm/query/find_fwd.hpp | 37 + .../boost/fusion/algorithm/query/find_if.hpp | 67 + .../fusion/algorithm/query/find_if_fwd.hpp | 38 + .../boost/fusion/algorithm/query/none.hpp | 35 + .../boost/fusion/algorithm/transformation.hpp | 32 + .../fusion/algorithm/transformation/clear.hpp | 34 + .../detail/preprocessed/zip.hpp | 22 + .../detail/preprocessed/zip10.hpp | 216 ++ .../detail/preprocessed/zip20.hpp | 436 ++++ .../detail/preprocessed/zip30.hpp | 656 ++++++ .../detail/preprocessed/zip40.hpp | 876 ++++++++ .../detail/preprocessed/zip50.hpp | 1096 ++++++++++ .../transformation/detail/replace.hpp | 78 + .../transformation/detail/replace_if.hpp | 78 + .../fusion/algorithm/transformation/erase.hpp | 140 ++ .../algorithm/transformation/erase_key.hpp | 36 + .../algorithm/transformation/filter.hpp | 36 + .../algorithm/transformation/filter_if.hpp | 34 + .../algorithm/transformation/flatten.hpp | 46 + .../algorithm/transformation/insert.hpp | 69 + .../algorithm/transformation/insert_range.hpp | 56 + .../fusion/algorithm/transformation/join.hpp | 35 + .../algorithm/transformation/pop_back.hpp | 172 ++ .../algorithm/transformation/pop_front.hpp | 45 + .../algorithm/transformation/push_back.hpp | 47 + .../algorithm/transformation/push_front.hpp | 47 + .../algorithm/transformation/remove.hpp | 37 + .../algorithm/transformation/remove_if.hpp | 37 + .../algorithm/transformation/replace.hpp | 43 + .../algorithm/transformation/replace_if.hpp | 44 + .../algorithm/transformation/reverse.hpp | 40 + .../algorithm/transformation/transform.hpp | 54 + .../fusion/algorithm/transformation/zip.hpp | 118 ++ external/boost/fusion/container.hpp | 18 + external/boost/fusion/container/deque.hpp | 17 + .../container/deque/back_extended_deque.hpp | 53 + .../boost/fusion/container/deque/convert.hpp | 61 + .../boost/fusion/container/deque/deque.hpp | 189 ++ .../fusion/container/deque/deque_fwd.hpp | 49 + .../fusion/container/deque/deque_iterator.hpp | 130 ++ .../fusion/container/deque/detail/at_impl.hpp | 67 + .../container/deque/detail/begin_impl.hpp | 43 + .../container/deque/detail/build_deque.hpp | 78 + .../container/deque/detail/convert_impl.hpp | 56 + .../container/deque/detail/cpp03/as_deque.hpp | 140 ++ .../deque/detail/cpp03/build_deque.hpp | 55 + .../container/deque/detail/cpp03/deque.hpp | 207 ++ .../deque/detail/cpp03/deque_forward_ctor.hpp | 69 + .../deque/detail/cpp03/deque_fwd.hpp | 54 + .../deque/detail/cpp03/deque_initial_size.hpp | 64 + .../deque/detail/cpp03/deque_keyed_values.hpp | 112 + .../detail/cpp03/deque_keyed_values_call.hpp | 72 + .../container/deque/detail/cpp03/limits.hpp | 32 + .../detail/cpp03/preprocessed/as_deque.hpp | 22 + .../detail/cpp03/preprocessed/as_deque10.hpp | 223 ++ .../detail/cpp03/preprocessed/as_deque20.hpp | 433 ++++ .../detail/cpp03/preprocessed/as_deque30.hpp | 643 ++++++ .../detail/cpp03/preprocessed/as_deque40.hpp | 853 ++++++++ .../detail/cpp03/preprocessed/as_deque50.hpp | 1063 ++++++++++ .../deque/detail/cpp03/preprocessed/deque.hpp | 22 + .../detail/cpp03/preprocessed/deque10.hpp | 280 +++ .../detail/cpp03/preprocessed/deque10_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque20.hpp | 460 +++++ .../detail/cpp03/preprocessed/deque20_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque30.hpp | 640 ++++++ .../detail/cpp03/preprocessed/deque30_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque40.hpp | 820 ++++++++ .../detail/cpp03/preprocessed/deque40_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque50.hpp | 1000 +++++++++ .../detail/cpp03/preprocessed/deque50_fwd.hpp | 15 + .../detail/cpp03/preprocessed/deque_fwd.hpp | 22 + .../cpp03/preprocessed/deque_initial_size.hpp | 22 + .../preprocessed/deque_initial_size10.hpp | 18 + .../preprocessed/deque_initial_size20.hpp | 18 + .../preprocessed/deque_initial_size30.hpp | 18 + .../preprocessed/deque_initial_size40.hpp | 18 + .../preprocessed/deque_initial_size50.hpp | 18 + .../cpp03/preprocessed/deque_keyed_values.hpp | 22 + .../preprocessed/deque_keyed_values10.hpp | 252 +++ .../preprocessed/deque_keyed_values20.hpp | 462 +++++ .../preprocessed/deque_keyed_values30.hpp | 672 ++++++ .../preprocessed/deque_keyed_values40.hpp | 882 ++++++++ .../preprocessed/deque_keyed_values50.hpp | 1092 ++++++++++ .../deque/detail/deque_keyed_values.hpp | 76 + .../container/deque/detail/end_impl.hpp | 43 + .../deque/detail/is_sequence_impl.hpp | 32 + .../container/deque/detail/keyed_element.hpp | 171 ++ .../container/deque/detail/value_at_impl.hpp | 46 + .../container/deque/front_extended_deque.hpp | 51 + .../boost/fusion/container/generation.hpp | 24 + .../fusion/container/generation/cons_tie.hpp | 46 + .../fusion/container/generation/deque_tie.hpp | 47 + .../generation/detail/pp_deque_tie.hpp | 102 + .../generation/detail/pp_list_tie.hpp | 102 + .../generation/detail/pp_make_deque.hpp | 116 ++ .../generation/detail/pp_make_list.hpp | 115 ++ .../generation/detail/pp_make_map.hpp | 130 ++ .../generation/detail/pp_make_set.hpp | 134 ++ .../generation/detail/pp_make_vector.hpp | 115 ++ .../generation/detail/pp_map_tie.hpp | 133 ++ .../generation/detail/pp_vector_tie.hpp | 100 + .../detail/preprocessed/deque_tie.hpp | 22 + .../detail/preprocessed/deque_tie10.hpp | 180 ++ .../detail/preprocessed/deque_tie20.hpp | 340 +++ .../detail/preprocessed/deque_tie30.hpp | 500 +++++ .../detail/preprocessed/deque_tie40.hpp | 660 ++++++ .../detail/preprocessed/deque_tie50.hpp | 820 ++++++++ .../detail/preprocessed/list_tie.hpp | 22 + .../detail/preprocessed/list_tie10.hpp | 180 ++ .../detail/preprocessed/list_tie20.hpp | 340 +++ .../detail/preprocessed/list_tie30.hpp | 500 +++++ .../detail/preprocessed/list_tie40.hpp | 660 ++++++ .../detail/preprocessed/list_tie50.hpp | 820 ++++++++ .../detail/preprocessed/make_deque.hpp | 22 + .../detail/preprocessed/make_deque10.hpp | 191 ++ .../detail/preprocessed/make_deque20.hpp | 351 ++++ .../detail/preprocessed/make_deque30.hpp | 511 +++++ .../detail/preprocessed/make_deque40.hpp | 671 ++++++ .../detail/preprocessed/make_deque50.hpp | 831 ++++++++ .../detail/preprocessed/make_list.hpp | 22 + .../detail/preprocessed/make_list10.hpp | 191 ++ .../detail/preprocessed/make_list20.hpp | 351 ++++ .../detail/preprocessed/make_list30.hpp | 511 +++++ .../detail/preprocessed/make_list40.hpp | 671 ++++++ .../detail/preprocessed/make_list50.hpp | 831 ++++++++ .../detail/preprocessed/make_map.hpp | 22 + .../detail/preprocessed/make_map10.hpp | 252 +++ .../detail/preprocessed/make_map20.hpp | 472 +++++ .../detail/preprocessed/make_map30.hpp | 692 +++++++ .../detail/preprocessed/make_map40.hpp | 912 ++++++++ .../detail/preprocessed/make_map50.hpp | 1132 ++++++++++ .../detail/preprocessed/make_set.hpp | 22 + .../detail/preprocessed/make_set10.hpp | 197 ++ .../detail/preprocessed/make_set20.hpp | 357 ++++ .../detail/preprocessed/make_set30.hpp | 517 +++++ .../detail/preprocessed/make_set40.hpp | 677 ++++++ .../detail/preprocessed/make_set50.hpp | 837 ++++++++ .../detail/preprocessed/make_vector.hpp | 22 + .../detail/preprocessed/make_vector10.hpp | 191 ++ .../detail/preprocessed/make_vector20.hpp | 351 ++++ .../detail/preprocessed/make_vector30.hpp | 511 +++++ .../detail/preprocessed/make_vector40.hpp | 671 ++++++ .../detail/preprocessed/make_vector50.hpp | 831 ++++++++ .../detail/preprocessed/map_tie.hpp | 22 + .../detail/preprocessed/map_tie10.hpp | 252 +++ .../detail/preprocessed/map_tie20.hpp | 472 +++++ .../detail/preprocessed/map_tie30.hpp | 692 +++++++ .../detail/preprocessed/map_tie40.hpp | 912 ++++++++ .../detail/preprocessed/map_tie50.hpp | 1132 ++++++++++ .../detail/preprocessed/vector_tie.hpp | 22 + .../detail/preprocessed/vector_tie10.hpp | 180 ++ .../detail/preprocessed/vector_tie20.hpp | 340 +++ .../detail/preprocessed/vector_tie30.hpp | 500 +++++ .../detail/preprocessed/vector_tie40.hpp | 660 ++++++ .../detail/preprocessed/vector_tie50.hpp | 820 ++++++++ .../fusion/container/generation/ignore.hpp | 35 + .../fusion/container/generation/list_tie.hpp | 44 + .../fusion/container/generation/make_cons.hpp | 46 + .../container/generation/make_deque.hpp | 45 + .../fusion/container/generation/make_list.hpp | 46 + .../fusion/container/generation/make_map.hpp | 64 + .../fusion/container/generation/make_set.hpp | 55 + .../container/generation/make_vector.hpp | 55 + .../fusion/container/generation/map_tie.hpp | 48 + .../fusion/container/generation/pair_tie.hpp | 46 + .../container/generation/vector_tie.hpp | 44 + external/boost/fusion/container/list.hpp | 17 + external/boost/fusion/container/list/cons.hpp | 144 ++ .../boost/fusion/container/list/cons_fwd.hpp | 23 + .../fusion/container/list/cons_iterator.hpp | 111 + .../boost/fusion/container/list/convert.hpp | 60 + .../fusion/container/list/detail/at_impl.hpp | 136 ++ .../container/list/detail/begin_impl.hpp | 51 + .../container/list/detail/build_cons.hpp | 61 + .../container/list/detail/convert_impl.hpp | 53 + .../container/list/detail/cpp03/limits.hpp | 23 + .../container/list/detail/cpp03/list.hpp | 104 + .../list/detail/cpp03/list_forward_ctor.hpp | 48 + .../container/list/detail/cpp03/list_fwd.hpp | 51 + .../list/detail/cpp03/list_to_cons.hpp | 76 + .../list/detail/cpp03/list_to_cons_call.hpp | 44 + .../list/detail/cpp03/preprocessed/list.hpp | 22 + .../list/detail/cpp03/preprocessed/list10.hpp | 100 + .../detail/cpp03/preprocessed/list10_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list20.hpp | 140 ++ .../detail/cpp03/preprocessed/list20_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list30.hpp | 180 ++ .../detail/cpp03/preprocessed/list30_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list40.hpp | 220 ++ .../detail/cpp03/preprocessed/list40_fwd.hpp | 16 + .../list/detail/cpp03/preprocessed/list50.hpp | 260 +++ .../detail/cpp03/preprocessed/list50_fwd.hpp | 16 + .../detail/cpp03/preprocessed/list_fwd.hpp | 22 + .../cpp03/preprocessed/list_to_cons.hpp | 22 + .../cpp03/preprocessed/list_to_cons10.hpp | 96 + .../cpp03/preprocessed/list_to_cons20.hpp | 166 ++ .../cpp03/preprocessed/list_to_cons30.hpp | 236 +++ .../cpp03/preprocessed/list_to_cons40.hpp | 306 +++ .../cpp03/preprocessed/list_to_cons50.hpp | 376 ++++ .../container/list/detail/deref_impl.hpp | 54 + .../container/list/detail/empty_impl.hpp | 39 + .../fusion/container/list/detail/end_impl.hpp | 53 + .../container/list/detail/equal_to_impl.hpp | 40 + .../container/list/detail/list_to_cons.hpp | 61 + .../container/list/detail/next_impl.hpp | 61 + .../container/list/detail/reverse_cons.hpp | 46 + .../container/list/detail/value_at_impl.hpp | 43 + .../container/list/detail/value_of_impl.hpp | 36 + external/boost/fusion/container/list/list.hpp | 127 ++ .../boost/fusion/container/list/list_fwd.hpp | 43 + external/boost/fusion/container/list/nil.hpp | 51 + external/boost/fusion/container/map.hpp | 15 + .../boost/fusion/container/map/convert.hpp | 117 ++ .../fusion/container/map/detail/at_impl.hpp | 61 + .../container/map/detail/at_key_impl.hpp | 62 + .../container/map/detail/begin_impl.hpp | 40 + .../fusion/container/map/detail/build_map.hpp | 80 + .../container/map/detail/cpp03/as_map.hpp | 143 ++ .../container/map/detail/cpp03/at_impl.hpp | 64 + .../container/map/detail/cpp03/begin_impl.hpp | 45 + .../container/map/detail/cpp03/convert.hpp | 57 + .../map/detail/cpp03/convert_impl.hpp | 54 + .../map/detail/cpp03/deref_data_impl.hpp | 49 + .../container/map/detail/cpp03/deref_impl.hpp | 47 + .../container/map/detail/cpp03/end_impl.hpp | 45 + .../map/detail/cpp03/key_of_impl.hpp | 33 + .../container/map/detail/cpp03/limits.hpp | 28 + .../fusion/container/map/detail/cpp03/map.hpp | 156 ++ .../map/detail/cpp03/map_forward_ctor.hpp | 63 + .../container/map/detail/cpp03/map_fwd.hpp | 53 + .../map/detail/cpp03/preprocessed/as_map.hpp | 22 + .../detail/cpp03/preprocessed/as_map10.hpp | 223 ++ .../detail/cpp03/preprocessed/as_map20.hpp | 433 ++++ .../detail/cpp03/preprocessed/as_map30.hpp | 643 ++++++ .../detail/cpp03/preprocessed/as_map40.hpp | 853 ++++++++ .../detail/cpp03/preprocessed/as_map50.hpp | 1063 ++++++++++ .../map/detail/cpp03/preprocessed/map.hpp | 22 + .../map/detail/cpp03/preprocessed/map10.hpp | 178 ++ .../detail/cpp03/preprocessed/map10_fwd.hpp | 18 + .../map/detail/cpp03/preprocessed/map20.hpp | 278 +++ .../detail/cpp03/preprocessed/map20_fwd.hpp | 18 + .../map/detail/cpp03/preprocessed/map30.hpp | 378 ++++ .../detail/cpp03/preprocessed/map30_fwd.hpp | 18 + .../map/detail/cpp03/preprocessed/map40.hpp | 478 +++++ .../detail/cpp03/preprocessed/map40_fwd.hpp | 18 + .../map/detail/cpp03/preprocessed/map50.hpp | 578 ++++++ .../detail/cpp03/preprocessed/map50_fwd.hpp | 18 + .../map/detail/cpp03/preprocessed/map_fwd.hpp | 22 + .../map/detail/cpp03/value_at_impl.hpp | 35 + .../map/detail/cpp03/value_of_data_impl.hpp | 33 + .../map/detail/cpp03/value_of_impl.hpp | 40 + .../fusion/container/map/detail/end_impl.hpp | 40 + .../fusion/container/map/detail/map_impl.hpp | 206 ++ .../fusion/container/map/detail/map_index.hpp | 19 + .../container/map/detail/value_at_impl.hpp | 39 + .../map/detail/value_at_key_impl.hpp | 40 + external/boost/fusion/container/map/map.hpp | 134 ++ .../boost/fusion/container/map/map_fwd.hpp | 51 + .../fusion/container/map/map_iterator.hpp | 175 ++ external/boost/fusion/container/set.hpp | 15 + .../boost/fusion/container/set/convert.hpp | 50 + .../fusion/container/set/detail/as_set.hpp | 67 + .../container/set/detail/begin_impl.hpp | 45 + .../container/set/detail/convert_impl.hpp | 47 + .../container/set/detail/cpp03/as_set.hpp | 139 ++ .../container/set/detail/cpp03/limits.hpp | 28 + .../set/detail/cpp03/preprocessed/as_set.hpp | 22 + .../detail/cpp03/preprocessed/as_set10.hpp | 223 ++ .../detail/cpp03/preprocessed/as_set20.hpp | 433 ++++ .../detail/cpp03/preprocessed/as_set30.hpp | 643 ++++++ .../detail/cpp03/preprocessed/as_set40.hpp | 853 ++++++++ .../detail/cpp03/preprocessed/as_set50.hpp | 1063 ++++++++++ .../set/detail/cpp03/preprocessed/set.hpp | 22 + .../set/detail/cpp03/preprocessed/set10.hpp | 77 + .../detail/cpp03/preprocessed/set10_fwd.hpp | 18 + .../set/detail/cpp03/preprocessed/set20.hpp | 107 + .../detail/cpp03/preprocessed/set20_fwd.hpp | 18 + .../set/detail/cpp03/preprocessed/set30.hpp | 137 ++ .../detail/cpp03/preprocessed/set30_fwd.hpp | 18 + .../set/detail/cpp03/preprocessed/set40.hpp | 167 ++ .../detail/cpp03/preprocessed/set40_fwd.hpp | 18 + .../set/detail/cpp03/preprocessed/set50.hpp | 197 ++ .../detail/cpp03/preprocessed/set50_fwd.hpp | 18 + .../set/detail/cpp03/preprocessed/set_fwd.hpp | 22 + .../fusion/container/set/detail/cpp03/set.hpp | 107 + .../set/detail/cpp03/set_forward_ctor.hpp | 40 + .../container/set/detail/cpp03/set_fwd.hpp | 53 + .../container/set/detail/deref_data_impl.hpp | 25 + .../container/set/detail/deref_impl.hpp | 47 + .../fusion/container/set/detail/end_impl.hpp | 45 + .../container/set/detail/key_of_impl.hpp | 25 + .../set/detail/value_of_data_impl.hpp | 24 + .../container/set/detail/value_of_impl.hpp | 35 + external/boost/fusion/container/set/set.hpp | 140 ++ .../boost/fusion/container/set/set_fwd.hpp | 46 + external/boost/fusion/container/vector.hpp | 15 + .../boost/fusion/container/vector/convert.hpp | 50 + .../container/vector/detail/advance_impl.hpp | 43 + .../container/vector/detail/as_vector.hpp | 70 + .../container/vector/detail/at_impl.hpp | 60 + .../container/vector/detail/begin_impl.hpp | 41 + .../fusion/container/vector/detail/config.hpp | 37 + .../container/vector/detail/convert_impl.hpp | 47 + .../vector/detail/cpp03/as_vector.hpp | 139 ++ .../container/vector/detail/cpp03/limits.hpp | 25 + .../detail/cpp03/preprocessed/as_vector.hpp | 22 + .../detail/cpp03/preprocessed/as_vector10.hpp | 223 ++ .../detail/cpp03/preprocessed/as_vector20.hpp | 433 ++++ .../detail/cpp03/preprocessed/as_vector30.hpp | 643 ++++++ .../detail/cpp03/preprocessed/as_vector40.hpp | 853 ++++++++ .../detail/cpp03/preprocessed/as_vector50.hpp | 1063 ++++++++++ .../detail/cpp03/preprocessed/vector.hpp | 22 + .../detail/cpp03/preprocessed/vector10.hpp | 1830 +++++++++++++++++ .../cpp03/preprocessed/vector10_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector20.hpp | 1824 ++++++++++++++++ .../cpp03/preprocessed/vector20_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector30.hpp | 1824 ++++++++++++++++ .../cpp03/preprocessed/vector30_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector40.hpp | 1824 ++++++++++++++++ .../cpp03/preprocessed/vector40_fwd.hpp | 33 + .../detail/cpp03/preprocessed/vector50.hpp | 1824 ++++++++++++++++ .../cpp03/preprocessed/vector50_fwd.hpp | 33 + .../cpp03/preprocessed/vector_chooser.hpp | 21 + .../cpp03/preprocessed/vector_chooser10.hpp | 84 + .../cpp03/preprocessed/vector_chooser20.hpp | 154 ++ .../cpp03/preprocessed/vector_chooser30.hpp | 224 ++ .../cpp03/preprocessed/vector_chooser40.hpp | 294 +++ .../cpp03/preprocessed/vector_chooser50.hpp | 364 ++++ .../detail/cpp03/preprocessed/vector_fwd.hpp | 22 + .../detail/cpp03/preprocessed/vvector10.hpp | 325 +++ .../cpp03/preprocessed/vvector10_fwd.hpp | 16 + .../detail/cpp03/preprocessed/vvector20.hpp | 505 +++++ .../cpp03/preprocessed/vvector20_fwd.hpp | 16 + .../detail/cpp03/preprocessed/vvector30.hpp | 685 ++++++ .../cpp03/preprocessed/vvector30_fwd.hpp | 16 + .../detail/cpp03/preprocessed/vvector40.hpp | 865 ++++++++ .../cpp03/preprocessed/vvector40_fwd.hpp | 16 + .../detail/cpp03/preprocessed/vvector50.hpp | 1045 ++++++++++ .../cpp03/preprocessed/vvector50_fwd.hpp | 16 + .../vector/detail/cpp03/value_at_impl.hpp | 34 + .../container/vector/detail/cpp03/vector.hpp | 254 +++ .../vector/detail/cpp03/vector10.hpp | 105 + .../vector/detail/cpp03/vector10_fwd.hpp | 64 + .../vector/detail/cpp03/vector20.hpp | 81 + .../vector/detail/cpp03/vector20_fwd.hpp | 59 + .../vector/detail/cpp03/vector30.hpp | 80 + .../vector/detail/cpp03/vector30_fwd.hpp | 59 + .../vector/detail/cpp03/vector40.hpp | 81 + .../vector/detail/cpp03/vector40_fwd.hpp | 59 + .../vector/detail/cpp03/vector50.hpp | 80 + .../vector/detail/cpp03/vector50_fwd.hpp | 59 + .../detail/cpp03/vector_forward_ctor.hpp | 79 + .../vector/detail/cpp03/vector_fwd.hpp | 66 + .../vector/detail/cpp03/vector_n.hpp | 354 ++++ .../vector/detail/cpp03/vector_n_chooser.hpp | 107 + .../container/vector/detail/deref_impl.hpp | 54 + .../container/vector/detail/distance_impl.hpp | 43 + .../container/vector/detail/end_impl.hpp | 42 + .../container/vector/detail/equal_to_impl.hpp | 40 + .../container/vector/detail/next_impl.hpp | 45 + .../container/vector/detail/prior_impl.hpp | 45 + .../container/vector/detail/value_at_impl.hpp | 62 + .../container/vector/detail/value_of_impl.hpp | 36 + .../boost/fusion/container/vector/vector.hpp | 322 +++ .../fusion/container/vector/vector10.hpp | 29 + .../fusion/container/vector/vector20.hpp | 29 + .../fusion/container/vector/vector30.hpp | 29 + .../fusion/container/vector/vector40.hpp | 29 + .../fusion/container/vector/vector50.hpp | 29 + .../fusion/container/vector/vector_fwd.hpp | 43 + .../container/vector/vector_iterator.hpp | 62 + external/boost/fusion/functional.hpp | 18 + external/boost/fusion/functional/adapter.hpp | 17 + .../functional/adapter/detail/access.hpp | 41 + .../boost/fusion/functional/adapter/fused.hpp | 101 + .../adapter/fused_function_object.hpp | 106 + .../functional/adapter/fused_procedure.hpp | 86 + .../fusion/functional/adapter/limits.hpp | 31 + .../fusion/functional/adapter/unfused.hpp | 180 ++ .../functional/adapter/unfused_typed.hpp | 179 ++ .../boost/fusion/functional/generation.hpp | 18 + .../generation/detail/gen_make_adapter.hpp | 45 + .../functional/generation/make_fused.hpp | 19 + .../generation/make_fused_function_object.hpp | 19 + .../generation/make_fused_procedure.hpp | 19 + .../functional/generation/make_unfused.hpp | 19 + .../boost/fusion/functional/invocation.hpp | 17 + .../functional/invocation/detail/that_ptr.hpp | 99 + .../fusion/functional/invocation/invoke.hpp | 414 ++++ .../invocation/invoke_function_object.hpp | 214 ++ .../invocation/invoke_procedure.hpp | 212 ++ .../fusion/functional/invocation/limits.hpp | 23 + external/boost/fusion/include/accumulate.hpp | 13 + external/boost/fusion/include/adapt_adt.hpp | 14 + .../boost/fusion/include/adapt_adt_named.hpp | 14 + .../boost/fusion/include/adapt_assoc_adt.hpp | 14 + .../fusion/include/adapt_assoc_adt_named.hpp | 14 + .../fusion/include/adapt_assoc_struct.hpp | 14 + .../include/adapt_assoc_struct_named.hpp | 14 + .../boost/fusion/include/adapt_struct.hpp | 14 + .../fusion/include/adapt_struct_named.hpp | 14 + external/boost/fusion/include/adapted.hpp | 13 + external/boost/fusion/include/adapter.hpp | 13 + external/boost/fusion/include/advance.hpp | 13 + external/boost/fusion/include/algorithm.hpp | 13 + external/boost/fusion/include/all.hpp | 13 + external/boost/fusion/include/any.hpp | 13 + external/boost/fusion/include/array.hpp | 13 + external/boost/fusion/include/as_deque.hpp | 13 + external/boost/fusion/include/as_list.hpp | 13 + external/boost/fusion/include/as_map.hpp | 13 + external/boost/fusion/include/as_set.hpp | 13 + external/boost/fusion/include/as_vector.hpp | 13 + external/boost/fusion/include/at.hpp | 13 + external/boost/fusion/include/at_c.hpp | 13 + external/boost/fusion/include/at_key.hpp | 13 + external/boost/fusion/include/auxiliary.hpp | 13 + external/boost/fusion/include/back.hpp | 13 + external/boost/fusion/include/begin.hpp | 13 + external/boost/fusion/include/boost_array.hpp | 13 + external/boost/fusion/include/boost_tuple.hpp | 13 + external/boost/fusion/include/category_of.hpp | 13 + external/boost/fusion/include/clear.hpp | 13 + external/boost/fusion/include/comparison.hpp | 13 + external/boost/fusion/include/cons.hpp | 13 + external/boost/fusion/include/cons_tie.hpp | 13 + external/boost/fusion/include/container.hpp | 13 + external/boost/fusion/include/convert.hpp | 13 + external/boost/fusion/include/copy.hpp | 13 + external/boost/fusion/include/count.hpp | 13 + external/boost/fusion/include/count_if.hpp | 13 + external/boost/fusion/include/deduce.hpp | 13 + .../boost/fusion/include/deduce_sequence.hpp | 13 + .../fusion/include/define_assoc_struct.hpp | 14 + .../boost/fusion/include/define_struct.hpp | 14 + .../fusion/include/define_struct_inline.hpp | 14 + external/boost/fusion/include/deque.hpp | 13 + external/boost/fusion/include/deque_fwd.hpp | 13 + external/boost/fusion/include/deque_tie.hpp | 14 + external/boost/fusion/include/deref.hpp | 13 + external/boost/fusion/include/deref_data.hpp | 14 + external/boost/fusion/include/distance.hpp | 13 + external/boost/fusion/include/empty.hpp | 13 + external/boost/fusion/include/end.hpp | 13 + external/boost/fusion/include/equal_to.hpp | 14 + external/boost/fusion/include/erase.hpp | 13 + external/boost/fusion/include/erase_key.hpp | 13 + external/boost/fusion/include/filter.hpp | 13 + external/boost/fusion/include/filter_if.hpp | 13 + external/boost/fusion/include/filter_view.hpp | 13 + external/boost/fusion/include/find.hpp | 13 + external/boost/fusion/include/find_if.hpp | 13 + external/boost/fusion/include/flatten.hpp | 14 + .../boost/fusion/include/flatten_view.hpp | 14 + external/boost/fusion/include/fold.hpp | 13 + external/boost/fusion/include/for_each.hpp | 13 + external/boost/fusion/include/front.hpp | 13 + external/boost/fusion/include/functional.hpp | 13 + external/boost/fusion/include/fused.hpp | 13 + .../fusion/include/fused_function_object.hpp | 13 + .../boost/fusion/include/fused_procedure.hpp | 13 + external/boost/fusion/include/generation.hpp | 14 + external/boost/fusion/include/greater.hpp | 13 + .../boost/fusion/include/greater_equal.hpp | 13 + external/boost/fusion/include/has_key.hpp | 13 + external/boost/fusion/include/hash.hpp | 12 + external/boost/fusion/include/ignore.hpp | 14 + external/boost/fusion/include/in.hpp | 13 + external/boost/fusion/include/insert.hpp | 13 + .../boost/fusion/include/insert_range.hpp | 13 + external/boost/fusion/include/intrinsic.hpp | 13 + external/boost/fusion/include/invocation.hpp | 13 + external/boost/fusion/include/invoke.hpp | 13 + .../fusion/include/invoke_function_object.hpp | 13 + .../boost/fusion/include/invoke_procedure.hpp | 13 + external/boost/fusion/include/io.hpp | 13 + external/boost/fusion/include/is_iterator.hpp | 13 + .../boost/fusion/include/is_segmented.hpp | 13 + external/boost/fusion/include/is_sequence.hpp | 13 + external/boost/fusion/include/is_view.hpp | 13 + external/boost/fusion/include/iter_fold.hpp | 14 + external/boost/fusion/include/iteration.hpp | 13 + external/boost/fusion/include/iterator.hpp | 13 + .../boost/fusion/include/iterator_adapter.hpp | 13 + .../boost/fusion/include/iterator_base.hpp | 13 + .../boost/fusion/include/iterator_facade.hpp | 13 + .../boost/fusion/include/iterator_range.hpp | 13 + external/boost/fusion/include/join.hpp | 13 + external/boost/fusion/include/joint_view.hpp | 13 + external/boost/fusion/include/key_of.hpp | 14 + external/boost/fusion/include/less.hpp | 13 + external/boost/fusion/include/less_equal.hpp | 13 + external/boost/fusion/include/list.hpp | 13 + external/boost/fusion/include/list_fwd.hpp | 13 + external/boost/fusion/include/list_tie.hpp | 14 + external/boost/fusion/include/make_cons.hpp | 13 + external/boost/fusion/include/make_deque.hpp | 13 + external/boost/fusion/include/make_fused.hpp | 13 + .../include/make_fused_function_object.hpp | 13 + .../fusion/include/make_fused_procedure.hpp | 13 + external/boost/fusion/include/make_list.hpp | 13 + external/boost/fusion/include/make_map.hpp | 13 + external/boost/fusion/include/make_set.hpp | 13 + external/boost/fusion/include/make_tuple.hpp | 13 + .../boost/fusion/include/make_unfused.hpp | 14 + external/boost/fusion/include/make_vector.hpp | 13 + external/boost/fusion/include/map.hpp | 13 + external/boost/fusion/include/map_fwd.hpp | 13 + external/boost/fusion/include/map_tie.hpp | 13 + external/boost/fusion/include/move.hpp | 13 + external/boost/fusion/include/mpl.hpp | 14 + external/boost/fusion/include/next.hpp | 13 + external/boost/fusion/include/nil.hpp | 13 + external/boost/fusion/include/none.hpp | 13 + .../boost/fusion/include/not_equal_to.hpp | 14 + external/boost/fusion/include/nview.hpp | 13 + external/boost/fusion/include/out.hpp | 13 + external/boost/fusion/include/pair.hpp | 13 + external/boost/fusion/include/pair_tie.hpp | 13 + external/boost/fusion/include/pop_back.hpp | 13 + external/boost/fusion/include/pop_front.hpp | 13 + external/boost/fusion/include/prior.hpp | 13 + external/boost/fusion/include/proxy_type.hpp | 14 + external/boost/fusion/include/push_back.hpp | 13 + external/boost/fusion/include/push_front.hpp | 13 + external/boost/fusion/include/query.hpp | 13 + external/boost/fusion/include/remove.hpp | 13 + external/boost/fusion/include/remove_if.hpp | 13 + .../boost/fusion/include/repetitive_view.hpp | 13 + external/boost/fusion/include/replace.hpp | 13 + external/boost/fusion/include/replace_if.hpp | 13 + external/boost/fusion/include/reverse.hpp | 13 + .../boost/fusion/include/reverse_fold.hpp | 14 + .../fusion/include/reverse_iter_fold.hpp | 14 + .../boost/fusion/include/reverse_view.hpp | 13 + .../fusion/include/segmented_fold_until.hpp | 13 + .../fusion/include/segmented_iterator.hpp | 13 + external/boost/fusion/include/segments.hpp | 13 + external/boost/fusion/include/sequence.hpp | 13 + .../boost/fusion/include/sequence_base.hpp | 13 + .../boost/fusion/include/sequence_facade.hpp | 13 + external/boost/fusion/include/set.hpp | 13 + external/boost/fusion/include/set_fwd.hpp | 13 + external/boost/fusion/include/single_view.hpp | 13 + external/boost/fusion/include/size.hpp | 13 + external/boost/fusion/include/std_array.hpp | 13 + external/boost/fusion/include/std_pair.hpp | 13 + external/boost/fusion/include/std_tuple.hpp | 12 + external/boost/fusion/include/struct.hpp | 13 + external/boost/fusion/include/support.hpp | 13 + external/boost/fusion/include/swap.hpp | 13 + external/boost/fusion/include/tag_of.hpp | 13 + external/boost/fusion/include/tag_of_fwd.hpp | 13 + external/boost/fusion/include/transform.hpp | 13 + .../boost/fusion/include/transform_view.hpp | 13 + .../boost/fusion/include/transformation.hpp | 13 + external/boost/fusion/include/tuple.hpp | 13 + external/boost/fusion/include/tuple_fwd.hpp | 13 + external/boost/fusion/include/tuple_tie.hpp | 13 + external/boost/fusion/include/unfused.hpp | 14 + .../boost/fusion/include/unfused_typed.hpp | 13 + external/boost/fusion/include/unused.hpp | 13 + external/boost/fusion/include/value_at.hpp | 13 + .../boost/fusion/include/value_at_key.hpp | 13 + external/boost/fusion/include/value_of.hpp | 13 + .../boost/fusion/include/value_of_data.hpp | 14 + external/boost/fusion/include/vector.hpp | 13 + external/boost/fusion/include/vector10.hpp | 13 + external/boost/fusion/include/vector20.hpp | 13 + external/boost/fusion/include/vector30.hpp | 13 + external/boost/fusion/include/vector40.hpp | 13 + external/boost/fusion/include/vector50.hpp | 13 + external/boost/fusion/include/vector_fwd.hpp | 13 + external/boost/fusion/include/vector_tie.hpp | 13 + external/boost/fusion/include/view.hpp | 13 + external/boost/fusion/include/void.hpp | 13 + external/boost/fusion/include/zip.hpp | 13 + external/boost/fusion/include/zip_view.hpp | 13 + external/boost/fusion/iterator.hpp | 23 + external/boost/fusion/iterator/advance.hpp | 95 + .../boost/fusion/iterator/basic_iterator.hpp | 156 ++ external/boost/fusion/iterator/deref.hpp | 75 + external/boost/fusion/iterator/deref_data.hpp | 51 + .../iterator/detail/adapt_deref_traits.hpp | 36 + .../iterator/detail/adapt_value_traits.hpp | 29 + .../boost/fusion/iterator/detail/advance.hpp | 107 + .../boost/fusion/iterator/detail/distance.hpp | 66 + .../iterator/detail/segment_sequence.hpp | 73 + .../iterator/detail/segmented_equal_to.hpp | 42 + .../iterator/detail/segmented_iterator.hpp | 148 ++ .../iterator/detail/segmented_next_impl.hpp | 265 +++ external/boost/fusion/iterator/distance.hpp | 80 + external/boost/fusion/iterator/equal_to.hpp | 106 + .../fusion/iterator/iterator_adapter.hpp | 147 ++ .../boost/fusion/iterator/iterator_facade.hpp | 68 + external/boost/fusion/iterator/key_of.hpp | 43 + external/boost/fusion/iterator/mpl.hpp | 14 + .../fusion/iterator/mpl/convert_iterator.hpp | 62 + .../fusion/iterator/mpl/fusion_iterator.hpp | 80 + external/boost/fusion/iterator/next.hpp | 65 + external/boost/fusion/iterator/prior.hpp | 65 + .../fusion/iterator/segmented_iterator.hpp | 16 + external/boost/fusion/iterator/value_of.hpp | 58 + .../boost/fusion/iterator/value_of_data.hpp | 43 + external/boost/fusion/mpl.hpp | 32 + external/boost/fusion/mpl/at.hpp | 34 + external/boost/fusion/mpl/back.hpp | 33 + external/boost/fusion/mpl/begin.hpp | 32 + external/boost/fusion/mpl/clear.hpp | 34 + external/boost/fusion/mpl/detail/clear.hpp | 47 + external/boost/fusion/mpl/empty.hpp | 27 + external/boost/fusion/mpl/end.hpp | 32 + external/boost/fusion/mpl/erase.hpp | 40 + external/boost/fusion/mpl/erase_key.hpp | 40 + external/boost/fusion/mpl/front.hpp | 29 + external/boost/fusion/mpl/has_key.hpp | 28 + external/boost/fusion/mpl/insert.hpp | 40 + external/boost/fusion/mpl/insert_range.hpp | 40 + external/boost/fusion/mpl/pop_back.hpp | 40 + external/boost/fusion/mpl/pop_front.hpp | 40 + external/boost/fusion/mpl/push_back.hpp | 40 + external/boost/fusion/mpl/push_front.hpp | 40 + external/boost/fusion/mpl/size.hpp | 27 + external/boost/fusion/sequence.hpp | 17 + external/boost/fusion/sequence/comparison.hpp | 18 + .../sequence/comparison/detail/equal_to.hpp | 66 + .../sequence/comparison/detail/greater.hpp | 55 + .../comparison/detail/greater_equal.hpp | 55 + .../sequence/comparison/detail/less.hpp | 55 + .../sequence/comparison/detail/less_equal.hpp | 55 + .../comparison/detail/not_equal_to.hpp | 66 + .../sequence/comparison/enable_comparison.hpp | 35 + .../fusion/sequence/comparison/equal_to.hpp | 59 + .../fusion/sequence/comparison/greater.hpp | 55 + .../sequence/comparison/greater_equal.hpp | 55 + .../boost/fusion/sequence/comparison/less.hpp | 46 + .../fusion/sequence/comparison/less_equal.hpp | 55 + .../sequence/comparison/not_equal_to.hpp | 58 + external/boost/fusion/sequence/convert.hpp | 61 + external/boost/fusion/sequence/hash.hpp | 42 + external/boost/fusion/sequence/intrinsic.hpp | 25 + .../boost/fusion/sequence/intrinsic/at.hpp | 134 ++ .../boost/fusion/sequence/intrinsic/at_c.hpp | 14 + .../fusion/sequence/intrinsic/at_key.hpp | 116 ++ .../boost/fusion/sequence/intrinsic/back.hpp | 46 + .../boost/fusion/sequence/intrinsic/begin.hpp | 98 + .../intrinsic/detail/segmented_begin.hpp | 45 + .../intrinsic/detail/segmented_begin_impl.hpp | 96 + .../intrinsic/detail/segmented_end.hpp | 41 + .../intrinsic/detail/segmented_end_impl.hpp | 68 + .../intrinsic/detail/segmented_size.hpp | 55 + .../boost/fusion/sequence/intrinsic/empty.hpp | 63 + .../boost/fusion/sequence/intrinsic/end.hpp | 98 + .../boost/fusion/sequence/intrinsic/front.hpp | 45 + .../fusion/sequence/intrinsic/has_key.hpp | 81 + .../fusion/sequence/intrinsic/segments.hpp | 79 + .../boost/fusion/sequence/intrinsic/size.hpp | 86 + .../boost/fusion/sequence/intrinsic/swap.hpp | 64 + .../fusion/sequence/intrinsic/value_at.hpp | 88 + .../sequence/intrinsic/value_at_key.hpp | 86 + .../boost/fusion/sequence/intrinsic_fwd.hpp | 223 ++ external/boost/fusion/sequence/io.hpp | 14 + .../boost/fusion/sequence/io/detail/in.hpp | 86 + .../boost/fusion/sequence/io/detail/manip.hpp | 269 +++ .../boost/fusion/sequence/io/detail/out.hpp | 86 + external/boost/fusion/sequence/io/in.hpp | 43 + external/boost/fusion/sequence/io/out.hpp | 45 + .../boost/fusion/sequence/sequence_facade.hpp | 30 + external/boost/fusion/support.hpp | 25 + external/boost/fusion/support/as_const.hpp | 30 + external/boost/fusion/support/category_of.hpp | 122 ++ external/boost/fusion/support/config.hpp | 99 + external/boost/fusion/support/deduce.hpp | 137 ++ .../boost/fusion/support/deduce_sequence.hpp | 54 + .../boost/fusion/support/detail/access.hpp | 65 + external/boost/fusion/support/detail/and.hpp | 39 + .../support/detail/as_fusion_element.hpp | 60 + .../fusion/support/detail/category_of.hpp | 19 + .../boost/fusion/support/detail/enabler.hpp | 22 + .../fusion/support/detail/index_sequence.hpp | 79 + .../fusion/support/detail/is_mpl_sequence.hpp | 28 + .../fusion/support/detail/is_same_size.hpp | 29 + .../boost/fusion/support/detail/is_view.hpp | 19 + .../support/detail/mpl_iterator_category.hpp | 66 + .../boost/fusion/support/detail/pp_round.hpp | 72 + .../detail/segmented_fold_until_impl.hpp | 401 ++++ .../fusion/support/detail/unknown_key.hpp | 16 + external/boost/fusion/support/is_iterator.hpp | 21 + .../boost/fusion/support/is_segmented.hpp | 55 + external/boost/fusion/support/is_sequence.hpp | 77 + external/boost/fusion/support/is_view.hpp | 67 + .../boost/fusion/support/iterator_base.hpp | 36 + external/boost/fusion/support/pair.hpp | 168 ++ .../fusion/support/segmented_fold_until.hpp | 71 + .../boost/fusion/support/sequence_base.hpp | 59 + external/boost/fusion/support/tag_of.hpp | 83 + external/boost/fusion/support/tag_of_fwd.hpp | 20 + external/boost/fusion/support/unused.hpp | 95 + external/boost/fusion/support/void.hpp | 15 + external/boost/fusion/tuple.hpp | 17 + .../boost/fusion/tuple/detail/make_tuple.hpp | 86 + .../tuple/detail/preprocessed/make_tuple.hpp | 21 + .../detail/preprocessed/make_tuple10.hpp | 91 + .../detail/preprocessed/make_tuple20.hpp | 171 ++ .../detail/preprocessed/make_tuple30.hpp | 251 +++ .../detail/preprocessed/make_tuple40.hpp | 331 +++ .../detail/preprocessed/make_tuple50.hpp | 411 ++++ .../tuple/detail/preprocessed/tuple.hpp | 22 + .../tuple/detail/preprocessed/tuple10.hpp | 209 ++ .../tuple/detail/preprocessed/tuple10_fwd.hpp | 16 + .../tuple/detail/preprocessed/tuple20.hpp | 349 ++++ .../tuple/detail/preprocessed/tuple20_fwd.hpp | 16 + .../tuple/detail/preprocessed/tuple30.hpp | 489 +++++ .../tuple/detail/preprocessed/tuple30_fwd.hpp | 16 + .../tuple/detail/preprocessed/tuple40.hpp | 629 ++++++ .../tuple/detail/preprocessed/tuple40_fwd.hpp | 16 + .../tuple/detail/preprocessed/tuple50.hpp | 769 +++++++ .../tuple/detail/preprocessed/tuple50_fwd.hpp | 16 + .../tuple/detail/preprocessed/tuple_fwd.hpp | 21 + .../tuple/detail/preprocessed/tuple_tie.hpp | 21 + .../tuple/detail/preprocessed/tuple_tie10.hpp | 91 + .../tuple/detail/preprocessed/tuple_tie20.hpp | 171 ++ .../tuple/detail/preprocessed/tuple_tie30.hpp | 251 +++ .../tuple/detail/preprocessed/tuple_tie40.hpp | 331 +++ .../tuple/detail/preprocessed/tuple_tie50.hpp | 411 ++++ external/boost/fusion/tuple/detail/tuple.hpp | 122 ++ .../fusion/tuple/detail/tuple_expand.hpp | 53 + .../boost/fusion/tuple/detail/tuple_fwd.hpp | 52 + .../boost/fusion/tuple/detail/tuple_tie.hpp | 76 + external/boost/fusion/tuple/make_tuple.hpp | 50 + external/boost/fusion/tuple/tuple.hpp | 127 ++ external/boost/fusion/tuple/tuple_fwd.hpp | 43 + external/boost/fusion/tuple/tuple_tie.hpp | 38 + external/boost/fusion/view.hpp | 21 + .../view/detail/strictest_traversal.hpp | 78 + external/boost/fusion/view/filter_view.hpp | 14 + .../view/filter_view/detail/begin_impl.hpp | 47 + .../filter_view/detail/deref_data_impl.hpp | 39 + .../view/filter_view/detail/deref_impl.hpp | 30 + .../view/filter_view/detail/end_impl.hpp | 46 + .../view/filter_view/detail/equal_to_impl.hpp | 34 + .../view/filter_view/detail/key_of_impl.hpp | 29 + .../view/filter_view/detail/next_impl.hpp | 79 + .../view/filter_view/detail/size_impl.hpp | 39 + .../filter_view/detail/value_of_data_impl.hpp | 29 + .../view/filter_view/detail/value_of_impl.hpp | 30 + .../fusion/view/filter_view/filter_view.hpp | 68 + .../view/filter_view/filter_view_iterator.hpp | 81 + external/boost/fusion/view/flatten_view.hpp | 15 + .../fusion/view/flatten_view/flatten_view.hpp | 133 ++ .../flatten_view/flatten_view_iterator.hpp | 218 ++ external/boost/fusion/view/iterator_range.hpp | 13 + .../view/iterator_range/detail/at_impl.hpp | 46 + .../view/iterator_range/detail/begin_impl.hpp | 42 + .../view/iterator_range/detail/end_impl.hpp | 42 + .../detail/is_segmented_impl.hpp | 67 + .../detail/segmented_iterator_range.hpp | 556 +++++ .../iterator_range/detail/segments_impl.hpp | 54 + .../view/iterator_range/detail/size_impl.hpp | 38 + .../iterator_range/detail/value_at_impl.hpp | 39 + .../view/iterator_range/iterator_range.hpp | 63 + external/boost/fusion/view/joint_view.hpp | 14 + .../view/joint_view/detail/begin_impl.hpp | 71 + .../joint_view/detail/deref_data_impl.hpp | 39 + .../view/joint_view/detail/deref_impl.hpp | 30 + .../view/joint_view/detail/end_impl.hpp | 42 + .../view/joint_view/detail/key_of_impl.hpp | 29 + .../view/joint_view/detail/next_impl.hpp | 75 + .../joint_view/detail/value_of_data_impl.hpp | 29 + .../view/joint_view/detail/value_of_impl.hpp | 30 + .../fusion/view/joint_view/joint_view.hpp | 83 + .../fusion/view/joint_view/joint_view_fwd.hpp | 18 + .../view/joint_view/joint_view_iterator.hpp | 70 + external/boost/fusion/view/nview.hpp | 16 + .../fusion/view/nview/detail/advance_impl.hpp | 50 + .../fusion/view/nview/detail/at_impl.hpp | 48 + .../fusion/view/nview/detail/begin_impl.hpp | 49 + .../view/nview/detail/cpp03/nview_impl.hpp | 81 + .../fusion/view/nview/detail/deref_impl.hpp | 50 + .../view/nview/detail/distance_impl.hpp | 46 + .../fusion/view/nview/detail/end_impl.hpp | 51 + .../view/nview/detail/equal_to_impl.hpp | 34 + .../fusion/view/nview/detail/next_impl.hpp | 50 + .../fusion/view/nview/detail/nview_impl.hpp | 50 + .../fusion/view/nview/detail/prior_impl.hpp | 50 + .../fusion/view/nview/detail/size_impl.hpp | 39 + .../view/nview/detail/value_at_impl.hpp | 40 + .../view/nview/detail/value_of_impl.hpp | 45 + external/boost/fusion/view/nview/nview.hpp | 122 ++ .../fusion/view/nview/nview_iterator.hpp | 68 + .../boost/fusion/view/repetitive_view.hpp | 16 + .../repetitive_view/detail/begin_impl.hpp | 51 + .../repetitive_view/detail/deref_impl.hpp | 46 + .../view/repetitive_view/detail/end_impl.hpp | 51 + .../view/repetitive_view/detail/next_impl.hpp | 94 + .../repetitive_view/detail/value_of_impl.hpp | 35 + .../view/repetitive_view/repetitive_view.hpp | 54 + .../repetitive_view/repetitive_view_fwd.hpp | 19 + .../repetitive_view_iterator.hpp | 66 + external/boost/fusion/view/reverse_view.hpp | 14 + .../view/reverse_view/detail/advance_impl.hpp | 49 + .../view/reverse_view/detail/at_impl.hpp | 43 + .../view/reverse_view/detail/begin_impl.hpp | 43 + .../reverse_view/detail/deref_data_impl.hpp | 39 + .../view/reverse_view/detail/deref_impl.hpp | 50 + .../reverse_view/detail/distance_impl.hpp | 47 + .../view/reverse_view/detail/end_impl.hpp | 43 + .../view/reverse_view/detail/key_of_impl.hpp | 29 + .../view/reverse_view/detail/next_impl.hpp | 49 + .../view/reverse_view/detail/prior_impl.hpp | 49 + .../reverse_view/detail/value_at_impl.hpp | 34 + .../detail/value_of_data_impl.hpp | 29 + .../reverse_view/detail/value_of_impl.hpp | 43 + .../fusion/view/reverse_view/reverse_view.hpp | 72 + .../reverse_view/reverse_view_iterator.hpp | 67 + external/boost/fusion/view/single_view.hpp | 14 + .../view/single_view/detail/advance_impl.hpp | 49 + .../view/single_view/detail/at_impl.hpp | 46 + .../view/single_view/detail/begin_impl.hpp | 47 + .../view/single_view/detail/deref_impl.hpp | 47 + .../view/single_view/detail/distance_impl.hpp | 45 + .../view/single_view/detail/end_impl.hpp | 47 + .../view/single_view/detail/equal_to_impl.hpp | 40 + .../view/single_view/detail/next_impl.hpp | 55 + .../view/single_view/detail/prior_impl.hpp | 48 + .../view/single_view/detail/size_impl.hpp | 33 + .../view/single_view/detail/value_at_impl.hpp | 40 + .../view/single_view/detail/value_of_impl.hpp | 40 + .../fusion/view/single_view/single_view.hpp | 72 + .../view/single_view/single_view_iterator.hpp | 69 + external/boost/fusion/view/transform_view.hpp | 14 + .../transform_view/detail/advance_impl.hpp | 78 + .../detail/apply_transform_result.hpp | 38 + .../view/transform_view/detail/at_impl.hpp | 66 + .../view/transform_view/detail/begin_impl.hpp | 71 + .../view/transform_view/detail/deref_impl.hpp | 79 + .../transform_view/detail/distance_impl.hpp | 62 + .../view/transform_view/detail/end_impl.hpp | 71 + .../transform_view/detail/equal_to_impl.hpp | 43 + .../view/transform_view/detail/next_impl.hpp | 77 + .../view/transform_view/detail/prior_impl.hpp | 76 + .../transform_view/detail/value_at_impl.hpp | 54 + .../transform_view/detail/value_of_impl.hpp | 64 + .../view/transform_view/transform_view.hpp | 124 ++ .../transform_view/transform_view_fwd.hpp | 22 + .../transform_view_iterator.hpp | 92 + external/boost/fusion/view/zip_view.hpp | 15 + .../view/zip_view/detail/advance_impl.hpp | 72 + .../fusion/view/zip_view/detail/at_impl.hpp | 97 + .../view/zip_view/detail/begin_impl.hpp | 97 + .../view/zip_view/detail/deref_impl.hpp | 87 + .../view/zip_view/detail/distance_impl.hpp | 84 + .../fusion/view/zip_view/detail/end_impl.hpp | 108 + .../view/zip_view/detail/equal_to_impl.hpp | 63 + .../fusion/view/zip_view/detail/next_impl.hpp | 87 + .../view/zip_view/detail/prior_impl.hpp | 87 + .../fusion/view/zip_view/detail/size_impl.hpp | 35 + .../view/zip_view/detail/value_at_impl.hpp | 71 + .../view/zip_view/detail/value_of_impl.hpp | 71 + .../boost/fusion/view/zip_view/zip_view.hpp | 135 ++ .../view/zip_view/zip_view_iterator.hpp | 58 + .../view/zip_view/zip_view_iterator_fwd.hpp | 23 + external/boost/parameter/aux_/arg_list.hpp | 437 ++++ external/boost/parameter/aux_/cast.hpp | 141 ++ external/boost/parameter/aux_/default.hpp | 69 + external/boost/parameter/aux_/is_maybe.hpp | 26 + external/boost/parameter/aux_/maybe.hpp | 120 ++ external/boost/parameter/aux_/overloads.hpp | 88 + .../parameter/aux_/parameter_requirements.hpp | 25 + .../parameter/aux_/parenthesized_type.hpp | 35 + .../parameter/aux_/preprocessor/flatten.hpp | 115 ++ .../parameter/aux_/preprocessor/for_each.hpp | 103 + .../boost/parameter/aux_/python/invoker.hpp | 132 ++ .../parameter/aux_/python/invoker_iterate.hpp | 93 + external/boost/parameter/aux_/result_of0.hpp | 36 + external/boost/parameter/aux_/set.hpp | 66 + external/boost/parameter/aux_/tag.hpp | 38 + .../boost/parameter/aux_/tagged_argument.hpp | 188 ++ .../boost/parameter/aux_/template_keyword.hpp | 47 + .../parameter/aux_/unwrap_cv_reference.hpp | 91 + external/boost/parameter/aux_/void.hpp | 29 + external/boost/parameter/aux_/yesno.hpp | 26 + external/boost/parameter/binding.hpp | 80 + external/boost/parameter/config.hpp | 14 + external/boost/parameter/keyword.hpp | 122 ++ external/boost/parameter/macros.hpp | 99 + external/boost/parameter/match.hpp | 55 + external/boost/parameter/name.hpp | 146 ++ external/boost/parameter/parameters.hpp | 931 +++++++++ external/boost/parameter/preprocessor.hpp | 1077 ++++++++++ external/boost/parameter/python.hpp | 735 +++++++ external/boost/parameter/value_type.hpp | 82 + external/boost/ref.hpp | 17 + external/boost/version.hpp | 32 + .../uniform_accelerated_billiard_walk.hpp | 79 + 1142 files changed, 135841 insertions(+), 2 deletions(-) create mode 100644 examples/mmcs_method/CMakeLists.txt create mode 100644 examples/mmcs_method/random_hpoly_50_dim.cpp create mode 100644 examples/mmcs_method/skinny_cube_10_dim.cpp create mode 100644 external/boost/accumulators/accumulators.hpp create mode 100644 external/boost/accumulators/accumulators_fwd.hpp create mode 100644 external/boost/accumulators/framework/accumulator_base.hpp create mode 100644 external/boost/accumulators/framework/accumulator_concept.hpp create mode 100644 external/boost/accumulators/framework/accumulator_set.hpp create mode 100644 external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp create mode 100644 external/boost/accumulators/framework/accumulators/external_accumulator.hpp create mode 100644 external/boost/accumulators/framework/accumulators/reference_accumulator.hpp create mode 100644 external/boost/accumulators/framework/accumulators/value_accumulator.hpp create mode 100644 external/boost/accumulators/framework/depends_on.hpp create mode 100644 external/boost/accumulators/framework/external.hpp create mode 100644 external/boost/accumulators/framework/extractor.hpp create mode 100644 external/boost/accumulators/framework/features.hpp create mode 100644 external/boost/accumulators/framework/parameters/accumulator.hpp create mode 100644 external/boost/accumulators/framework/parameters/sample.hpp create mode 100644 external/boost/accumulators/framework/parameters/weight.hpp create mode 100644 external/boost/accumulators/framework/parameters/weights.hpp create mode 100644 external/boost/accumulators/numeric/detail/function1.hpp create mode 100644 external/boost/accumulators/numeric/detail/function2.hpp create mode 100644 external/boost/accumulators/numeric/detail/function3.hpp create mode 100644 external/boost/accumulators/numeric/detail/function4.hpp create mode 100644 external/boost/accumulators/numeric/detail/function_n.hpp create mode 100644 external/boost/accumulators/numeric/detail/pod_singleton.hpp create mode 100644 external/boost/accumulators/numeric/functional.hpp create mode 100644 external/boost/accumulators/numeric/functional/complex.hpp create mode 100644 external/boost/accumulators/numeric/functional/valarray.hpp create mode 100644 external/boost/accumulators/numeric/functional/vector.hpp create mode 100644 external/boost/accumulators/numeric/functional_fwd.hpp create mode 100644 external/boost/accumulators/statistics.hpp create mode 100644 external/boost/accumulators/statistics/count.hpp create mode 100644 external/boost/accumulators/statistics/covariance.hpp create mode 100644 external/boost/accumulators/statistics/density.hpp create mode 100644 external/boost/accumulators/statistics/error_of.hpp create mode 100644 external/boost/accumulators/statistics/error_of_mean.hpp create mode 100644 external/boost/accumulators/statistics/extended_p_square.hpp create mode 100644 external/boost/accumulators/statistics/extended_p_square_quantile.hpp create mode 100644 external/boost/accumulators/statistics/kurtosis.hpp create mode 100644 external/boost/accumulators/statistics/max.hpp create mode 100644 external/boost/accumulators/statistics/mean.hpp create mode 100644 external/boost/accumulators/statistics/median.hpp create mode 100644 external/boost/accumulators/statistics/min.hpp create mode 100644 external/boost/accumulators/statistics/moment.hpp create mode 100644 external/boost/accumulators/statistics/p_square_cumul_dist.hpp create mode 100644 external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp create mode 100644 external/boost/accumulators/statistics/p_square_quantile.hpp create mode 100644 external/boost/accumulators/statistics/parameters/quantile_probability.hpp create mode 100644 external/boost/accumulators/statistics/peaks_over_threshold.hpp create mode 100644 external/boost/accumulators/statistics/pot_quantile.hpp create mode 100644 external/boost/accumulators/statistics/pot_tail_mean.hpp create mode 100644 external/boost/accumulators/statistics/rolling_count.hpp create mode 100644 external/boost/accumulators/statistics/rolling_mean.hpp create mode 100644 external/boost/accumulators/statistics/rolling_moment.hpp create mode 100644 external/boost/accumulators/statistics/rolling_sum.hpp create mode 100644 external/boost/accumulators/statistics/rolling_variance.hpp create mode 100644 external/boost/accumulators/statistics/rolling_window.hpp create mode 100644 external/boost/accumulators/statistics/skewness.hpp create mode 100644 external/boost/accumulators/statistics/stats.hpp create mode 100644 external/boost/accumulators/statistics/sum.hpp create mode 100644 external/boost/accumulators/statistics/sum_kahan.hpp create mode 100644 external/boost/accumulators/statistics/tail.hpp create mode 100644 external/boost/accumulators/statistics/tail_mean.hpp create mode 100644 external/boost/accumulators/statistics/tail_quantile.hpp create mode 100644 external/boost/accumulators/statistics/tail_variate.hpp create mode 100644 external/boost/accumulators/statistics/tail_variate_means.hpp create mode 100644 external/boost/accumulators/statistics/times2_iterator.hpp create mode 100644 external/boost/accumulators/statistics/variance.hpp create mode 100644 external/boost/accumulators/statistics/variates/covariate.hpp create mode 100644 external/boost/accumulators/statistics/weighted_covariance.hpp create mode 100644 external/boost/accumulators/statistics/weighted_density.hpp create mode 100644 external/boost/accumulators/statistics/weighted_extended_p_square.hpp create mode 100644 external/boost/accumulators/statistics/weighted_kurtosis.hpp create mode 100644 external/boost/accumulators/statistics/weighted_mean.hpp create mode 100644 external/boost/accumulators/statistics/weighted_median.hpp create mode 100644 external/boost/accumulators/statistics/weighted_moment.hpp create mode 100644 external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp create mode 100644 external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp create mode 100644 external/boost/accumulators/statistics/weighted_p_square_quantile.hpp create mode 100644 external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp create mode 100644 external/boost/accumulators/statistics/weighted_skewness.hpp create mode 100644 external/boost/accumulators/statistics/weighted_sum.hpp create mode 100644 external/boost/accumulators/statistics/weighted_sum_kahan.hpp create mode 100644 external/boost/accumulators/statistics/weighted_tail_mean.hpp create mode 100644 external/boost/accumulators/statistics/weighted_tail_quantile.hpp create mode 100644 external/boost/accumulators/statistics/weighted_tail_variate_means.hpp create mode 100644 external/boost/accumulators/statistics/weighted_variance.hpp create mode 100644 external/boost/accumulators/statistics/with_error.hpp create mode 100644 external/boost/accumulators/statistics_fwd.hpp create mode 100644 external/boost/fusion/adapted.hpp create mode 100644 external/boost/fusion/adapted/adt.hpp create mode 100644 external/boost/fusion/adapted/adt/adapt_adt.hpp create mode 100644 external/boost/fusion/adapted/adt/adapt_adt_named.hpp create mode 100644 external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp create mode 100644 external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp create mode 100644 external/boost/fusion/adapted/adt/detail/adapt_base.hpp create mode 100644 external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp create mode 100644 external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp create mode 100644 external/boost/fusion/adapted/adt/detail/extension.hpp create mode 100644 external/boost/fusion/adapted/array.hpp create mode 100644 external/boost/fusion/adapted/array/at_impl.hpp create mode 100644 external/boost/fusion/adapted/array/begin_impl.hpp create mode 100644 external/boost/fusion/adapted/array/category_of_impl.hpp create mode 100644 external/boost/fusion/adapted/array/deref_impl.hpp create mode 100644 external/boost/fusion/adapted/array/end_impl.hpp create mode 100644 external/boost/fusion/adapted/array/is_sequence_impl.hpp create mode 100644 external/boost/fusion/adapted/array/is_view_impl.hpp create mode 100644 external/boost/fusion/adapted/array/size_impl.hpp create mode 100644 external/boost/fusion/adapted/array/tag_of.hpp create mode 100644 external/boost/fusion/adapted/array/value_at_impl.hpp create mode 100644 external/boost/fusion/adapted/array/value_of_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array.hpp create mode 100644 external/boost/fusion/adapted/boost_array/array_iterator.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/at_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/end_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/size_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_array/tag_of.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp create mode 100644 external/boost/fusion/adapted/boost_tuple/tag_of.hpp create mode 100644 external/boost/fusion/adapted/mpl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/at_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/begin_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/empty_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/end_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/size_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/adapted/mpl/mpl_iterator.hpp create mode 100644 external/boost/fusion/adapted/std_array.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/array_size.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/at_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/begin_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/end_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/size_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/adapted/std_array/std_array_iterator.hpp create mode 100644 external/boost/fusion/adapted/std_array/tag_of.hpp create mode 100644 external/boost/fusion/adapted/std_pair.hpp create mode 100644 external/boost/fusion/adapted/std_tuple.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/mpl/clear.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp create mode 100644 external/boost/fusion/adapted/std_tuple/tag_of.hpp create mode 100644 external/boost/fusion/adapted/struct.hpp create mode 100644 external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp create mode 100644 external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp create mode 100644 external/boost/fusion/adapted/struct/adapt_struct.hpp create mode 100644 external/boost/fusion/adapted/struct/adapt_struct_named.hpp create mode 100644 external/boost/fusion/adapted/struct/define_assoc_struct.hpp create mode 100644 external/boost/fusion/adapted/struct/define_struct.hpp create mode 100644 external/boost/fusion/adapted/struct/define_struct_inline.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/adapt_auto.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/adapt_base.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/at_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/begin_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/category_of_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/define_struct.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/deref_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/end_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/extension.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/is_view_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/key_of_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/namespace.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/proxy_type.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/size_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp create mode 100644 external/boost/fusion/adapted/struct/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/algorithm.hpp create mode 100644 external/boost/fusion/algorithm/auxiliary.hpp create mode 100644 external/boost/fusion/algorithm/auxiliary/copy.hpp create mode 100644 external/boost/fusion/algorithm/auxiliary/move.hpp create mode 100644 external/boost/fusion/algorithm/iteration.hpp create mode 100644 external/boost/fusion/algorithm/iteration/accumulate.hpp create mode 100644 external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/for_each.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp create mode 100644 external/boost/fusion/algorithm/iteration/fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/fold_fwd.hpp create mode 100644 external/boost/fusion/algorithm/iteration/for_each.hpp create mode 100644 external/boost/fusion/algorithm/iteration/for_each_fwd.hpp create mode 100644 external/boost/fusion/algorithm/iteration/iter_fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp create mode 100644 external/boost/fusion/algorithm/iteration/reverse_fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp create mode 100644 external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp create mode 100644 external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp create mode 100644 external/boost/fusion/algorithm/query.hpp create mode 100644 external/boost/fusion/algorithm/query/all.hpp create mode 100644 external/boost/fusion/algorithm/query/any.hpp create mode 100644 external/boost/fusion/algorithm/query/count.hpp create mode 100644 external/boost/fusion/algorithm/query/count_if.hpp create mode 100644 external/boost/fusion/algorithm/query/detail/all.hpp create mode 100644 external/boost/fusion/algorithm/query/detail/any.hpp create mode 100644 external/boost/fusion/algorithm/query/detail/count.hpp create mode 100644 external/boost/fusion/algorithm/query/detail/count_if.hpp create mode 100644 external/boost/fusion/algorithm/query/detail/find_if.hpp create mode 100644 external/boost/fusion/algorithm/query/detail/segmented_find.hpp create mode 100644 external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp create mode 100644 external/boost/fusion/algorithm/query/find.hpp create mode 100644 external/boost/fusion/algorithm/query/find_fwd.hpp create mode 100644 external/boost/fusion/algorithm/query/find_if.hpp create mode 100644 external/boost/fusion/algorithm/query/find_if_fwd.hpp create mode 100644 external/boost/fusion/algorithm/query/none.hpp create mode 100644 external/boost/fusion/algorithm/transformation.hpp create mode 100644 external/boost/fusion/algorithm/transformation/clear.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/replace.hpp create mode 100644 external/boost/fusion/algorithm/transformation/detail/replace_if.hpp create mode 100644 external/boost/fusion/algorithm/transformation/erase.hpp create mode 100644 external/boost/fusion/algorithm/transformation/erase_key.hpp create mode 100644 external/boost/fusion/algorithm/transformation/filter.hpp create mode 100644 external/boost/fusion/algorithm/transformation/filter_if.hpp create mode 100644 external/boost/fusion/algorithm/transformation/flatten.hpp create mode 100644 external/boost/fusion/algorithm/transformation/insert.hpp create mode 100644 external/boost/fusion/algorithm/transformation/insert_range.hpp create mode 100644 external/boost/fusion/algorithm/transformation/join.hpp create mode 100644 external/boost/fusion/algorithm/transformation/pop_back.hpp create mode 100644 external/boost/fusion/algorithm/transformation/pop_front.hpp create mode 100644 external/boost/fusion/algorithm/transformation/push_back.hpp create mode 100644 external/boost/fusion/algorithm/transformation/push_front.hpp create mode 100644 external/boost/fusion/algorithm/transformation/remove.hpp create mode 100644 external/boost/fusion/algorithm/transformation/remove_if.hpp create mode 100644 external/boost/fusion/algorithm/transformation/replace.hpp create mode 100644 external/boost/fusion/algorithm/transformation/replace_if.hpp create mode 100644 external/boost/fusion/algorithm/transformation/reverse.hpp create mode 100644 external/boost/fusion/algorithm/transformation/transform.hpp create mode 100644 external/boost/fusion/algorithm/transformation/zip.hpp create mode 100644 external/boost/fusion/container.hpp create mode 100644 external/boost/fusion/container/deque.hpp create mode 100644 external/boost/fusion/container/deque/back_extended_deque.hpp create mode 100644 external/boost/fusion/container/deque/convert.hpp create mode 100644 external/boost/fusion/container/deque/deque.hpp create mode 100644 external/boost/fusion/container/deque/deque_fwd.hpp create mode 100644 external/boost/fusion/container/deque/deque_iterator.hpp create mode 100644 external/boost/fusion/container/deque/detail/at_impl.hpp create mode 100644 external/boost/fusion/container/deque/detail/begin_impl.hpp create mode 100644 external/boost/fusion/container/deque/detail/build_deque.hpp create mode 100644 external/boost/fusion/container/deque/detail/convert_impl.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/limits.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp create mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp create mode 100644 external/boost/fusion/container/deque/detail/deque_keyed_values.hpp create mode 100644 external/boost/fusion/container/deque/detail/end_impl.hpp create mode 100644 external/boost/fusion/container/deque/detail/is_sequence_impl.hpp create mode 100644 external/boost/fusion/container/deque/detail/keyed_element.hpp create mode 100644 external/boost/fusion/container/deque/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/container/deque/front_extended_deque.hpp create mode 100644 external/boost/fusion/container/generation.hpp create mode 100644 external/boost/fusion/container/generation/cons_tie.hpp create mode 100644 external/boost/fusion/container/generation/deque_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_deque_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_list_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_make_deque.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_make_list.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_make_map.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_make_set.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_make_vector.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_map_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/pp_vector_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp create mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp create mode 100644 external/boost/fusion/container/generation/ignore.hpp create mode 100644 external/boost/fusion/container/generation/list_tie.hpp create mode 100644 external/boost/fusion/container/generation/make_cons.hpp create mode 100644 external/boost/fusion/container/generation/make_deque.hpp create mode 100644 external/boost/fusion/container/generation/make_list.hpp create mode 100644 external/boost/fusion/container/generation/make_map.hpp create mode 100644 external/boost/fusion/container/generation/make_set.hpp create mode 100644 external/boost/fusion/container/generation/make_vector.hpp create mode 100644 external/boost/fusion/container/generation/map_tie.hpp create mode 100644 external/boost/fusion/container/generation/pair_tie.hpp create mode 100644 external/boost/fusion/container/generation/vector_tie.hpp create mode 100644 external/boost/fusion/container/list.hpp create mode 100644 external/boost/fusion/container/list/cons.hpp create mode 100644 external/boost/fusion/container/list/cons_fwd.hpp create mode 100644 external/boost/fusion/container/list/cons_iterator.hpp create mode 100644 external/boost/fusion/container/list/convert.hpp create mode 100644 external/boost/fusion/container/list/detail/at_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/begin_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/build_cons.hpp create mode 100644 external/boost/fusion/container/list/detail/convert_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/limits.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/list.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp create mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp create mode 100644 external/boost/fusion/container/list/detail/deref_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/empty_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/end_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/equal_to_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/list_to_cons.hpp create mode 100644 external/boost/fusion/container/list/detail/next_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/reverse_cons.hpp create mode 100644 external/boost/fusion/container/list/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/container/list/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/container/list/list.hpp create mode 100644 external/boost/fusion/container/list/list_fwd.hpp create mode 100644 external/boost/fusion/container/list/nil.hpp create mode 100644 external/boost/fusion/container/map.hpp create mode 100644 external/boost/fusion/container/map/convert.hpp create mode 100644 external/boost/fusion/container/map/detail/at_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/at_key_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/begin_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/build_map.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/as_map.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/at_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/convert.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/end_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/limits.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/map.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/end_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/map_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/map_index.hpp create mode 100644 external/boost/fusion/container/map/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/container/map/detail/value_at_key_impl.hpp create mode 100644 external/boost/fusion/container/map/map.hpp create mode 100644 external/boost/fusion/container/map/map_fwd.hpp create mode 100644 external/boost/fusion/container/map/map_iterator.hpp create mode 100644 external/boost/fusion/container/set.hpp create mode 100644 external/boost/fusion/container/set/convert.hpp create mode 100644 external/boost/fusion/container/set/detail/as_set.hpp create mode 100644 external/boost/fusion/container/set/detail/begin_impl.hpp create mode 100644 external/boost/fusion/container/set/detail/convert_impl.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/as_set.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/limits.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/set.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp create mode 100644 external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp create mode 100644 external/boost/fusion/container/set/detail/deref_data_impl.hpp create mode 100644 external/boost/fusion/container/set/detail/deref_impl.hpp create mode 100644 external/boost/fusion/container/set/detail/end_impl.hpp create mode 100644 external/boost/fusion/container/set/detail/key_of_impl.hpp create mode 100644 external/boost/fusion/container/set/detail/value_of_data_impl.hpp create mode 100644 external/boost/fusion/container/set/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/container/set/set.hpp create mode 100644 external/boost/fusion/container/set/set_fwd.hpp create mode 100644 external/boost/fusion/container/vector.hpp create mode 100644 external/boost/fusion/container/vector/convert.hpp create mode 100644 external/boost/fusion/container/vector/detail/advance_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/as_vector.hpp create mode 100644 external/boost/fusion/container/vector/detail/at_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/begin_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/config.hpp create mode 100644 external/boost/fusion/container/vector/detail/convert_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/limits.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector10.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector20.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector30.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector40.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector50.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp create mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp create mode 100644 external/boost/fusion/container/vector/detail/deref_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/distance_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/end_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/equal_to_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/next_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/prior_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/container/vector/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/container/vector/vector.hpp create mode 100644 external/boost/fusion/container/vector/vector10.hpp create mode 100644 external/boost/fusion/container/vector/vector20.hpp create mode 100644 external/boost/fusion/container/vector/vector30.hpp create mode 100644 external/boost/fusion/container/vector/vector40.hpp create mode 100644 external/boost/fusion/container/vector/vector50.hpp create mode 100644 external/boost/fusion/container/vector/vector_fwd.hpp create mode 100644 external/boost/fusion/container/vector/vector_iterator.hpp create mode 100644 external/boost/fusion/functional.hpp create mode 100644 external/boost/fusion/functional/adapter.hpp create mode 100644 external/boost/fusion/functional/adapter/detail/access.hpp create mode 100644 external/boost/fusion/functional/adapter/fused.hpp create mode 100644 external/boost/fusion/functional/adapter/fused_function_object.hpp create mode 100644 external/boost/fusion/functional/adapter/fused_procedure.hpp create mode 100644 external/boost/fusion/functional/adapter/limits.hpp create mode 100644 external/boost/fusion/functional/adapter/unfused.hpp create mode 100644 external/boost/fusion/functional/adapter/unfused_typed.hpp create mode 100644 external/boost/fusion/functional/generation.hpp create mode 100644 external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp create mode 100644 external/boost/fusion/functional/generation/make_fused.hpp create mode 100644 external/boost/fusion/functional/generation/make_fused_function_object.hpp create mode 100644 external/boost/fusion/functional/generation/make_fused_procedure.hpp create mode 100644 external/boost/fusion/functional/generation/make_unfused.hpp create mode 100644 external/boost/fusion/functional/invocation.hpp create mode 100644 external/boost/fusion/functional/invocation/detail/that_ptr.hpp create mode 100644 external/boost/fusion/functional/invocation/invoke.hpp create mode 100644 external/boost/fusion/functional/invocation/invoke_function_object.hpp create mode 100644 external/boost/fusion/functional/invocation/invoke_procedure.hpp create mode 100644 external/boost/fusion/functional/invocation/limits.hpp create mode 100644 external/boost/fusion/include/accumulate.hpp create mode 100644 external/boost/fusion/include/adapt_adt.hpp create mode 100644 external/boost/fusion/include/adapt_adt_named.hpp create mode 100644 external/boost/fusion/include/adapt_assoc_adt.hpp create mode 100644 external/boost/fusion/include/adapt_assoc_adt_named.hpp create mode 100644 external/boost/fusion/include/adapt_assoc_struct.hpp create mode 100644 external/boost/fusion/include/adapt_assoc_struct_named.hpp create mode 100644 external/boost/fusion/include/adapt_struct.hpp create mode 100644 external/boost/fusion/include/adapt_struct_named.hpp create mode 100644 external/boost/fusion/include/adapted.hpp create mode 100644 external/boost/fusion/include/adapter.hpp create mode 100644 external/boost/fusion/include/advance.hpp create mode 100644 external/boost/fusion/include/algorithm.hpp create mode 100644 external/boost/fusion/include/all.hpp create mode 100644 external/boost/fusion/include/any.hpp create mode 100644 external/boost/fusion/include/array.hpp create mode 100644 external/boost/fusion/include/as_deque.hpp create mode 100644 external/boost/fusion/include/as_list.hpp create mode 100644 external/boost/fusion/include/as_map.hpp create mode 100644 external/boost/fusion/include/as_set.hpp create mode 100644 external/boost/fusion/include/as_vector.hpp create mode 100644 external/boost/fusion/include/at.hpp create mode 100644 external/boost/fusion/include/at_c.hpp create mode 100644 external/boost/fusion/include/at_key.hpp create mode 100644 external/boost/fusion/include/auxiliary.hpp create mode 100644 external/boost/fusion/include/back.hpp create mode 100644 external/boost/fusion/include/begin.hpp create mode 100644 external/boost/fusion/include/boost_array.hpp create mode 100644 external/boost/fusion/include/boost_tuple.hpp create mode 100644 external/boost/fusion/include/category_of.hpp create mode 100644 external/boost/fusion/include/clear.hpp create mode 100644 external/boost/fusion/include/comparison.hpp create mode 100644 external/boost/fusion/include/cons.hpp create mode 100644 external/boost/fusion/include/cons_tie.hpp create mode 100644 external/boost/fusion/include/container.hpp create mode 100644 external/boost/fusion/include/convert.hpp create mode 100644 external/boost/fusion/include/copy.hpp create mode 100644 external/boost/fusion/include/count.hpp create mode 100644 external/boost/fusion/include/count_if.hpp create mode 100644 external/boost/fusion/include/deduce.hpp create mode 100644 external/boost/fusion/include/deduce_sequence.hpp create mode 100644 external/boost/fusion/include/define_assoc_struct.hpp create mode 100644 external/boost/fusion/include/define_struct.hpp create mode 100644 external/boost/fusion/include/define_struct_inline.hpp create mode 100644 external/boost/fusion/include/deque.hpp create mode 100644 external/boost/fusion/include/deque_fwd.hpp create mode 100644 external/boost/fusion/include/deque_tie.hpp create mode 100644 external/boost/fusion/include/deref.hpp create mode 100644 external/boost/fusion/include/deref_data.hpp create mode 100644 external/boost/fusion/include/distance.hpp create mode 100644 external/boost/fusion/include/empty.hpp create mode 100644 external/boost/fusion/include/end.hpp create mode 100644 external/boost/fusion/include/equal_to.hpp create mode 100644 external/boost/fusion/include/erase.hpp create mode 100644 external/boost/fusion/include/erase_key.hpp create mode 100644 external/boost/fusion/include/filter.hpp create mode 100644 external/boost/fusion/include/filter_if.hpp create mode 100644 external/boost/fusion/include/filter_view.hpp create mode 100644 external/boost/fusion/include/find.hpp create mode 100644 external/boost/fusion/include/find_if.hpp create mode 100644 external/boost/fusion/include/flatten.hpp create mode 100644 external/boost/fusion/include/flatten_view.hpp create mode 100644 external/boost/fusion/include/fold.hpp create mode 100644 external/boost/fusion/include/for_each.hpp create mode 100644 external/boost/fusion/include/front.hpp create mode 100644 external/boost/fusion/include/functional.hpp create mode 100644 external/boost/fusion/include/fused.hpp create mode 100644 external/boost/fusion/include/fused_function_object.hpp create mode 100644 external/boost/fusion/include/fused_procedure.hpp create mode 100644 external/boost/fusion/include/generation.hpp create mode 100644 external/boost/fusion/include/greater.hpp create mode 100644 external/boost/fusion/include/greater_equal.hpp create mode 100644 external/boost/fusion/include/has_key.hpp create mode 100644 external/boost/fusion/include/hash.hpp create mode 100644 external/boost/fusion/include/ignore.hpp create mode 100644 external/boost/fusion/include/in.hpp create mode 100644 external/boost/fusion/include/insert.hpp create mode 100644 external/boost/fusion/include/insert_range.hpp create mode 100644 external/boost/fusion/include/intrinsic.hpp create mode 100644 external/boost/fusion/include/invocation.hpp create mode 100644 external/boost/fusion/include/invoke.hpp create mode 100644 external/boost/fusion/include/invoke_function_object.hpp create mode 100644 external/boost/fusion/include/invoke_procedure.hpp create mode 100644 external/boost/fusion/include/io.hpp create mode 100644 external/boost/fusion/include/is_iterator.hpp create mode 100644 external/boost/fusion/include/is_segmented.hpp create mode 100644 external/boost/fusion/include/is_sequence.hpp create mode 100644 external/boost/fusion/include/is_view.hpp create mode 100644 external/boost/fusion/include/iter_fold.hpp create mode 100644 external/boost/fusion/include/iteration.hpp create mode 100644 external/boost/fusion/include/iterator.hpp create mode 100644 external/boost/fusion/include/iterator_adapter.hpp create mode 100644 external/boost/fusion/include/iterator_base.hpp create mode 100644 external/boost/fusion/include/iterator_facade.hpp create mode 100644 external/boost/fusion/include/iterator_range.hpp create mode 100644 external/boost/fusion/include/join.hpp create mode 100644 external/boost/fusion/include/joint_view.hpp create mode 100644 external/boost/fusion/include/key_of.hpp create mode 100644 external/boost/fusion/include/less.hpp create mode 100644 external/boost/fusion/include/less_equal.hpp create mode 100644 external/boost/fusion/include/list.hpp create mode 100644 external/boost/fusion/include/list_fwd.hpp create mode 100644 external/boost/fusion/include/list_tie.hpp create mode 100644 external/boost/fusion/include/make_cons.hpp create mode 100644 external/boost/fusion/include/make_deque.hpp create mode 100644 external/boost/fusion/include/make_fused.hpp create mode 100644 external/boost/fusion/include/make_fused_function_object.hpp create mode 100644 external/boost/fusion/include/make_fused_procedure.hpp create mode 100644 external/boost/fusion/include/make_list.hpp create mode 100644 external/boost/fusion/include/make_map.hpp create mode 100644 external/boost/fusion/include/make_set.hpp create mode 100644 external/boost/fusion/include/make_tuple.hpp create mode 100644 external/boost/fusion/include/make_unfused.hpp create mode 100644 external/boost/fusion/include/make_vector.hpp create mode 100644 external/boost/fusion/include/map.hpp create mode 100644 external/boost/fusion/include/map_fwd.hpp create mode 100644 external/boost/fusion/include/map_tie.hpp create mode 100644 external/boost/fusion/include/move.hpp create mode 100644 external/boost/fusion/include/mpl.hpp create mode 100644 external/boost/fusion/include/next.hpp create mode 100644 external/boost/fusion/include/nil.hpp create mode 100644 external/boost/fusion/include/none.hpp create mode 100644 external/boost/fusion/include/not_equal_to.hpp create mode 100644 external/boost/fusion/include/nview.hpp create mode 100644 external/boost/fusion/include/out.hpp create mode 100644 external/boost/fusion/include/pair.hpp create mode 100644 external/boost/fusion/include/pair_tie.hpp create mode 100644 external/boost/fusion/include/pop_back.hpp create mode 100644 external/boost/fusion/include/pop_front.hpp create mode 100644 external/boost/fusion/include/prior.hpp create mode 100644 external/boost/fusion/include/proxy_type.hpp create mode 100644 external/boost/fusion/include/push_back.hpp create mode 100644 external/boost/fusion/include/push_front.hpp create mode 100644 external/boost/fusion/include/query.hpp create mode 100644 external/boost/fusion/include/remove.hpp create mode 100644 external/boost/fusion/include/remove_if.hpp create mode 100644 external/boost/fusion/include/repetitive_view.hpp create mode 100644 external/boost/fusion/include/replace.hpp create mode 100644 external/boost/fusion/include/replace_if.hpp create mode 100644 external/boost/fusion/include/reverse.hpp create mode 100644 external/boost/fusion/include/reverse_fold.hpp create mode 100644 external/boost/fusion/include/reverse_iter_fold.hpp create mode 100644 external/boost/fusion/include/reverse_view.hpp create mode 100644 external/boost/fusion/include/segmented_fold_until.hpp create mode 100644 external/boost/fusion/include/segmented_iterator.hpp create mode 100644 external/boost/fusion/include/segments.hpp create mode 100644 external/boost/fusion/include/sequence.hpp create mode 100644 external/boost/fusion/include/sequence_base.hpp create mode 100644 external/boost/fusion/include/sequence_facade.hpp create mode 100644 external/boost/fusion/include/set.hpp create mode 100644 external/boost/fusion/include/set_fwd.hpp create mode 100644 external/boost/fusion/include/single_view.hpp create mode 100644 external/boost/fusion/include/size.hpp create mode 100644 external/boost/fusion/include/std_array.hpp create mode 100644 external/boost/fusion/include/std_pair.hpp create mode 100644 external/boost/fusion/include/std_tuple.hpp create mode 100644 external/boost/fusion/include/struct.hpp create mode 100644 external/boost/fusion/include/support.hpp create mode 100644 external/boost/fusion/include/swap.hpp create mode 100644 external/boost/fusion/include/tag_of.hpp create mode 100644 external/boost/fusion/include/tag_of_fwd.hpp create mode 100644 external/boost/fusion/include/transform.hpp create mode 100644 external/boost/fusion/include/transform_view.hpp create mode 100644 external/boost/fusion/include/transformation.hpp create mode 100644 external/boost/fusion/include/tuple.hpp create mode 100644 external/boost/fusion/include/tuple_fwd.hpp create mode 100644 external/boost/fusion/include/tuple_tie.hpp create mode 100644 external/boost/fusion/include/unfused.hpp create mode 100644 external/boost/fusion/include/unfused_typed.hpp create mode 100644 external/boost/fusion/include/unused.hpp create mode 100644 external/boost/fusion/include/value_at.hpp create mode 100644 external/boost/fusion/include/value_at_key.hpp create mode 100644 external/boost/fusion/include/value_of.hpp create mode 100644 external/boost/fusion/include/value_of_data.hpp create mode 100644 external/boost/fusion/include/vector.hpp create mode 100644 external/boost/fusion/include/vector10.hpp create mode 100644 external/boost/fusion/include/vector20.hpp create mode 100644 external/boost/fusion/include/vector30.hpp create mode 100644 external/boost/fusion/include/vector40.hpp create mode 100644 external/boost/fusion/include/vector50.hpp create mode 100644 external/boost/fusion/include/vector_fwd.hpp create mode 100644 external/boost/fusion/include/vector_tie.hpp create mode 100644 external/boost/fusion/include/view.hpp create mode 100644 external/boost/fusion/include/void.hpp create mode 100644 external/boost/fusion/include/zip.hpp create mode 100644 external/boost/fusion/include/zip_view.hpp create mode 100644 external/boost/fusion/iterator.hpp create mode 100644 external/boost/fusion/iterator/advance.hpp create mode 100644 external/boost/fusion/iterator/basic_iterator.hpp create mode 100644 external/boost/fusion/iterator/deref.hpp create mode 100644 external/boost/fusion/iterator/deref_data.hpp create mode 100644 external/boost/fusion/iterator/detail/adapt_deref_traits.hpp create mode 100644 external/boost/fusion/iterator/detail/adapt_value_traits.hpp create mode 100644 external/boost/fusion/iterator/detail/advance.hpp create mode 100644 external/boost/fusion/iterator/detail/distance.hpp create mode 100644 external/boost/fusion/iterator/detail/segment_sequence.hpp create mode 100644 external/boost/fusion/iterator/detail/segmented_equal_to.hpp create mode 100644 external/boost/fusion/iterator/detail/segmented_iterator.hpp create mode 100644 external/boost/fusion/iterator/detail/segmented_next_impl.hpp create mode 100644 external/boost/fusion/iterator/distance.hpp create mode 100644 external/boost/fusion/iterator/equal_to.hpp create mode 100644 external/boost/fusion/iterator/iterator_adapter.hpp create mode 100644 external/boost/fusion/iterator/iterator_facade.hpp create mode 100644 external/boost/fusion/iterator/key_of.hpp create mode 100644 external/boost/fusion/iterator/mpl.hpp create mode 100644 external/boost/fusion/iterator/mpl/convert_iterator.hpp create mode 100644 external/boost/fusion/iterator/mpl/fusion_iterator.hpp create mode 100644 external/boost/fusion/iterator/next.hpp create mode 100644 external/boost/fusion/iterator/prior.hpp create mode 100644 external/boost/fusion/iterator/segmented_iterator.hpp create mode 100644 external/boost/fusion/iterator/value_of.hpp create mode 100644 external/boost/fusion/iterator/value_of_data.hpp create mode 100644 external/boost/fusion/mpl.hpp create mode 100644 external/boost/fusion/mpl/at.hpp create mode 100644 external/boost/fusion/mpl/back.hpp create mode 100644 external/boost/fusion/mpl/begin.hpp create mode 100644 external/boost/fusion/mpl/clear.hpp create mode 100644 external/boost/fusion/mpl/detail/clear.hpp create mode 100644 external/boost/fusion/mpl/empty.hpp create mode 100644 external/boost/fusion/mpl/end.hpp create mode 100644 external/boost/fusion/mpl/erase.hpp create mode 100644 external/boost/fusion/mpl/erase_key.hpp create mode 100644 external/boost/fusion/mpl/front.hpp create mode 100644 external/boost/fusion/mpl/has_key.hpp create mode 100644 external/boost/fusion/mpl/insert.hpp create mode 100644 external/boost/fusion/mpl/insert_range.hpp create mode 100644 external/boost/fusion/mpl/pop_back.hpp create mode 100644 external/boost/fusion/mpl/pop_front.hpp create mode 100644 external/boost/fusion/mpl/push_back.hpp create mode 100644 external/boost/fusion/mpl/push_front.hpp create mode 100644 external/boost/fusion/mpl/size.hpp create mode 100644 external/boost/fusion/sequence.hpp create mode 100644 external/boost/fusion/sequence/comparison.hpp create mode 100644 external/boost/fusion/sequence/comparison/detail/equal_to.hpp create mode 100644 external/boost/fusion/sequence/comparison/detail/greater.hpp create mode 100644 external/boost/fusion/sequence/comparison/detail/greater_equal.hpp create mode 100644 external/boost/fusion/sequence/comparison/detail/less.hpp create mode 100644 external/boost/fusion/sequence/comparison/detail/less_equal.hpp create mode 100644 external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp create mode 100644 external/boost/fusion/sequence/comparison/enable_comparison.hpp create mode 100644 external/boost/fusion/sequence/comparison/equal_to.hpp create mode 100644 external/boost/fusion/sequence/comparison/greater.hpp create mode 100644 external/boost/fusion/sequence/comparison/greater_equal.hpp create mode 100644 external/boost/fusion/sequence/comparison/less.hpp create mode 100644 external/boost/fusion/sequence/comparison/less_equal.hpp create mode 100644 external/boost/fusion/sequence/comparison/not_equal_to.hpp create mode 100644 external/boost/fusion/sequence/convert.hpp create mode 100644 external/boost/fusion/sequence/hash.hpp create mode 100644 external/boost/fusion/sequence/intrinsic.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/at.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/at_c.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/at_key.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/back.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/begin.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/empty.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/end.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/front.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/has_key.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/segments.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/size.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/swap.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/value_at.hpp create mode 100644 external/boost/fusion/sequence/intrinsic/value_at_key.hpp create mode 100644 external/boost/fusion/sequence/intrinsic_fwd.hpp create mode 100644 external/boost/fusion/sequence/io.hpp create mode 100644 external/boost/fusion/sequence/io/detail/in.hpp create mode 100644 external/boost/fusion/sequence/io/detail/manip.hpp create mode 100644 external/boost/fusion/sequence/io/detail/out.hpp create mode 100644 external/boost/fusion/sequence/io/in.hpp create mode 100644 external/boost/fusion/sequence/io/out.hpp create mode 100644 external/boost/fusion/sequence/sequence_facade.hpp create mode 100644 external/boost/fusion/support.hpp create mode 100644 external/boost/fusion/support/as_const.hpp create mode 100644 external/boost/fusion/support/category_of.hpp create mode 100644 external/boost/fusion/support/config.hpp create mode 100644 external/boost/fusion/support/deduce.hpp create mode 100644 external/boost/fusion/support/deduce_sequence.hpp create mode 100644 external/boost/fusion/support/detail/access.hpp create mode 100644 external/boost/fusion/support/detail/and.hpp create mode 100644 external/boost/fusion/support/detail/as_fusion_element.hpp create mode 100644 external/boost/fusion/support/detail/category_of.hpp create mode 100644 external/boost/fusion/support/detail/enabler.hpp create mode 100644 external/boost/fusion/support/detail/index_sequence.hpp create mode 100644 external/boost/fusion/support/detail/is_mpl_sequence.hpp create mode 100644 external/boost/fusion/support/detail/is_same_size.hpp create mode 100644 external/boost/fusion/support/detail/is_view.hpp create mode 100644 external/boost/fusion/support/detail/mpl_iterator_category.hpp create mode 100644 external/boost/fusion/support/detail/pp_round.hpp create mode 100644 external/boost/fusion/support/detail/segmented_fold_until_impl.hpp create mode 100644 external/boost/fusion/support/detail/unknown_key.hpp create mode 100644 external/boost/fusion/support/is_iterator.hpp create mode 100644 external/boost/fusion/support/is_segmented.hpp create mode 100644 external/boost/fusion/support/is_sequence.hpp create mode 100644 external/boost/fusion/support/is_view.hpp create mode 100644 external/boost/fusion/support/iterator_base.hpp create mode 100644 external/boost/fusion/support/pair.hpp create mode 100644 external/boost/fusion/support/segmented_fold_until.hpp create mode 100644 external/boost/fusion/support/sequence_base.hpp create mode 100644 external/boost/fusion/support/tag_of.hpp create mode 100644 external/boost/fusion/support/tag_of_fwd.hpp create mode 100644 external/boost/fusion/support/unused.hpp create mode 100644 external/boost/fusion/support/void.hpp create mode 100644 external/boost/fusion/tuple.hpp create mode 100644 external/boost/fusion/tuple/detail/make_tuple.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp create mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp create mode 100644 external/boost/fusion/tuple/detail/tuple.hpp create mode 100644 external/boost/fusion/tuple/detail/tuple_expand.hpp create mode 100644 external/boost/fusion/tuple/detail/tuple_fwd.hpp create mode 100644 external/boost/fusion/tuple/detail/tuple_tie.hpp create mode 100644 external/boost/fusion/tuple/make_tuple.hpp create mode 100644 external/boost/fusion/tuple/tuple.hpp create mode 100644 external/boost/fusion/tuple/tuple_fwd.hpp create mode 100644 external/boost/fusion/tuple/tuple_tie.hpp create mode 100644 external/boost/fusion/view.hpp create mode 100644 external/boost/fusion/view/detail/strictest_traversal.hpp create mode 100644 external/boost/fusion/view/filter_view.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/key_of_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/size_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/filter_view/filter_view.hpp create mode 100644 external/boost/fusion/view/filter_view/filter_view_iterator.hpp create mode 100644 external/boost/fusion/view/flatten_view.hpp create mode 100644 external/boost/fusion/view/flatten_view/flatten_view.hpp create mode 100644 external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp create mode 100644 external/boost/fusion/view/iterator_range.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/at_impl.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/segments_impl.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/size_impl.hpp create mode 100644 external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/view/iterator_range/iterator_range.hpp create mode 100644 external/boost/fusion/view/joint_view.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/key_of_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/joint_view/joint_view.hpp create mode 100644 external/boost/fusion/view/joint_view/joint_view_fwd.hpp create mode 100644 external/boost/fusion/view/joint_view/joint_view_iterator.hpp create mode 100644 external/boost/fusion/view/nview.hpp create mode 100644 external/boost/fusion/view/nview/detail/advance_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/at_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/distance_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/equal_to_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/nview_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/prior_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/size_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/view/nview/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/nview/nview.hpp create mode 100644 external/boost/fusion/view/nview/nview_iterator.hpp create mode 100644 external/boost/fusion/view/repetitive_view.hpp create mode 100644 external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/repetitive_view/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/repetitive_view/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/repetitive_view/repetitive_view.hpp create mode 100644 external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp create mode 100644 external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp create mode 100644 external/boost/fusion/view/reverse_view.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/advance_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/at_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/distance_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/prior_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/reverse_view/reverse_view.hpp create mode 100644 external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp create mode 100644 external/boost/fusion/view/single_view.hpp create mode 100644 external/boost/fusion/view/single_view/detail/advance_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/at_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/distance_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/equal_to_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/prior_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/size_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/view/single_view/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/single_view/single_view.hpp create mode 100644 external/boost/fusion/view/single_view/single_view_iterator.hpp create mode 100644 external/boost/fusion/view/transform_view.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/advance_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/at_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/distance_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/prior_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/transform_view/transform_view.hpp create mode 100644 external/boost/fusion/view/transform_view/transform_view_fwd.hpp create mode 100644 external/boost/fusion/view/transform_view/transform_view_iterator.hpp create mode 100644 external/boost/fusion/view/zip_view.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/advance_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/at_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/begin_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/deref_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/distance_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/end_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/next_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/prior_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/size_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/value_at_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/detail/value_of_impl.hpp create mode 100644 external/boost/fusion/view/zip_view/zip_view.hpp create mode 100644 external/boost/fusion/view/zip_view/zip_view_iterator.hpp create mode 100644 external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp create mode 100644 external/boost/parameter/aux_/arg_list.hpp create mode 100644 external/boost/parameter/aux_/cast.hpp create mode 100644 external/boost/parameter/aux_/default.hpp create mode 100644 external/boost/parameter/aux_/is_maybe.hpp create mode 100644 external/boost/parameter/aux_/maybe.hpp create mode 100644 external/boost/parameter/aux_/overloads.hpp create mode 100644 external/boost/parameter/aux_/parameter_requirements.hpp create mode 100644 external/boost/parameter/aux_/parenthesized_type.hpp create mode 100644 external/boost/parameter/aux_/preprocessor/flatten.hpp create mode 100644 external/boost/parameter/aux_/preprocessor/for_each.hpp create mode 100644 external/boost/parameter/aux_/python/invoker.hpp create mode 100644 external/boost/parameter/aux_/python/invoker_iterate.hpp create mode 100644 external/boost/parameter/aux_/result_of0.hpp create mode 100644 external/boost/parameter/aux_/set.hpp create mode 100644 external/boost/parameter/aux_/tag.hpp create mode 100644 external/boost/parameter/aux_/tagged_argument.hpp create mode 100644 external/boost/parameter/aux_/template_keyword.hpp create mode 100644 external/boost/parameter/aux_/unwrap_cv_reference.hpp create mode 100644 external/boost/parameter/aux_/void.hpp create mode 100644 external/boost/parameter/aux_/yesno.hpp create mode 100644 external/boost/parameter/binding.hpp create mode 100644 external/boost/parameter/config.hpp create mode 100644 external/boost/parameter/keyword.hpp create mode 100644 external/boost/parameter/macros.hpp create mode 100644 external/boost/parameter/match.hpp create mode 100644 external/boost/parameter/name.hpp create mode 100644 external/boost/parameter/parameters.hpp create mode 100644 external/boost/parameter/preprocessor.hpp create mode 100644 external/boost/parameter/python.hpp create mode 100644 external/boost/parameter/value_type.hpp create mode 100644 external/boost/ref.hpp create mode 100644 external/boost/version.hpp diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 468edfe84..c1b97503f 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,6 +1,6 @@ # VolEsti (volume computation and sampling library) -# Copyright (c) 2012-2018 Vissarion Fisikopoulos -# Copyright (c) 2018 Apostolos Chalkis +# Copyright (c) 2012-2021 Vissarion Fisikopoulos +# Copyright (c) 2018-2021 Apostolos Chalkis # Contributed and/or modified by Repouskos Panagiotis, as part of Google Summer of Code 2019 program. # Licensed under GNU LGPL.3, see LICENCE file @@ -110,5 +110,6 @@ else () add_subdirectory(logconcave) add_subdirectory(spectrahedra) add_subdirectory(hpolytope-volume) + add_subdirectory(mmcs_method) endif() diff --git a/examples/mmcs_method/CMakeLists.txt b/examples/mmcs_method/CMakeLists.txt new file mode 100644 index 000000000..26c86b3dc --- /dev/null +++ b/examples/mmcs_method/CMakeLists.txt @@ -0,0 +1,115 @@ +# VolEsti (volume computation and sampling library) +# Copyright (c) 2012-2018 Vissarion Fisikopoulos +# Copyright (c) 2018 Apostolos Chalkis +# Contributed and/or modified by Marios Papachristou, as part of Google Summer of Code 2020 program. +# Licensed under GNU LGPL.3, see LICENCE file + + +project( VolEsti ) + + +CMAKE_MINIMUM_REQUIRED(VERSION 2.4.5) + +set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) + +if(COMMAND cmake_policy) + cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) + + +option(DISABLE_NLP_ORACLES "Disable non-linear oracles (used in collocation)" ON) + +if(DISABLE_NLP_ORACLES) + add_definitions(-DDISABLE_NLP_ORACLES) +else() + find_library(IFOPT NAMES libifopt_core.so PATHS /usr/local/lib) + find_library(IFOPT_IPOPT NAMES libifopt_ipopt.so PATHS /usr/local/lib) + find_library(GMP NAMES libgmp.so PATHS /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu) + find_library(MPSOLVE NAMES libmps.so PATHS /usr/local/lib) + find_library(PTHREAD NAMES libpthread.so PATHS /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu) + find_library(FFTW3 NAMES libfftw3.so.3 PATHS /usr/lib/x86_64-linux-gnu /usr/lib/i386-linux-gnu) + + if (NOT IFOPT) + + message(FATAL_ERROR "This program requires the ifopt library, and will not be compiled.") + + elseif (NOT GMP) + + message(FATAL_ERROR "This program requires the gmp library, and will not be compiled.") + + elseif (NOT MPSOLVE) + + message(FATAL_ERROR "This program requires the mpsolve library, and will not be compiled.") + + elseif (NOT FFTW3) + + message(FATAL_ERROR "This program requires the fftw3 library, and will not be compiled.") + + else() + message(STATUS "Library ifopt found: ${IFOPT}") + message(STATUS "Library gmp found: ${GMP}") + message(STATUS "Library mpsolve found: ${MPSOLVE}") + message(STATUS "Library fftw3 found:" ${FFTW3}) + + endif(NOT IFOPT) + +endif(DISABLE_NLP_ORACLES) + + +# Find lpsolve library +find_library(LP_SOLVE NAMES liblpsolve55.so PATHS /usr/lib/lp_solve) + +if (NOT LP_SOLVE) + message(FATAL_ERROR "This program requires the lp_solve library, and will not be compiled.") +else () + message(STATUS "Library lp_solve found: ${LP_SOLVE}") + + set(CMAKE_EXPORT_COMPILE_COMMANDS "ON") + + include_directories (BEFORE ../../external/Eigen) + include_directories (BEFORE ../../external) + include_directories (BEFORE ../../external/minimum_ellipsoid) + #include_directories (BEFORE ../../include/cartesian_geom) + #include_directories (BEFORE ../../include/convex_bodies) + include_directories (BEFORE ../../external/LPsolve_src/run_headers) + include_directories (BEFORE ../../external/boost) + #include_directories (BEFORE BOOST) + include_directories (BEFORE ../../include/generators) + include_directories (BEFORE ../../include/volume) + include_directories (BEFORE ../../include) + include_directories (BEFORE ../../include/lp_oracles) + include_directories (BEFORE ../../include/nlp_oracles) + include_directories (BEFORE ../../include/convex_bodies) + include_directories (BEFORE ../../include/random_walks) + include_directories (BEFORE ../../include/annealing) + include_directories (BEFORE ../../include/ode_solvers) + include_directories (BEFORE ../../include/root_finders) + include_directories (BEFORE ../../include/samplers) + include_directories (BEFORE ../../include/misc) + include_directories (BEFORE ../../include/optimization) + + # for Eigen + if (${CMAKE_VERSION} VERSION_LESS "3.12.0") + add_compile_options(-D "EIGEN_NO_DEBUG") + else () + add_compile_definitions("EIGEN_NO_DEBUG") + endif () + + + add_definitions(${CMAKE_CXX_FLAGS} "-std=c++11") # enable C++11 standard + add_definitions(${CMAKE_CXX_FLAGS} "-O3") # optimization of the compiler + #add_definitions(${CXX_COVERAGE_COMPILE_FLAGS} "-lgsl") + add_definitions(${CXX_COVERAGE_COMPILE_FLAGS} "-lm") + add_definitions(${CXX_COVERAGE_COMPILE_FLAGS} "-ldl") + add_definitions(${CXX_COVERAGE_COMPILE_FLAGS} "-DBOOST_NO_AUTO_PTR") + #add_definitions(${CXX_COVERAGE_COMPILE_FLAGS} "-lgslcblas") + #add_definitions( "-O3 -lgsl -lm -ldl -lgslcblas" ) + + add_executable (skinny_cube_10_dim skinny_cube_10_dim.cpp) + add_executable (random_hpoly_50_dim random_hpoly_50_dim.cpp) + + TARGET_LINK_LIBRARIES(skinny_cube_10_dim ${LP_SOLVE}) + TARGET_LINK_LIBRARIES(random_hpoly_50_dim ${LP_SOLVE}) + + +endif() diff --git a/examples/mmcs_method/random_hpoly_50_dim.cpp b/examples/mmcs_method/random_hpoly_50_dim.cpp new file mode 100644 index 000000000..07d0edbfb --- /dev/null +++ b/examples/mmcs_method/random_hpoly_50_dim.cpp @@ -0,0 +1,171 @@ +// VolEsti (volume computation and sampling library) + +// Copyright (c) 2012-2021 Vissarion Fisikopoulos +// Copyright (c) 2018-2021 Apostolos Chalkis + +#include "Eigen/Eigen" + +#include +#include +#include +#include +#include +#include "random_walks/random_walks.hpp" +#include "volume/volume_sequence_of_balls.hpp" +#include "volume/volume_cooling_gaussians.hpp" +#include "sampling/mmcs.hpp" +#include "generators/h_polytopes_generator.h" +#include "diagnostics/multivariate_psrf.hpp" +#include "diagnostics/univariate_psrf.hpp" +#include "diagnostics/ess_window_updater.hpp" + + +template +void run_main() +{ + typedef Cartesian Kernel; + typedef BoostRandomNumberGenerator RNGType; + typedef boost::mt19937 PolyRNGType; + typedef typename Kernel::Point Point; + typedef HPolytope Hpolytope; + typedef Eigen::Matrix VT; + typedef Eigen::Matrix MT; + + int n = 50; + + RNGType rng(n); + Hpolytope P = random_hpoly(n, 4*n, 127); // we fix the example polytope, seed = 127 + std::list randPoints; + + MT T = MT::Identity(n, n); + VT T_shift = VT::Zero(n); + + unsigned int round_it = 1, num_rounding_steps = 20*n, + walk_length = 1, num_its = 20, Neff = 4000, total_neff = 0, phase = 0, + window = 100, max_num_samples = 100 * n, total_samples, nburns, total_number_of_samples_in_P0 = 0; + NT max_s, s_cutoff = 3.0, L; + bool complete = false, request_rounding = true, + rounding_completed = false; + bool req_round_temp = request_rounding; + + std::pair InnerBall; + + MT S; + + std::cout<<"target effective sample size = "<(S) << std::endl; + std::cerr << "maximum marginal PSRF: " << univariate_psrf(S).maxCoeff() << std::endl; +} + +int main() { + run_main(); + return 0; +} diff --git a/examples/mmcs_method/skinny_cube_10_dim.cpp b/examples/mmcs_method/skinny_cube_10_dim.cpp new file mode 100644 index 000000000..683e5b02d --- /dev/null +++ b/examples/mmcs_method/skinny_cube_10_dim.cpp @@ -0,0 +1,170 @@ +// VolEsti (volume computation and sampling library) + +// Copyright (c) 2012-2021 Vissarion Fisikopoulos +// Copyright (c) 2018-2021 Apostolos Chalkis + +#include "Eigen/Eigen" + +#include +#include +#include +#include +#include +#include "random_walks/random_walks.hpp" +#include "volume/volume_sequence_of_balls.hpp" +#include "volume/volume_cooling_gaussians.hpp" +#include "sampling/mmcs.hpp" +#include "generators/known_polytope_generators.h" +#include "diagnostics/multivariate_psrf.hpp" +#include "diagnostics/univariate_psrf.hpp" +#include "diagnostics/ess_window_updater.hpp" + + +template +void run_main() +{ + typedef Cartesian Kernel; + typedef BoostRandomNumberGenerator RNGType; + typedef typename Kernel::Point Point; + typedef HPolytope Hpolytope; + typedef Eigen::Matrix VT; + typedef Eigen::Matrix MT; + + int n = 10; + + Hpolytope P = generate_skinny_cube(n, false); + std::list randPoints; + RNGType rng(n); + + MT T = MT::Identity(n, n); + VT T_shift = VT::Zero(n); + + unsigned int round_it = 1, num_rounding_steps = 20*n, + walk_length = 1, num_its = 20, Neff = 1000, total_neff = 0, phase = 0, + window = 100, max_num_samples = 100 * n, total_samples, nburns, total_number_of_samples_in_P0 = 0; + NT max_s, s_cutoff = 3.0, L; + bool complete = false, request_rounding = true, + rounding_completed = false; + bool req_round_temp = request_rounding; + + std::pair InnerBall; + + MT S; + + std::cout<<"target effective sample size = "<(S) << std::endl; + std::cerr << "maximum marginal PSRF: " << univariate_psrf(S).maxCoeff() << std::endl; +} + +int main() { + run_main(); + return 0; +} diff --git a/external/boost/accumulators/accumulators.hpp b/external/boost/accumulators/accumulators.hpp new file mode 100644 index 000000000..55ee2f918 --- /dev/null +++ b/external/boost/accumulators/accumulators.hpp @@ -0,0 +1,27 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file accumulators.hpp +/// Includes all of the Accumulators Framework +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_ACCUMULATORS_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_ACCUMULATORS_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/accumulators/accumulators_fwd.hpp b/external/boost/accumulators/accumulators_fwd.hpp new file mode 100644 index 000000000..4c0370e21 --- /dev/null +++ b/external/boost/accumulators/accumulators_fwd.hpp @@ -0,0 +1,230 @@ +/////////////////////////////////////////////////////////////////////////////// +// accumulators_fwd.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_ACCUMULATORS_FWD_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_ACCUMULATORS_FWD_HPP_EAN_28_10_2005 + +#include +#include // for mpl::na +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef BOOST_ACCUMULATORS_MAX_FEATURES + /// The maximum number of accumulators that may be put in an accumulator_set. + /// Defaults to BOOST_MPL_LIMIT_VECTOR_SIZE (which defaults to 20). +# define BOOST_ACCUMULATORS_MAX_FEATURES BOOST_MPL_LIMIT_VECTOR_SIZE +#endif + +#if BOOST_ACCUMULATORS_MAX_FEATURES > BOOST_MPL_LIMIT_VECTOR_SIZE +# error BOOST_ACCUMULATORS_MAX_FEATURES cannot be larger than BOOST_MPL_LIMIT_VECTOR_SIZE +#endif + +#ifndef BOOST_ACCUMULATORS_MAX_ARGS + /// The maximum number of arguments that may be specified to an accumulator_set's + /// accumulation function. Defaults to 15. +# define BOOST_ACCUMULATORS_MAX_ARGS 15 +#endif + +#if BOOST_WORKAROUND(__GNUC__, == 3) \ + || BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(306)) +# define BOOST_ACCUMULATORS_BROKEN_CONST_OVERLOADS +#endif + +#ifdef BOOST_ACCUMULATORS_BROKEN_CONST_OVERLOADS +# include +# include +# define BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(T)\ + , typename boost::disable_if >::type * = 0 +#else +# define BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(T) +#endif + +#define BOOST_ACCUMULATORS_GCC_VERSION \ + (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) + +namespace boost { namespace accumulators +{ + +/////////////////////////////////////////////////////////////////////////////// +// Named parameters tags +// +namespace tag +{ + struct sample; + struct weight; + struct accumulator; + struct weights; +} + +/////////////////////////////////////////////////////////////////////////////// +// User-level features +// +namespace tag +{ + template + struct value; + + template + struct value_tag; + + template + struct reference; + + template + struct reference_tag; + + template + struct external; + + template + struct droppable; +} + +template +struct droppable_accumulator_base; + +template +struct droppable_accumulator; + +template +struct with_cached_result; + +template +struct accumulator_set; + +template +struct extractor; + +template +struct feature_of; + +template +struct as_feature; + +template +struct as_weighted_feature; + +template +struct depends_on; + +template +struct features; + +template +typename mpl::apply::type const & +find_accumulator(AccumulatorSet const &acc); + +template +typename mpl::apply::type::result_type +extract_result(AccumulatorSet const &acc); + +template +typename mpl::apply::type::result_type +extract_result(AccumulatorSet const &acc, A1 const &a1); + +// ... other overloads generated by Boost.Preprocessor: + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_EXTRACT_RESULT_FWD(z, n, _) \ + template< \ + typename Feature \ + , typename AccumulatorSet \ + BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ + > \ + typename mpl::apply::type::result_type \ + extract_result( \ + AccumulatorSet const &acc \ + BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \ + ); + +/// INTERNAL ONLY +/// +BOOST_PP_REPEAT_FROM_TO( + 2 + , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) + , BOOST_ACCUMULATORS_EXTRACT_RESULT_FWD + , _ +) + +#ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED +template +typename mpl::apply::type::result_type +extract_result(AccumulatorSet const &acc, A1 const &a1, A2 const &a2 ...); +#endif + +namespace impl +{ + using namespace numeric::operators; + + template + struct external_impl; +} + +namespace detail +{ + template + struct feature_tag; + + template + struct to_accumulator; + + struct accumulator_set_base; + + template + struct is_accumulator_set; + + inline void ignore_variable(void const *) {} + +#define BOOST_ACCUMULATORS_IGNORE_GLOBAL(X) \ + namespace detail \ + { \ + struct BOOST_PP_CAT(ignore_, X) \ + { \ + void ignore() \ + { \ + boost::accumulators::detail::ignore_variable(&X); \ + } \ + }; \ + } \ + /**/ +} + +}} // namespace boost::accumulators + +// For defining boost::parameter keywords that can be inherited from to +// get a nested, class-scoped keyword with the requested alias +#define BOOST_PARAMETER_NESTED_KEYWORD(tag_namespace, name, alias) \ + namespace tag_namespace \ + { \ + template \ + struct name ## _ \ + { \ + static char const* keyword_name() \ + { \ + return #name; \ + } \ + static ::boost::parameter::keyword > &alias; \ + }; \ + template \ + ::boost::parameter::keyword > &name ## _::alias = \ + ::boost::parameter::keyword >::get(); \ + typedef name ## _ <> name; \ + } \ + namespace \ + { \ + ::boost::parameter::keyword &name = \ + ::boost::parameter::keyword::get(); \ + } + +#endif diff --git a/external/boost/accumulators/framework/accumulator_base.hpp b/external/boost/accumulators/framework/accumulator_base.hpp new file mode 100644 index 000000000..52c520d10 --- /dev/null +++ b/external/boost/accumulators/framework/accumulator_base.hpp @@ -0,0 +1,65 @@ +/////////////////////////////////////////////////////////////////////////////// +// accumulator_base.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace detail +{ + typedef void void_; +} + +/////////////////////////////////////////////////////////////////////////////// +// dont_care +// +struct dont_care +{ + template + dont_care(Args const &) + { + } +}; + +/////////////////////////////////////////////////////////////////////////////// +// accumulator_base +// +struct accumulator_base +{ + // hidden if defined in derived classes + detail::void_ operator ()(dont_care) + { + } + + typedef mpl::false_ is_droppable; + + detail::void_ add_ref(dont_care) + { + } + + detail::void_ drop(dont_care) + { + } + + detail::void_ on_drop(dont_care) + { + } +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/accumulator_concept.hpp b/external/boost/accumulators/framework/accumulator_concept.hpp new file mode 100644 index 000000000..492357efb --- /dev/null +++ b/external/boost/accumulators/framework/accumulator_concept.hpp @@ -0,0 +1,29 @@ +/////////////////////////////////////////////////////////////////////////////// +// accumulator_concept.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_CONCEPT_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_CONCEPT_HPP_EAN_28_10_2005 + +#include + +namespace boost { namespace accumulators +{ + +template +struct accumulator_concept +{ + void constraints() + { + // TODO: define the stat concept + } + + Stat stat; +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/accumulator_set.hpp b/external/boost/accumulators/framework/accumulator_set.hpp new file mode 100644 index 000000000..ed1ceb1af --- /dev/null +++ b/external/boost/accumulators/framework/accumulator_set.hpp @@ -0,0 +1,401 @@ +/////////////////////////////////////////////////////////////////////////////// +// accumulator_set.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_SET_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_SET_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace detail +{ + /////////////////////////////////////////////////////////////////////////////// + // accumulator_visitor + // wrap a boost::parameter argument pack in a Fusion extractor object + template + struct accumulator_visitor + { + explicit accumulator_visitor(Args const &a) + : args(a) + { + } + + template + void operator ()(Accumulator &accumulator) const + { + accumulator(this->args); + } + + private: + accumulator_visitor &operator =(accumulator_visitor const &); + Args const &args; + }; + + template + inline accumulator_visitor const make_accumulator_visitor(Args const &args) + { + return accumulator_visitor(args); + } + + typedef + parameter::parameters< + parameter::required + , parameter::optional + // ... and others which are not specified here... + > + accumulator_params; + + /////////////////////////////////////////////////////////////////////////////// + // accumulator_set_base + struct accumulator_set_base + { + }; + + /////////////////////////////////////////////////////////////////////////////// + // is_accumulator_set + template + struct is_accumulator_set + : is_base_and_derived + { + }; + +} // namespace detail + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable: 4355) // warning C4355: 'this' : used in base member initializer list +#endif + +/////////////////////////////////////////////////////////////////////////////// +/// \brief A set of accumulators. +/// +/// accumulator_set resolves the dependencies between features and ensures that +/// the accumulators in the set are updated in the proper order. +/// +/// acccumulator_set provides a general mechanism to visit the accumulators +/// in the set in order, with or without a filter. You can also fetch a reference +/// to an accumulator that corresponds to a feature. +/// +template +struct accumulator_set + : detail::accumulator_set_base +{ + typedef Sample sample_type; ///< The type of the samples that will be accumulated + typedef Features features_type; ///< An MPL sequence of the features that should be accumulated. + typedef Weight weight_type; ///< The type of the weight parameter. Must be a scalar. Defaults to void. + + /// INTERNAL ONLY + /// + typedef + typename detail::make_accumulator_tuple< + Features + , Sample + , Weight + >::type + accumulators_mpl_vector; + + // generate a fusion::list of accumulators + /// INTERNAL ONLY + /// + typedef + typename detail::meta::make_acc_list< + accumulators_mpl_vector + >::type + accumulators_type; + + /// INTERNAL ONLY + /// + //BOOST_MPL_ASSERT((mpl::is_sequence)); + + /////////////////////////////////////////////////////////////////////////////// + /// default-construct all contained accumulators + accumulator_set() + : accumulators( + detail::make_acc_list( + accumulators_mpl_vector() + , detail::accumulator_params()(*this) + ) + ) + { + // Add-ref the Features that the user has specified + this->template visit_if >( + detail::make_add_ref_visitor(detail::accumulator_params()(*this)) + ); + } + + /// \overload + /// + /// \param a1 Optional named parameter to be passed to all the accumulators + template + explicit accumulator_set(A1 const &a1) + : accumulators( + detail::make_acc_list( + accumulators_mpl_vector() + , detail::accumulator_params()(*this, a1) + ) + ) + { + // Add-ref the Features that the user has specified + this->template visit_if >( + detail::make_add_ref_visitor(detail::accumulator_params()(*this)) + ); + } + + // ... other overloads generated by Boost.Preprocessor: + + /// INTERNAL ONLY + /// +#define BOOST_ACCUMULATORS_ACCUMULATOR_SET_CTOR(z, n, _) \ + template \ + accumulator_set(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, A, const &a)) \ + : accumulators( \ + detail::make_acc_list( \ + accumulators_mpl_vector() \ + , detail::accumulator_params()( \ + *this BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \ + ) \ + ) \ + ) \ + { \ + /* Add-ref the Features that the user has specified */ \ + this->template visit_if >( \ + detail::make_add_ref_visitor(detail::accumulator_params()(*this)) \ + ); \ + } + + /// INTERNAL ONLY + /// + BOOST_PP_REPEAT_FROM_TO( + 2 + , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) + , BOOST_ACCUMULATORS_ACCUMULATOR_SET_CTOR + , _ + ) + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// \overload + /// + template + accumulator_set(A1 const &a1, A2 const &a2, ...); + #endif + + // ... other overloads generated by Boost.Preprocessor below ... + + /////////////////////////////////////////////////////////////////////////////// + /// Visitation + /// \param func UnaryFunction which is invoked with each accumulator in turn. + template + void visit(UnaryFunction const &func) + { + fusion::for_each(this->accumulators, func); + } + + /////////////////////////////////////////////////////////////////////////////// + /// Conditional visitation + /// \param func UnaryFunction which is invoked with each accumulator in turn, + /// provided the accumulator satisfies the MPL predicate FilterPred. + template + void visit_if(UnaryFunction const &func) + { + fusion::filter_view filtered_accs(this->accumulators); + fusion::for_each(filtered_accs, func); + } + + /////////////////////////////////////////////////////////////////////////////// + /// The return type of the operator() overloads is void. + typedef void result_type; + + /////////////////////////////////////////////////////////////////////////////// + /// Accumulation + /// \param a1 Optional named parameter to be passed to all the accumulators + void operator ()() + { + this->visit( + detail::make_accumulator_visitor( + detail::accumulator_params()(*this) + ) + ); + } + + template + void operator ()(A1 const &a1) + { + this->visit( + detail::make_accumulator_visitor( + detail::accumulator_params()(*this, a1) + ) + ); + } + + // ... other overloads generated by Boost.Preprocessor: + + /// INTERNAL ONLY + /// +#define BOOST_ACCUMULATORS_ACCUMULATOR_SET_FUN_OP(z, n, _) \ + template \ + void operator ()(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, A, const &a)) \ + { \ + this->visit( \ + detail::make_accumulator_visitor( \ + detail::accumulator_params()( \ + *this BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \ + ) \ + ) \ + ); \ + } + + /// INTERNAL ONLY + /// + BOOST_PP_REPEAT_FROM_TO( + 2 + , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) + , BOOST_ACCUMULATORS_ACCUMULATOR_SET_FUN_OP + , _ + ) + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// \overload + /// + template + void operator ()(A1 const &a1, A2 const &a2, ...); + #endif + + /////////////////////////////////////////////////////////////////////////////// + /// Extraction + template + struct apply + : fusion::result_of::value_of< + typename fusion::result_of::find_if< + accumulators_type + , detail::matches_feature + >::type + > + { + }; + + /////////////////////////////////////////////////////////////////////////////// + /// Extraction + template + typename apply::type &extract() + { + return *fusion::find_if >(this->accumulators); + } + + /// \overload + template + typename apply::type const &extract() const + { + return *fusion::find_if >(this->accumulators); + } + + /////////////////////////////////////////////////////////////////////////////// + /// Drop + template + void drop() + { + // You can only drop the features that you have specified explicitly + typedef typename apply::type the_accumulator; + BOOST_MPL_ASSERT((detail::contains_feature_of)); + + typedef + typename feature_of::type>::type + the_feature; + + (*fusion::find_if >(this->accumulators)) + .drop(detail::accumulator_params()(*this)); + + // Also drop accumulators that this feature depends on + typedef typename the_feature::dependencies dependencies; + this->template visit_if >( + detail::make_drop_visitor(detail::accumulator_params()(*this)) + ); + } + +private: + + accumulators_type accumulators; +}; + +#ifdef _MSC_VER +#pragma warning(pop) +#endif + +/////////////////////////////////////////////////////////////////////////////// +// find_accumulator +// find an accumulator in an accumulator_set corresponding to a feature +template +typename mpl::apply::type & +find_accumulator(AccumulatorSet &acc BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(AccumulatorSet)) +{ + return acc.template extract(); +} + +/// \overload +template +typename mpl::apply::type const & +find_accumulator(AccumulatorSet const &acc) +{ + return acc.template extract(); +} + +/////////////////////////////////////////////////////////////////////////////// +// extract_result +// extract a result from an accumulator set +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_EXTRACT_RESULT_FUN(z, n, _) \ + template< \ + typename Feature \ + , typename AccumulatorSet \ + BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ + > \ + typename mpl::apply::type::result_type \ + extract_result( \ + AccumulatorSet const &acc \ + BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \ + ) \ + { \ + return find_accumulator(acc).result( \ + detail::accumulator_params()( \ + acc \ + BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \ + ) \ + ); \ + } + +BOOST_PP_REPEAT( + BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) + , BOOST_ACCUMULATORS_EXTRACT_RESULT_FUN + , _ +) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp b/external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp new file mode 100644 index 000000000..0e882b5c3 --- /dev/null +++ b/external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp @@ -0,0 +1,328 @@ +/////////////////////////////////////////////////////////////////////////////// +// droppable_accumulator.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_DROPPABLE_ACCUMULATOR_HPP_EAN_13_12_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_DROPPABLE_ACCUMULATOR_HPP_EAN_13_12_2005 + +#include +#include +#include +#include +#include // for feature_of +#include // for accumulator + +namespace boost { namespace accumulators +{ + + template + struct droppable_accumulator; + + namespace detail + { + /////////////////////////////////////////////////////////////////////////////// + // add_ref_visitor + // a fusion function object for add_ref'ing accumulators + template + struct add_ref_visitor + { + explicit add_ref_visitor(Args const &args) + : args_(args) + { + } + + template + void operator ()(Accumulator &acc) const + { + typedef typename Accumulator::feature_tag::dependencies dependencies; + + acc.add_ref(this->args_); + + // Also add_ref accumulators that this feature depends on + this->args_[accumulator].template + visit_if >( + *this + ); + } + + private: + add_ref_visitor &operator =(add_ref_visitor const &); + Args const &args_; + }; + + template + add_ref_visitor make_add_ref_visitor(Args const &args) + { + return add_ref_visitor(args); + } + + /////////////////////////////////////////////////////////////////////////////// + // drop_visitor + // a fusion function object for dropping accumulators + template + struct drop_visitor + { + explicit drop_visitor(Args const &args) + : args_(args) + { + } + + template + void operator ()(Accumulator &acc) const + { + if(typename Accumulator::is_droppable()) + { + typedef typename Accumulator::feature_tag::dependencies dependencies; + + acc.drop(this->args_); + // Also drop accumulators that this feature depends on + this->args_[accumulator].template + visit_if >( + *this + ); + } + } + + private: + drop_visitor &operator =(drop_visitor const &); + Args const &args_; + }; + + template + drop_visitor make_drop_visitor(Args const &args) + { + return drop_visitor(args); + } + } + + ////////////////////////////////////////////////////////////////////////// + // droppable_accumulator_base + template + struct droppable_accumulator_base + : Accumulator + { + typedef droppable_accumulator_base base; + typedef mpl::true_ is_droppable; + typedef typename Accumulator::result_type result_type; + + template + droppable_accumulator_base(Args const &args) + : Accumulator(args) + , ref_count_(0) + { + } + + droppable_accumulator_base(droppable_accumulator_base const &that) + : Accumulator(*static_cast(&that)) + , ref_count_(that.ref_count_) + { + } + + template + void operator ()(Args const &args) + { + if(!this->is_dropped()) + { + this->Accumulator::operator ()(args); + } + } + + template + void add_ref(Args const &) + { + ++this->ref_count_; + } + + template + void drop(Args const &args) + { + BOOST_ASSERT(0 < this->ref_count_); + if(1 == this->ref_count_) + { + static_cast *>(this)->on_drop(args); + } + --this->ref_count_; + } + + bool is_dropped() const + { + return 0 == this->ref_count_; + } + + private: + int ref_count_; + }; + + ////////////////////////////////////////////////////////////////////////// + // droppable_accumulator + // this can be specialized for any type that needs special handling + template + struct droppable_accumulator + : droppable_accumulator_base + { + template + droppable_accumulator(Args const &args) + : droppable_accumulator::base(args) + { + } + + droppable_accumulator(droppable_accumulator const &that) + : droppable_accumulator::base(*static_cast(&that)) + { + } + }; + + ////////////////////////////////////////////////////////////////////////// + // with_cached_result + template + struct with_cached_result + : Accumulator + { + typedef typename Accumulator::result_type result_type; + + template + with_cached_result(Args const &args) + : Accumulator(args) + , cache() + { + } + + with_cached_result(with_cached_result const &that) + : Accumulator(*static_cast(&that)) + , cache() + { + if(that.has_result()) + { + this->set(that.get()); + } + } + + ~with_cached_result() + { + // Since this is a base class of droppable_accumulator_base, + // this destructor is called before any of droppable_accumulator_base's + // members get cleaned up, including is_dropped, so the following + // call to has_result() is valid. + if(this->has_result()) + { + this->get().~result_type(); + } + } + + template + void on_drop(Args const &args) + { + // cache the result at the point this calculation was dropped + BOOST_ASSERT(!this->has_result()); + this->set(this->Accumulator::result(args)); + } + + template + result_type result(Args const &args) const + { + return this->has_result() ? this->get() : this->Accumulator::result(args); + } + + private: + with_cached_result &operator =(with_cached_result const &); + + void set(result_type const &r) + { + ::new(this->cache.address()) result_type(r); + } + + result_type const &get() const + { + return *static_cast(this->cache.address()); + } + + bool has_result() const + { + typedef with_cached_result this_type; + typedef droppable_accumulator_base derived_type; + return static_cast(this)->is_dropped(); + } + + aligned_storage cache; + }; + + namespace tag + { + template + struct as_droppable + { + typedef droppable type; + }; + + template + struct as_droppable > + { + typedef droppable type; + }; + + ////////////////////////////////////////////////////////////////////////// + // droppable + template + struct droppable + : as_feature::type + { + typedef typename as_feature::type feature_type; + typedef typename feature_type::dependencies tmp_dependencies_; + + typedef + typename mpl::transform< + typename feature_type::dependencies + , as_droppable + >::type + dependencies; + + struct impl + { + template + struct apply + { + typedef + droppable_accumulator< + typename mpl::apply2::type + > + type; + }; + }; + }; + } + + // make droppable work + template + struct as_feature > + { + typedef tag::droppable::type> type; + }; + + // make droppable work with non-void weights (should become + // droppable + template + struct as_weighted_feature > + { + typedef tag::droppable::type> type; + }; + + // for the purposes of feature-based dependency resolution, + // droppable provides the same feature as Foo + template + struct feature_of > + : feature_of + { + }; + + // Note: Usually, the extractor is pulled into the accumulators namespace with + // a using directive, not the tag. But the droppable<> feature doesn't have an + // extractor, so we can put the droppable tag in the accumulators namespace + // without fear of a name conflict. + using tag::droppable; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/accumulators/external_accumulator.hpp b/external/boost/accumulators/framework/accumulators/external_accumulator.hpp new file mode 100644 index 000000000..71dce42e5 --- /dev/null +++ b/external/boost/accumulators/framework/accumulators/external_accumulator.hpp @@ -0,0 +1,108 @@ +/////////////////////////////////////////////////////////////////////////////// +// external_accumulator.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_EXTERNAL_ACCUMULATOR_HPP_EAN_01_12_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_EXTERNAL_ACCUMULATOR_HPP_EAN_01_12_2005 + +#include +#include +#include +#include // for feature_tag +#include +#include + +namespace boost { namespace accumulators { namespace impl +{ + + ////////////////////////////////////////////////////////////////////////// + // external_impl + /// INTERNAL ONLY + /// + template + struct external_impl + : accumulator_base + { + typedef typename Accumulator::result_type result_type; + typedef typename detail::feature_tag::type feature_tag; + + external_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + return this->extract_(args, args[parameter::keyword::get() | 0]); + } + + private: + + template + static result_type extract_(Args const &args, int) + { + // No named parameter passed to the extractor. Maybe the external + // feature is held by reference<>. + extractor extract; + return extract(accumulators::reference_tag(args)); + } + + template + static result_type extract_(Args const &, AccumulatorSet const &acc) + { + // OK, a named parameter for this external feature was passed to the + // extractor, so use that. + extractor extract; + return extract(acc); + } + }; + +} // namespace impl + +namespace tag +{ + ////////////////////////////////////////////////////////////////////////// + // external + template + struct external + : depends_on > + { + typedef + accumulators::impl::external_impl< + detail::to_accumulator + , Tag + > + impl; + }; + + template + struct external + : depends_on<> + { + typedef + accumulators::impl::external_impl< + detail::to_accumulator + , Tag + > + impl; + }; +} + +// for the purposes of feature-based dependency resolution, +// external_accumulator provides the same feature as Feature +template +struct feature_of > + : feature_of +{ +}; + +// Note: Usually, the extractor is pulled into the accumulators namespace with +// a using directive, not the tag. But the external<> feature doesn't have an +// extractor, so we can put the external tag in the accumulators namespace +// without fear of a name conflict. +using tag::external; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/accumulators/reference_accumulator.hpp b/external/boost/accumulators/framework/accumulators/reference_accumulator.hpp new file mode 100644 index 000000000..bf4252ca6 --- /dev/null +++ b/external/boost/accumulators/framework/accumulators/reference_accumulator.hpp @@ -0,0 +1,89 @@ +/////////////////////////////////////////////////////////////////////////////// +// reference_accumulator.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_REFERENCE_ACCUMULATOR_HPP_EAN_03_23_2006 +#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_REFERENCE_ACCUMULATOR_HPP_EAN_03_23_2006 + +#include +#include +#include +#include // for feature_tag +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + ////////////////////////////////////////////////////////////////////////// + // reference_accumulator_impl + // + template + struct reference_accumulator_impl + : accumulator_base + { + typedef Referent &result_type; + + template + reference_accumulator_impl(Args const &args) + : ref(args[parameter::keyword::get()]) + { + } + + result_type result(dont_care) const + { + return this->ref; + } + + private: + reference_wrapper ref; + }; +} // namespace impl + +namespace tag +{ + ////////////////////////////////////////////////////////////////////////// + // reference_tag + template + struct reference_tag + { + }; + + ////////////////////////////////////////////////////////////////////////// + // reference + template + struct reference + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef mpl::always > impl; + }; +} + +namespace extract +{ + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, reference, (typename)(typename)) + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, reference_tag, (typename)) +} + +using extract::reference; +using extract::reference_tag; + +// Map all reference features to reference_tag so +// that references can be extracted using reference_tag +// without specifying the referent type. +template +struct feature_of > + : feature_of > +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/accumulators/value_accumulator.hpp b/external/boost/accumulators/framework/accumulators/value_accumulator.hpp new file mode 100644 index 000000000..02bf7f349 --- /dev/null +++ b/external/boost/accumulators/framework/accumulators/value_accumulator.hpp @@ -0,0 +1,89 @@ +/////////////////////////////////////////////////////////////////////////////// +// value_accumulator.hpp +// +// Copyright 2005 Eric Niebler, Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_VALUE_ACCUMULATOR_HPP_EAN_03_23_2006 +#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_VALUE_ACCUMULATOR_HPP_EAN_03_23_2006 + +#include +#include +#include // for feature_tag +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + + ////////////////////////////////////////////////////////////////////////// + // value_accumulator_impl + template + struct value_accumulator_impl + : accumulator_base + { + typedef ValueType result_type; + + template + value_accumulator_impl(Args const &args) + : val(args[parameter::keyword::get()]) + { + } + + result_type result(dont_care) const + { + return this->val; + } + + private: + ValueType val; + }; + +} // namespace impl + +namespace tag +{ + ////////////////////////////////////////////////////////////////////////// + // value_tag + template + struct value_tag + { + }; + + ////////////////////////////////////////////////////////////////////////// + // value + template + struct value + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef mpl::always > impl; + }; +} + +namespace extract +{ + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, value, (typename)(typename)) + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, value_tag, (typename)) +} + +using extract::value; +using extract::value_tag; + +// Map all value features to value_tag so +// that values can be extracted using value_tag +// without specifying the value type. +template +struct feature_of > + : feature_of > +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/depends_on.hpp b/external/boost/accumulators/framework/depends_on.hpp new file mode 100644 index 000000000..008f1217d --- /dev/null +++ b/external/boost/accumulators/framework/depends_on.hpp @@ -0,0 +1,448 @@ +/////////////////////////////////////////////////////////////////////////////// +// depends_on.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_DEPENDS_ON_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_DEPENDS_ON_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + /////////////////////////////////////////////////////////////////////////// + // as_feature + template + struct as_feature + { + typedef Feature type; + }; + + /////////////////////////////////////////////////////////////////////////// + // weighted_feature + template + struct as_weighted_feature + { + typedef Feature type; + }; + + /////////////////////////////////////////////////////////////////////////// + // feature_of + template + struct feature_of + { + typedef Feature type; + }; + + namespace detail + { + /////////////////////////////////////////////////////////////////////////// + // feature_tag + template + struct feature_tag + { + typedef typename Accumulator::feature_tag type; + }; + + template + struct undroppable + { + typedef Feature type; + }; + + template + struct undroppable > + { + typedef Feature type; + }; + + // For the purpose of determining whether one feature depends on another, + // disregard whether the feature is droppable or not. + template + struct is_dependent_on + : is_base_and_derived< + typename feature_of::type>::type + , typename undroppable::type + > + {}; + + template + struct dependencies_of + { + typedef typename Feature::dependencies type; + }; + + // Should use mpl::insert_range, but doesn't seem to work with mpl sets + template + struct set_insert_range + : mpl::fold< + Range + , Set + , mpl::insert + > + {}; + + template + struct collect_abstract_features + : mpl::fold< + Features + , mpl::set0<> + , set_insert_range< + mpl::insert > + , collect_abstract_features > + > + > + {}; + + template + struct depends_on_base + : mpl::inherit_linearly< + typename mpl::sort< + typename mpl::copy< + typename collect_abstract_features::type + , mpl::back_inserter > + >::type + , is_dependent_on + >::type + // Don't inherit multiply from a feature + , mpl::if_< + is_dependent_on + , mpl::_1 + , mpl::inherit + > + >::type + { + }; + } + + /////////////////////////////////////////////////////////////////////////// + /// depends_on + template + struct depends_on + : detail::depends_on_base< + typename mpl::transform< + mpl::vector + , as_feature + >::type + > + { + typedef mpl::false_ is_weight_accumulator; + typedef + typename mpl::transform< + mpl::vector + , as_feature + >::type + dependencies; + }; + + namespace detail + { + template + struct matches_feature + { + template + struct apply + : is_same< + typename feature_of::type>::type + , typename feature_of::type>::type>::type + > + {}; + }; + + template + struct contains_feature_of + { + typedef + mpl::transform_view > > + features_list; + + typedef + typename feature_of::type>::type + the_feature; + + typedef + typename mpl::contains::type + type; + }; + + // This is to work around a bug in early versions of Fusion which caused + // a compile error if contains_feature_of is used as a + // predicate to fusion::find_if + template + struct contains_feature_of_ + { + template + struct apply + : contains_feature_of + {}; + }; + + template< + typename First + , typename Last + , bool is_empty = fusion::result_of::equal_to::value + > + struct build_acc_list; + + template + struct build_acc_list + { + typedef fusion::nil_ type; + + template + static fusion::nil_ + call(Args const &, First const&, Last const&) + { + return fusion::nil_(); + } + }; + + template + struct build_acc_list + { + typedef + build_acc_list::type, Last> + next_build_acc_list; + + typedef fusion::cons< + typename fusion::result_of::value_of::type + , typename next_build_acc_list::type> + type; + + template + static type + call(Args const &args, First const& f, Last const& l) + { + return type(args, next_build_acc_list::call(args, fusion::next(f), l)); + } + }; + + namespace meta + { + template + struct make_acc_list + : build_acc_list< + typename fusion::result_of::begin::type + , typename fusion::result_of::end::type + > + {}; + } + + template + typename meta::make_acc_list::type + make_acc_list(Sequence const &seq, Args const &args) + { + return meta::make_acc_list::call(args, fusion::begin(seq), fusion::end(seq)); + } + + /////////////////////////////////////////////////////////////////////////// + // checked_as_weighted_feature + template + struct checked_as_weighted_feature + { + typedef typename as_feature::type feature_type; + typedef typename as_weighted_feature::type type; + // weighted and non-weighted flavors should provide the same feature. + BOOST_MPL_ASSERT(( + is_same< + typename feature_of::type + , typename feature_of::type + > + )); + }; + + /////////////////////////////////////////////////////////////////////////// + // as_feature_list + template + struct as_feature_list + : mpl::transform_view > + { + }; + + template + struct as_feature_list + : mpl::transform_view > + { + }; + + /////////////////////////////////////////////////////////////////////////// + // accumulator_wrapper + template + struct accumulator_wrapper + : Accumulator + { + typedef Feature feature_tag; + + accumulator_wrapper(accumulator_wrapper const &that) + : Accumulator(*static_cast(&that)) + { + } + + template + accumulator_wrapper(Args const &args) + : Accumulator(args) + { + } + }; + + /////////////////////////////////////////////////////////////////////////// + // to_accumulator + template + struct to_accumulator + { + typedef + accumulator_wrapper< + typename mpl::apply2::type + , Feature + > + type; + }; + + template + struct to_accumulator > + { + BOOST_MPL_ASSERT((is_same)); + BOOST_MPL_ASSERT((is_same)); + + typedef + accumulator_wrapper< + typename mpl::apply2::type + , Feature + > + accumulator_type; + + typedef + typename mpl::if_< + typename Feature::is_weight_accumulator + , accumulator_wrapper, Feature> + , accumulator_type + >::type + type; + }; + + // BUGBUG work around an MPL bug wrt map insertion + template + struct insert_feature + : mpl::eval_if< + mpl::has_key::type> + , mpl::identity + , mpl::insert::type, Feature> > + > + { + }; + + template + struct insert_dependencies + : mpl::fold< + as_feature_list + , FeatureMap + , insert_dependencies< + insert_feature + , mpl::_2 + , Weight + > + > + { + }; + + template + struct insert_sequence + : mpl::fold< // BUGBUG should use insert_range, but doesn't seem to work for maps + as_feature_list + , FeatureMap + , insert_feature + > + { + }; + + template + struct make_accumulator_tuple + { + typedef + typename mpl::fold< + as_feature_list + , mpl::map0<> + , mpl::if_< + mpl::is_sequence + , insert_sequence + , insert_feature + > + >::type + feature_map; + + // for each element in the map, add its dependencies also + typedef + typename mpl::fold< + feature_map + , feature_map + , insert_dependencies, Weight> + >::type + feature_map_with_dependencies; + + // turn the map into a vector so we can sort it + typedef + typename mpl::insert_range< + mpl::vector<> + , mpl::end >::type + , mpl::transform_view > + >::type + feature_vector_with_dependencies; + + // sort the features according to which is derived from which + typedef + typename mpl::sort< + feature_vector_with_dependencies + , is_dependent_on + >::type + sorted_feature_vector; + + // From the vector of features, construct a vector of accumulators + typedef + typename mpl::transform< + sorted_feature_vector + , to_accumulator + >::type + type; + }; + + } // namespace detail + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/external.hpp b/external/boost/accumulators/framework/external.hpp new file mode 100644 index 000000000..dbd5d9169 --- /dev/null +++ b/external/boost/accumulators/framework/external.hpp @@ -0,0 +1,27 @@ +/////////////////////////////////////////////////////////////////////////////// +// external.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_EXTERNAL_HPP_EAN_01_12_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_EXTERNAL_HPP_EAN_01_12_2005 + +#include +#include + +//namespace boost { namespace accumulators +//{ +// +///////////////////////////////////////////////////////////////////////////////// +//// external +//// +//template +//struct external +//{ +//}; +// +//}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/extractor.hpp b/external/boost/accumulators/framework/extractor.hpp new file mode 100644 index 000000000..98281cecb --- /dev/null +++ b/external/boost/accumulators/framework/extractor.hpp @@ -0,0 +1,229 @@ +/////////////////////////////////////////////////////////////////////////////// +// extractor.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_EXTRACTOR_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_EXTRACTOR_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace detail +{ + template + struct accumulator_set_result + { + typedef typename as_feature::type feature_type; + typedef typename mpl::apply::type::result_type type; + }; + + template + struct argument_pack_result + : accumulator_set_result< + typename remove_reference< + typename parameter::binding::type + >::type + , Feature + > + { + }; + + template + struct extractor_result + : mpl::eval_if< + detail::is_accumulator_set + , accumulator_set_result + , argument_pack_result + > + { + }; + + template + typename extractor_result::type + do_extract(AccumulatorSet const &acc, mpl::true_) + { + typedef typename as_feature::type feature_type; + return extract_result(acc); + } + + template + typename extractor_result::type + do_extract(Args const &args, mpl::false_) + { + typedef typename as_feature::type feature_type; + return find_accumulator(args[accumulator]).result(args); + } + +} // namespace detail + + +/////////////////////////////////////////////////////////////////////////////// +/// Extracts the result associated with Feature from the specified accumulator_set. +template +struct extractor +{ + typedef extractor this_type; + + /// The result meta-function for determining the return type of the extractor + template + struct result; + + template + struct result + : detail::extractor_result + { + }; + + /// Extract the result associated with Feature from the accumulator set + /// \param acc The accumulator set object from which to extract the result + template + typename detail::extractor_result::type + operator ()(Arg1 const &arg1) const + { + // Arg1 could be an accumulator_set or an argument pack containing + // an accumulator_set. Dispatch accordingly. + return detail::do_extract(arg1, detail::is_accumulator_set()); + } + + /// \overload + /// + /// \param a1 Optional named parameter to be passed to the accumulator's result() function. + template + typename detail::extractor_result::type + operator ()(AccumulatorSet const &acc, A1 const &a1) const + { + BOOST_MPL_ASSERT((detail::is_accumulator_set)); + typedef typename as_feature::type feature_type; + return extract_result(acc, a1); + } + + // ... other overloads generated by Boost.Preprocessor: + + /// INTERNAL ONLY + /// +#define BOOST_ACCUMULATORS_EXTRACTOR_FUN_OP(z, n, _) \ + template \ + struct result \ + : detail::extractor_result \ + {}; \ + template< \ + typename AccumulatorSet \ + BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ + > \ + typename detail::extractor_result::type \ + operator ()( \ + AccumulatorSet const &acc \ + BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \ + ) const \ + { \ + BOOST_MPL_ASSERT((detail::is_accumulator_set)); \ + typedef typename as_feature::type feature_type; \ + return extract_result(acc BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a));\ + } + + BOOST_PP_REPEAT_FROM_TO( + 2 + , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) + , BOOST_ACCUMULATORS_EXTRACTOR_FUN_OP + , _ + ) + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// \overload + /// + template + typename detail::extractor_result::type + operator ()(AccumulatorSet const &acc, A1 const &a1, A2 const &a2, ...); + #endif +}; + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_ARRAY_REM(Array) \ + BOOST_PP_TUPLE_REM_CTOR(BOOST_PP_ARRAY_SIZE(Array), BOOST_PP_ARRAY_DATA(Array)) + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_SEQ_REM(Seq) \ + BOOST_ACCUMULATORS_ARRAY_REM(BOOST_PP_SEQ_TO_ARRAY(Seq)) + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_ARGS_OP(s, data, elem) \ + T ## s + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_PARAMS_OP(s, data, elem) \ + elem T ## s + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_MAKE_FEATURE(Tag, Feature, ParamsSeq) \ + Tag::Feature< \ + BOOST_ACCUMULATORS_SEQ_REM( \ + BOOST_PP_SEQ_TRANSFORM(BOOST_ACCUMULATORS_ARGS_OP, ~, ParamsSeq) \ + ) \ + > + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN_IMPL(z, n, Tag, Feature, ParamsSeq) \ + template< \ + BOOST_ACCUMULATORS_SEQ_REM( \ + BOOST_PP_SEQ_TRANSFORM(BOOST_ACCUMULATORS_PARAMS_OP, ~, ParamsSeq) \ + ) \ + , typename Arg1 \ + BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ + > \ + typename boost::accumulators::detail::extractor_result< \ + Arg1 \ + , BOOST_ACCUMULATORS_MAKE_FEATURE(Tag, Feature, ParamsSeq) \ + >::type \ + Feature(Arg1 const &arg1 BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) ) \ + { \ + typedef BOOST_ACCUMULATORS_MAKE_FEATURE(Tag, Feature, ParamsSeq) feature_type; \ + return boost::accumulators::extractor()( \ + arg1 BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a)); \ + } + +/// INTERNAL ONLY +/// +#define BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN(z, n, _) \ + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN_IMPL( \ + z \ + , n \ + , BOOST_PP_ARRAY_ELEM(0, _) \ + , BOOST_PP_ARRAY_ELEM(1, _) \ + , BOOST_PP_ARRAY_ELEM(2, _) \ + ) + +#define BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(Tag, Feature, ParamSeq) \ + BOOST_PP_REPEAT( \ + BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) \ + , BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN \ + , (3, (Tag, Feature, ParamSeq)) \ + ) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/features.hpp b/external/boost/accumulators/framework/features.hpp new file mode 100644 index 000000000..21cae004d --- /dev/null +++ b/external/boost/accumulators/framework/features.hpp @@ -0,0 +1,29 @@ +/////////////////////////////////////////////////////////////////////////////// +// features.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_08_12_2005 +#define BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_08_12_2005 + +#include +#include +#include + +namespace boost { namespace accumulators +{ + +/////////////////////////////////////////////////////////////////////////////// +// features +// +template +struct features + : mpl::vector +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/parameters/accumulator.hpp b/external/boost/accumulators/framework/parameters/accumulator.hpp new file mode 100644 index 000000000..525ebb30b --- /dev/null +++ b/external/boost/accumulators/framework/parameters/accumulator.hpp @@ -0,0 +1,22 @@ +/////////////////////////////////////////////////////////////////////////////// +// accumulator.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_ACCUMULATOR_HPP_EAN_31_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_ACCUMULATOR_HPP_EAN_31_10_2005 + +#include +#include + +namespace boost { namespace accumulators +{ + +BOOST_PARAMETER_KEYWORD(tag, accumulator) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(accumulator) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/parameters/sample.hpp b/external/boost/accumulators/framework/parameters/sample.hpp new file mode 100644 index 000000000..8b227eb33 --- /dev/null +++ b/external/boost/accumulators/framework/parameters/sample.hpp @@ -0,0 +1,22 @@ +/////////////////////////////////////////////////////////////////////////////// +// sample.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_SAMPLE_HPP_EAN_31_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_SAMPLE_HPP_EAN_31_10_2005 + +#include +#include + +namespace boost { namespace accumulators +{ + +BOOST_PARAMETER_KEYWORD(tag, sample) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(sample) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/parameters/weight.hpp b/external/boost/accumulators/framework/parameters/weight.hpp new file mode 100644 index 000000000..f36016f37 --- /dev/null +++ b/external/boost/accumulators/framework/parameters/weight.hpp @@ -0,0 +1,23 @@ +/////////////////////////////////////////////////////////////////////////////// +// weight.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHT_HPP_EAN_31_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHT_HPP_EAN_31_10_2005 + +#include +#include + +namespace boost { namespace accumulators +{ + +// The weight of a single sample +BOOST_PARAMETER_KEYWORD(tag, weight) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(weight) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/framework/parameters/weights.hpp b/external/boost/accumulators/framework/parameters/weights.hpp new file mode 100644 index 000000000..6beae6138 --- /dev/null +++ b/external/boost/accumulators/framework/parameters/weights.hpp @@ -0,0 +1,23 @@ +/////////////////////////////////////////////////////////////////////////////// +// weights.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHTS_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHTS_HPP_EAN_28_10_2005 + +#include +#include + +namespace boost { namespace accumulators +{ + +// The weight accumulator +BOOST_PARAMETER_KEYWORD(tag, weights) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(weights) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/numeric/detail/function1.hpp b/external/boost/accumulators/numeric/detail/function1.hpp new file mode 100644 index 000000000..282eb1ef3 --- /dev/null +++ b/external/boost/accumulators/numeric/detail/function1.hpp @@ -0,0 +1,75 @@ +// Copyright David Abrahams 2006. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_DETAIL_FUNCTION1_DWA200655_HPP +# define BOOST_DETAIL_FUNCTION1_DWA200655_HPP + +# include +# include +# include +# include + +namespace boost { namespace detail { + +// A utility for creating unary function objects that play nicely with +// boost::result_of and that handle the forwarding problem. +// +// mpl::apply::type is expected to be a stateless function +// object that accepts an argument of type A0&. It is also expected +// to have a nested ::result_type identical to its return type. +template +struct function1 +{ + template + struct result + {}; + + template + struct result + { + // How adding const to arguments handles rvalues. + // + // if A0 is arg0 is represents actual argument + // -------- ------- -------------------------- + // T const & T const const T lvalue + // T & T non-const T lvalue + // T const T const const T rvalue + // T T const non-const T rvalue + typedef typename remove_reference< + typename add_const< A0 >::type + >::type arg0; + + typedef typename mpl::apply1::type impl; + typedef typename impl::result_type type; + }; + + // Handles mutable lvalues + template + typename result::type + operator ()(A0 &a0) const + { + typedef typename result::impl impl; + typedef typename result::type type; + typedef A0 &arg0; + BOOST_CONCEPT_ASSERT((UnaryFunction)); + //boost::function_requires >(); + return impl()(a0); + } + + // Handles const lvalues and all rvalues + template + typename result::type + operator ()(A0 const &a0) const + { + typedef typename result::impl impl; + typedef typename result::type type; + typedef A0 const &arg0; + BOOST_CONCEPT_ASSERT((UnaryFunction)); + //boost::function_requires >(); + return impl()(a0); + } +}; + +}} // namespace boost::detail + +#endif // BOOST_DETAIL_FUNCTION1_DWA200655_HPP diff --git a/external/boost/accumulators/numeric/detail/function2.hpp b/external/boost/accumulators/numeric/detail/function2.hpp new file mode 100644 index 000000000..daf3c4d4e --- /dev/null +++ b/external/boost/accumulators/numeric/detail/function2.hpp @@ -0,0 +1,10 @@ +// Copyright David Abrahams 2006. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_DETAIL_FUNCTION2_DWA200655_HPP +# define BOOST_DETAIL_FUNCTION2_DWA200655_HPP + +# define args (2) +# include + +#endif // BOOST_DETAIL_FUNCTION2_DWA200655_HPP diff --git a/external/boost/accumulators/numeric/detail/function3.hpp b/external/boost/accumulators/numeric/detail/function3.hpp new file mode 100644 index 000000000..175e4d5b3 --- /dev/null +++ b/external/boost/accumulators/numeric/detail/function3.hpp @@ -0,0 +1,10 @@ +// Copyright David Abrahams 2006. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_DETAIL_FUNCTION3_DWA2006514_HPP +# define BOOST_DETAIL_FUNCTION3_DWA2006514_HPP + +# define args (3) +# include + +#endif // BOOST_DETAIL_FUNCTION3_DWA2006514_HPP diff --git a/external/boost/accumulators/numeric/detail/function4.hpp b/external/boost/accumulators/numeric/detail/function4.hpp new file mode 100644 index 000000000..a0d710837 --- /dev/null +++ b/external/boost/accumulators/numeric/detail/function4.hpp @@ -0,0 +1,10 @@ +// Copyright David Abrahams 2006. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_DETAIL_FUNCTION4_DWA2006514_HPP +# define BOOST_DETAIL_FUNCTION4_DWA2006514_HPP + +# define args (4) +# include + +#endif // BOOST_DETAIL_FUNCTION4_DWA2006514_HPP diff --git a/external/boost/accumulators/numeric/detail/function_n.hpp b/external/boost/accumulators/numeric/detail/function_n.hpp new file mode 100644 index 000000000..47c42ed05 --- /dev/null +++ b/external/boost/accumulators/numeric/detail/function_n.hpp @@ -0,0 +1,148 @@ +// Copyright David Abrahams 2006. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// #include guards intentionally disabled. +// #ifndef BOOST_DETAIL_FUNCTION_N_DWA2006514_HPP +// # define BOOST_DETAIL_FUNCTION_N_DWA2006514_HPP + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace detail { + +# define BOOST_DETAIL_default_arg(z, n, _) \ + typedef mpl::void_ BOOST_PP_CAT(arg, n); + +# define BOOST_DETAIL_function_arg(z, n, _) \ + typedef typename remove_reference< \ + typename add_const< BOOST_PP_CAT(A, n) >::type \ + >::type BOOST_PP_CAT(arg, n); + +#define BOOST_DETAIL_cat_arg_counts(s, state, n) \ + BOOST_PP_IF( \ + n \ + , BOOST_PP_CAT(state, BOOST_PP_CAT(_, n)) \ + , state \ + ) \ + /**/ + +#define function_name \ + BOOST_PP_SEQ_FOLD_LEFT( \ + BOOST_DETAIL_cat_arg_counts \ + , BOOST_PP_CAT(function, BOOST_PP_SEQ_HEAD(args)) \ + , BOOST_PP_SEQ_TAIL(args)(0) \ + ) \ + /**/ + +template +struct function_name +{ + BOOST_PP_REPEAT( + BOOST_MPL_LIMIT_METAFUNCTION_ARITY + , BOOST_DETAIL_default_arg + , ~ + ) + + template + struct result {}; + +#define BOOST_DETAIL_function_result(r, _, n) \ + template \ + struct result \ + { \ + BOOST_PP_REPEAT(n, BOOST_DETAIL_function_arg, ~) \ + typedef \ + typename BOOST_PP_CAT(mpl::apply, BOOST_MPL_LIMIT_METAFUNCTION_ARITY)<\ + F \ + BOOST_PP_ENUM_TRAILING_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , arg \ + ) \ + >::type \ + impl; \ + typedef typename impl::result_type type; \ + }; \ + /**/ + + BOOST_PP_SEQ_FOR_EACH(BOOST_DETAIL_function_result, _, args) + +# define arg_type(r, _, i, is_const) \ + BOOST_PP_COMMA_IF(i) BOOST_PP_CAT(A, i) BOOST_PP_CAT(const_if, is_const) & + +# define result_(r, n, constness) \ + typename result< \ + function_name( \ + BOOST_PP_SEQ_FOR_EACH_I_R(r, arg_type, ~, constness) \ + ) \ + > \ + /**/ + +# define param(r, _, i, is_const) BOOST_PP_COMMA_IF(i) \ + BOOST_PP_CAT(A, i) BOOST_PP_CAT(const_if, is_const) & BOOST_PP_CAT(x, i) + +# define param_list(r, n, constness) \ + BOOST_PP_SEQ_FOR_EACH_I_R(r, param, ~, constness) + +# define call_operator(r, constness) \ + template \ + result_(r, BOOST_PP_SEQ_SIZE(constness), constness)::type \ + operator ()( param_list(r, BOOST_PP_SEQ_SIZE(constness), constness) ) const \ + { \ + typedef result_(r, BOOST_PP_SEQ_SIZE(constness), constness)::impl impl; \ + return impl()(BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(constness), x)); \ + } \ + /**/ + +# define const_if0 +# define const_if1 const + +# define bits(z, n, _) ((0)(1)) + +# define gen_operator(r, _, n) \ + BOOST_PP_SEQ_FOR_EACH_PRODUCT_R( \ + r \ + , call_operator \ + , BOOST_PP_REPEAT(n, bits, ~) \ + ) \ + /**/ + + BOOST_PP_SEQ_FOR_EACH( + gen_operator + , ~ + , args + ) + +# undef bits +# undef const_if1 +# undef const_if0 +# undef call_operator +# undef param_list +# undef param +# undef result_ +# undef default_ +# undef arg_type +# undef gen_operator +# undef function_name + +# undef args +}; + +}} // namespace boost::detail + +//#endif // BOOST_DETAIL_FUNCTION_N_DWA2006514_HPP diff --git a/external/boost/accumulators/numeric/detail/pod_singleton.hpp b/external/boost/accumulators/numeric/detail/pod_singleton.hpp new file mode 100644 index 000000000..317d85fb2 --- /dev/null +++ b/external/boost/accumulators/numeric/detail/pod_singleton.hpp @@ -0,0 +1,20 @@ +// Copyright David Abrahams 2006. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_DETAIL_POD_SINGLETON_DWA200655_HPP +# define BOOST_DETAIL_POD_SINGLETON_DWA200655_HPP + +namespace boost { namespace detail { + +template +struct pod_singleton +{ + static T instance; +}; + +template +T pod_singleton::instance; + +}} // namespace boost::detail + +#endif // BOOST_DETAIL_POD_SINGLETON_DWA200655_HPP diff --git a/external/boost/accumulators/numeric/functional.hpp b/external/boost/accumulators/numeric/functional.hpp new file mode 100644 index 000000000..858decc19 --- /dev/null +++ b/external/boost/accumulators/numeric/functional.hpp @@ -0,0 +1,537 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file functional.hpp +/// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_NUMERIC_FUNCTIONAL_HPP_EAN_08_12_2005 +#define BOOST_NUMERIC_FUNCTIONAL_HPP_EAN_08_12_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef BOOST_NUMERIC_FUNCTIONAL_STD_VECTOR_SUPPORT +# include +#endif + +#ifdef BOOST_NUMERIC_FUNCTIONAL_STD_VALARRAY_SUPPORT +# include +#endif + +#ifdef BOOST_NUMERIC_FUNCTIONAL_STD_COMPLEX_SUPPORT +# include +#endif + +/// INTERNAL ONLY +/// +#define BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED + +#ifdef BOOST_NUMERIC_FUNCTIONAL_DOXYGEN_INVOKED +// Hack to make Doxygen show the inheritance relationships +/// INTERNAL ONLY +/// +namespace std +{ + /// INTERNAL ONLY + /// + template struct unary_function {}; + /// INTERNAL ONLY + /// + template struct binary_function {}; +} +#endif + +namespace boost { namespace numeric +{ + namespace functional + { + /// INTERNAL ONLY + /// + template + struct are_integral + : mpl::and_, is_integral > + {}; + + template + struct left_ref + { + typedef Left &type; + }; + + namespace detail + { + template + T &lvalue_of(); + } + } + + // TODO: handle complex weight, valarray, MTL vectors + + /// INTERNAL ONLY + /// +#define BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(Name, Op) \ + namespace functional \ + { \ + template \ + struct result_of_ ## Name \ + { \ + BOOST_TYPEOF_NESTED_TYPEDEF_TPL( \ + nested \ + , Op boost::numeric::functional::detail::lvalue_of() \ + ) \ + typedef typename nested::type type; \ + }; \ + template \ + struct Name ## _base \ + { \ + typedef typename remove_const::type argument_type; \ + typedef typename result_of_ ## Name::type result_type; \ + typename result_of_ ## Name::type operator ()(Arg &arg) const \ + { \ + return Op arg; \ + } \ + }; \ + template \ + struct Name \ + : Name ## _base \ + {}; \ + } \ + namespace op \ + { \ + struct Name \ + : boost::detail::function1 > > \ + {}; \ + } \ + namespace \ + { \ + op::Name const &Name = boost::detail::pod_singleton::instance; \ + } \ + /**/ + + /// INTERNAL ONLY + /// +#define BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(Name, Op, RetType) \ + namespace functional \ + { \ + template \ + struct result_of_ ## Name \ + { \ + RetType(Left, Op, Right) \ + }; \ + template \ + struct Name ## _base \ + { \ + typedef typename remove_const::type first_argument_type; \ + typedef typename remove_const::type second_argument_type; \ + typedef typename result_of_ ## Name::type result_type; \ + typename result_of_ ## Name::type \ + operator ()(Left &left, Right &right) const \ + { \ + return left Op right; \ + } \ + }; \ + template \ + struct Name \ + : Name ## _base \ + {}; \ + } \ + namespace op \ + { \ + struct Name \ + : boost::detail::function2< \ + functional::Name<_1, _2, functional::tag<_1>, functional::tag<_2> > \ + > \ + {}; \ + } \ + namespace \ + { \ + op::Name const &Name = boost::detail::pod_singleton::instance; \ + } \ + BOOST_ACCUMULATORS_IGNORE_GLOBAL(Name) \ + /**/ + + /// INTERNAL ONLY + /// +#define BOOST_NUMERIC_FUNCTIONAL_DEDUCED(Left, Op, Right) \ + BOOST_TYPEOF_NESTED_TYPEDEF_TPL( \ + nested \ + , boost::numeric::functional::detail::lvalue_of() Op \ + boost::numeric::functional::detail::lvalue_of() \ + ) \ + typedef typename nested::type type; \ + /**/ + + /// INTERNAL ONLY + /// +#define BOOST_NUMERIC_FUNCTIONAL_LEFT(Left, Op, Right) \ + typedef Left &type; \ + /**/ + + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(plus, +, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(minus, -, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(multiplies, *, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(divides, /, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(modulus, %, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(greater, >, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(greater_equal, >=, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(less, <, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(less_equal, <=, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(equal_to, ==, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(not_equal_to, !=, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) + + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(assign, =, BOOST_NUMERIC_FUNCTIONAL_LEFT) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(plus_assign, +=, BOOST_NUMERIC_FUNCTIONAL_LEFT) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(minus_assign, -=, BOOST_NUMERIC_FUNCTIONAL_LEFT) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(multiplies_assign, *=, BOOST_NUMERIC_FUNCTIONAL_LEFT) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(divides_assign, /=, BOOST_NUMERIC_FUNCTIONAL_LEFT) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(modulus_assign, %=, BOOST_NUMERIC_FUNCTIONAL_LEFT) + + BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(unary_plus, +) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(unary_minus, -) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(complement, ~) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(logical_not, !) + +#undef BOOST_NUMERIC_FUNCTIONAL_LEFT +#undef BOOST_NUMERIC_FUNCTIONAL_DEDUCED +#undef BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP +#undef BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP + + namespace functional + { + template + struct min_assign_base + { + typedef Left first_argument_type; + typedef Right second_argument_type; + typedef void result_type; + + void operator ()(Left &left, Right &right) const + { + if(numeric::less(right, left)) + { + left = right; + } + } + }; + + template + struct max_assign_base + { + typedef Left first_argument_type; + typedef Right second_argument_type; + typedef void result_type; + + void operator ()(Left &left, Right &right) const + { + if(numeric::greater(right, left)) + { + left = right; + } + } + }; + + template + struct fdiv_base + : functional::divides + {}; + + // partial specialization that promotes the arguments to double for + // integral division. + template + struct fdiv_base >::type> + : functional::divides + {}; + + template + struct promote_base + { + typedef From argument_type; + typedef To result_type; + + To operator ()(From &from) const + { + return from; + } + }; + + template + struct promote_base + { + typedef ToFrom argument_type; + typedef ToFrom result_type; + + ToFrom &operator ()(ToFrom &tofrom) + { + return tofrom; + } + }; + + template + struct as_min_base + { + BOOST_STATIC_ASSERT(std::numeric_limits::type>::is_specialized); + + typedef Arg argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(Arg &) const + { + return (std::numeric_limits::type>::min)(); + } + }; + + template + struct as_min_base >::type> + { + BOOST_STATIC_ASSERT(std::numeric_limits::type>::is_specialized); + + typedef Arg argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(Arg &) const + { + return -(std::numeric_limits::type>::max)(); + } + }; + + template + struct as_max_base + { + BOOST_STATIC_ASSERT(std::numeric_limits::type>::is_specialized); + + typedef Arg argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(Arg &) const + { + return (std::numeric_limits::type>::max)(); + } + }; + + template + struct as_zero_base + { + typedef Arg argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(Arg &) const + { + return numeric::zero::type>::value; + } + }; + + template + struct as_one_base + { + typedef Arg argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(Arg &) const + { + return numeric::one::type>::value; + } + }; + + template + struct promote + : promote_base + {}; + + template + struct min_assign + : min_assign_base + {}; + + template + struct max_assign + : max_assign_base + {}; + + template + struct fdiv + : fdiv_base + {}; + + /// INTERNAL ONLY + /// For back-compat only. Use fdiv. + template + struct average + : fdiv + {}; + + template + struct as_min + : as_min_base + {}; + + template + struct as_max + : as_max_base + {}; + + template + struct as_zero + : as_zero_base + {}; + + template + struct as_one + : as_one_base + {}; + } + + namespace op + { + template + struct promote + : boost::detail::function1::type, functional::tag<_> > > + {}; + + struct min_assign + : boost::detail::function2, functional::tag<_2> > > + {}; + + struct max_assign + : boost::detail::function2, functional::tag<_2> > > + {}; + + struct fdiv + : boost::detail::function2, functional::tag<_2> > > + {}; + + /// INTERNAL ONLY + struct average + : boost::detail::function2, functional::tag<_2> > > + {}; + + struct as_min + : boost::detail::function1 > > + {}; + + struct as_max + : boost::detail::function1 > > + {}; + + struct as_zero + : boost::detail::function1 > > + {}; + + struct as_one + : boost::detail::function1 > > + {}; + } + + namespace + { + op::min_assign const &min_assign = boost::detail::pod_singleton::instance; + op::max_assign const &max_assign = boost::detail::pod_singleton::instance; + op::fdiv const &fdiv = boost::detail::pod_singleton::instance; + op::fdiv const &average = boost::detail::pod_singleton::instance; ///< INTERNAL ONLY + op::as_min const &as_min = boost::detail::pod_singleton::instance; + op::as_max const &as_max = boost::detail::pod_singleton::instance; + op::as_zero const &as_zero = boost::detail::pod_singleton::instance; + op::as_one const &as_one = boost::detail::pod_singleton::instance; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(min_assign) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(max_assign) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(fdiv) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(average) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_min) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_max) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_zero) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_one) + } + + /////////////////////////////////////////////////////////////////////////////// + // promote + template + typename lazy_disable_if, mpl::if_, To &, To> >::type + promote(From &from) + { + return functional::promote()(from); + } + + template + typename mpl::if_, To const &, To const>::type + promote(From const &from) + { + return functional::promote()(from); + } + + template + struct default_ + { + typedef default_ type; + typedef T value_type; + static T const value; + + operator T const & () const + { + return default_::value; + } + }; + + template + T const default_::value = T(); + + template + struct one + { + typedef one type; + typedef T value_type; + static T const value; + + operator T const & () const + { + return one::value; + } + }; + + template + T const one::value = T(1); + + template + struct zero + { + typedef zero type; + typedef T value_type; + static T const value; + + operator T const & () const + { + return zero::value; + } + }; + + template + T const zero::value = T(); + + template + struct one_or_default + : mpl::if_, default_, one >::type + {}; + + template + struct zero_or_default + : mpl::if_, default_, zero >::type + {}; + +}} // namespace boost::numeric + +#endif diff --git a/external/boost/accumulators/numeric/functional/complex.hpp b/external/boost/accumulators/numeric/functional/complex.hpp new file mode 100644 index 000000000..ea8c03324 --- /dev/null +++ b/external/boost/accumulators/numeric/functional/complex.hpp @@ -0,0 +1,82 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file complex.hpp +/// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_NUMERIC_FUNCTIONAL_COMPLEX_HPP_EAN_01_17_2006 +#define BOOST_NUMERIC_FUNCTIONAL_COMPLEX_HPP_EAN_01_17_2006 + +#ifdef BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED +# error Include this file before boost/accumulators/numeric/functional.hpp +#endif + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace numeric { namespace operators +{ + // So that the stats compile when Sample type is std::complex + template + typename + disable_if< + mpl::or_, is_same, U> > + , std::complex + >::type + operator *(std::complex ri, U const &u) + { + // BUGBUG promote result to typeof(T()*u) ? + return ri *= static_cast(u); + } + + template + typename + disable_if< + mpl::or_, is_same, U> > + , std::complex + >::type + operator /(std::complex ri, U const &u) + { + // BUGBUG promote result to typeof(T()*u) ? + return ri /= static_cast(u); + } + +}}} // namespace boost::numeric::operators + +namespace boost { namespace numeric +{ + namespace detail + { + template + struct one_complex + { + static std::complex const value; + }; + + template + std::complex const one_complex::value + = std::complex(numeric::one::value, numeric::one::value); + } + + /// INTERNAL ONLY + /// + template + struct one > + : detail::one_complex + { + typedef one type; + typedef std::complex value_type; + operator value_type const & () const + { + return detail::one_complex::value; + } + }; + +}} // namespace boost::numeric + +#endif diff --git a/external/boost/accumulators/numeric/functional/valarray.hpp b/external/boost/accumulators/numeric/functional/valarray.hpp new file mode 100644 index 000000000..1996c7584 --- /dev/null +++ b/external/boost/accumulators/numeric/functional/valarray.hpp @@ -0,0 +1,362 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file valarray.hpp +/// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_NUMERIC_FUNCTIONAL_VALARRAY_HPP_EAN_12_12_2005 +#define BOOST_NUMERIC_FUNCTIONAL_VALARRAY_HPP_EAN_12_12_2005 + +#ifdef BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED +# error Include this file before boost/accumulators/numeric/functional.hpp +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace numeric +{ + namespace operators + { + namespace acc_detail + { + template + struct make_valarray + { + typedef std::valarray type; + }; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle valarray / Right where Right is a scalar and Right != Left. + template + typename lazy_enable_if< + mpl::and_, mpl::not_ > > + , acc_detail::make_valarray > + >::type + operator /(std::valarray const &left, Right const &right) + { + typedef typename functional::divides::result_type value_type; + std::valarray result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::divides(left[i], right); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle valarray * Right where Right is a scalar and Right != Left. + template + typename lazy_enable_if< + mpl::and_, mpl::not_ > > + , acc_detail::make_valarray > + >::type + operator *(std::valarray const &left, Right const &right) + { + typedef typename functional::multiplies::result_type value_type; + std::valarray result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::multiplies(left[i], right); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle valarray + valarray where Right != Left. + template + typename lazy_disable_if< + is_same + , acc_detail::make_valarray > + >::type + operator +(std::valarray const &left, std::valarray const &right) + { + typedef typename functional::plus::result_type value_type; + std::valarray result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::plus(left[i], right[i]); + } + return result; + } + } + + namespace functional + { + struct std_valarray_tag; + + template + struct tag > + { + typedef std_valarray_tag type; + }; + + #ifdef __GLIBCXX__ + template + struct tag > + { + typedef std_valarray_tag type; + }; + #endif + + /// INTERNAL ONLY + /// + // This is necessary because the GCC stdlib uses expression templates, and + // typeof(som-valarray-expression) is not an instance of std::valarray + #define BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(Name, Op) \ + template \ + struct Name \ + { \ + typedef Left first_argument_type; \ + typedef Right second_argument_type; \ + typedef typename Left::value_type left_value_type; \ + typedef typename Right::value_type right_value_type; \ + typedef \ + std::valarray< \ + typename Name::result_type \ + > \ + result_type; \ + result_type \ + operator ()(Left &left, Right &right) const \ + { \ + return numeric::promote >(left) \ + Op numeric::promote >(right); \ + } \ + }; \ + template \ + struct Name \ + { \ + typedef Left first_argument_type; \ + typedef Right second_argument_type; \ + typedef typename Left::value_type left_value_type; \ + typedef \ + std::valarray< \ + typename Name::result_type \ + > \ + result_type; \ + result_type \ + operator ()(Left &left, Right &right) const \ + { \ + return numeric::promote >(left) Op right;\ + } \ + }; \ + template \ + struct Name \ + { \ + typedef Left first_argument_type; \ + typedef Right second_argument_type; \ + typedef typename Right::value_type right_value_type; \ + typedef \ + std::valarray< \ + typename Name::result_type \ + > \ + result_type; \ + result_type \ + operator ()(Left &left, Right &right) const \ + { \ + return left Op numeric::promote >(right);\ + } \ + }; + + BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(plus, +) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(minus, -) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(multiplies, *) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(divides, /) + BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(modulus, %) + + #undef BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP + + /////////////////////////////////////////////////////////////////////////////// + // element-wise min of std::valarray + template + struct min_assign + { + typedef Left first_argument_type; + typedef Right second_argument_type; + typedef void result_type; + + void operator ()(Left &left, Right &right) const + { + BOOST_ASSERT(left.size() == right.size()); + for(std::size_t i = 0, size = left.size(); i != size; ++i) + { + if(numeric::less(right[i], left[i])) + { + left[i] = right[i]; + } + } + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // element-wise max of std::valarray + template + struct max_assign + { + typedef Left first_argument_type; + typedef Right second_argument_type; + typedef void result_type; + + void operator ()(Left &left, Right &right) const + { + BOOST_ASSERT(left.size() == right.size()); + for(std::size_t i = 0, size = left.size(); i != size; ++i) + { + if(numeric::greater(right[i], left[i])) + { + left[i] = right[i]; + } + } + } + }; + + // partial specialization of numeric::fdiv<> for std::valarray. + template + struct fdiv + : mpl::if_< + are_integral + , divides + , divides + >::type + {}; + + // promote + template + struct promote + { + typedef From argument_type; + typedef To result_type; + + To operator ()(From &arr) const + { + typename remove_const::type res(arr.size()); + for(std::size_t i = 0, size = arr.size(); i != size; ++i) + { + res[i] = numeric::promote(arr[i]); + } + return res; + } + }; + + template + struct promote + { + typedef ToFrom argument_type; + typedef ToFrom result_type; + + ToFrom &operator ()(ToFrom &tofrom) const + { + return tofrom; + } + }; + + // for "promoting" a std::valarray to a bool, useful for + // comparing 2 valarrays for equality: + // if(numeric::promote(a == b)) + template + struct promote + { + typedef From argument_type; + typedef bool result_type; + + bool operator ()(From &arr) const + { + BOOST_MPL_ASSERT((is_same)); + for(std::size_t i = 0, size = arr.size(); i != size; ++i) + { + if(!arr[i]) + { + return false; + } + } + return true; + } + }; + + template + struct promote + : promote + {}; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_min + template + struct as_min + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(numeric::as_min(arr[0]), arr.size()); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_max + template + struct as_max + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(numeric::as_max(arr[0]), arr.size()); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_zero + template + struct as_zero + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(numeric::as_zero(arr[0]), arr.size()); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_one + template + struct as_one + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(numeric::as_one(arr[0]), arr.size()); + } + }; + + } // namespace functional + +}} // namespace boost::numeric + +#endif + diff --git a/external/boost/accumulators/numeric/functional/vector.hpp b/external/boost/accumulators/numeric/functional/vector.hpp new file mode 100644 index 000000000..4c2fbd8ad --- /dev/null +++ b/external/boost/accumulators/numeric/functional/vector.hpp @@ -0,0 +1,347 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file vector.hpp +/// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_NUMERIC_FUNCTIONAL_VECTOR_HPP_EAN_12_12_2005 +#define BOOST_NUMERIC_FUNCTIONAL_VECTOR_HPP_EAN_12_12_2005 + +#ifdef BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED +# error Include this file before boost/accumulators/numeric/functional.hpp +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace numeric +{ + namespace operators + { + namespace acc_detail + { + template + struct make_vector + { + typedef std::vector type; + }; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle vector / Right where Right is a scalar. + template + typename lazy_enable_if< + is_scalar + , acc_detail::make_vector > + >::type + operator /(std::vector const &left, Right const &right) + { + typedef typename functional::divides::result_type value_type; + std::vector result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::divides(left[i], right); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle vector / vector. + template + std::vector::result_type> + operator /(std::vector const &left, std::vector const &right) + { + typedef typename functional::divides::result_type value_type; + std::vector result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::divides(left[i], right[i]); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle vector * Right where Right is a scalar. + template + typename lazy_enable_if< + is_scalar + , acc_detail::make_vector > + >::type + operator *(std::vector const &left, Right const &right) + { + typedef typename functional::multiplies::result_type value_type; + std::vector result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::multiplies(left[i], right); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle Left * vector where Left is a scalar. + template + typename lazy_enable_if< + is_scalar + , acc_detail::make_vector > + >::type + operator *(Left const &left, std::vector const &right) + { + typedef typename functional::multiplies::result_type value_type; + std::vector result(right.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::multiplies(left, right[i]); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle vector * vector + template + std::vector::result_type> + operator *(std::vector const &left, std::vector const &right) + { + typedef typename functional::multiplies::result_type value_type; + std::vector result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::multiplies(left[i], right[i]); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle vector + vector + template + std::vector::result_type> + operator +(std::vector const &left, std::vector const &right) + { + typedef typename functional::plus::result_type value_type; + std::vector result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::plus(left[i], right[i]); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle vector - vector + template + std::vector::result_type> + operator -(std::vector const &left, std::vector const &right) + { + typedef typename functional::minus::result_type value_type; + std::vector result(left.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::minus(left[i], right[i]); + } + return result; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle vector += vector + template + std::vector & + operator +=(std::vector &left, std::vector const &right) + { + BOOST_ASSERT(left.size() == right.size()); + for(std::size_t i = 0, size = left.size(); i != size; ++i) + { + numeric::plus_assign(left[i], right[i]); + } + return left; + } + + /////////////////////////////////////////////////////////////////////////////// + // Handle -vector + template + std::vector::result_type> + operator -(std::vector const &arg) + { + typedef typename functional::unary_minus::result_type value_type; + std::vector result(arg.size()); + for(std::size_t i = 0, size = result.size(); i != size; ++i) + { + result[i] = numeric::unary_minus(arg[i]); + } + return result; + } + } + + namespace functional + { + struct std_vector_tag; + + template + struct tag > + { + typedef std_vector_tag type; + }; + + /////////////////////////////////////////////////////////////////////////////// + // element-wise min of std::vector + template + struct min_assign + { + typedef Left first_argument_type; + typedef Right second_argument_type; + typedef void result_type; + + void operator ()(Left &left, Right &right) const + { + BOOST_ASSERT(left.size() == right.size()); + for(std::size_t i = 0, size = left.size(); i != size; ++i) + { + if(numeric::less(right[i], left[i])) + { + left[i] = right[i]; + } + } + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // element-wise max of std::vector + template + struct max_assign + { + typedef Left first_argument_type; + typedef Right second_argument_type; + typedef void result_type; + + void operator ()(Left &left, Right &right) const + { + BOOST_ASSERT(left.size() == right.size()); + for(std::size_t i = 0, size = left.size(); i != size; ++i) + { + if(numeric::greater(right[i], left[i])) + { + left[i] = right[i]; + } + } + } + }; + + // partial specialization for std::vector. + template + struct fdiv + : mpl::if_< + are_integral + , divides + , divides + >::type + {}; + + // promote + template + struct promote + { + typedef From argument_type; + typedef To result_type; + + To operator ()(From &arr) const + { + typename remove_const::type res(arr.size()); + for(std::size_t i = 0, size = arr.size(); i != size; ++i) + { + res[i] = numeric::promote(arr[i]); + } + return res; + } + }; + + template + struct promote + { + typedef ToFrom argument_type; + typedef ToFrom result_type; + + ToFrom &operator ()(ToFrom &tofrom) const + { + return tofrom; + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_min + template + struct as_min + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(arr.size(), numeric::as_min(arr[0])); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_max + template + struct as_max + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(arr.size(), numeric::as_max(arr[0])); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_zero + template + struct as_zero + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(arr.size(), numeric::as_zero(arr[0])); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // functional::as_one + template + struct as_one + { + typedef T argument_type; + typedef typename remove_const::type result_type; + + typename remove_const::type operator ()(T &arr) const + { + return 0 == arr.size() + ? T() + : T(arr.size(), numeric::as_one(arr[0])); + } + }; + + } // namespace functional + +}} // namespace boost::numeric + +#endif + diff --git a/external/boost/accumulators/numeric/functional_fwd.hpp b/external/boost/accumulators/numeric/functional_fwd.hpp new file mode 100644 index 000000000..501f654b2 --- /dev/null +++ b/external/boost/accumulators/numeric/functional_fwd.hpp @@ -0,0 +1,221 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file functional_fwd.hpp +/// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_NUMERIC_FUNCTIONAL_FWD_HPP_EAN_08_12_2005 +#define BOOST_NUMERIC_FUNCTIONAL_FWD_HPP_EAN_08_12_2005 + +#include +#include +#include +#include +#include + +namespace boost { namespace numeric +{ + // For using directives -- this namespace may be re-opened elsewhere + namespace operators + {} + + namespace op + { + using mpl::_; + using mpl::_1; + using mpl::_2; + } + + namespace functional + { + using namespace operators; + + template + struct tag + { + typedef void type; + }; + + template + struct tag + : tag + {}; + + template + struct tag + : tag + {}; + + template + struct tag + : tag + {}; + + template + struct static_; + + template + struct are_integral; + } + + /// INTERNAL ONLY + /// +#define BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(Name, Op) \ + namespace functional \ + { \ + template \ + struct Name ## _base; \ + template::type> \ + struct Name; \ + } \ + namespace op \ + { \ + struct Name; \ + } \ + namespace \ + { \ + extern op::Name const &Name; \ + } + + /// INTERNAL ONLY + /// +#define BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(Name) \ + namespace functional \ + { \ + template \ + struct result_of_ ## Name; \ + template \ + struct Name ## _base; \ + template< \ + typename Left \ + , typename Right \ + , typename LeftTag = typename tag::type \ + , typename RightTag = typename tag::type \ + > \ + struct Name; \ + } \ + namespace op \ + { \ + struct Name; \ + } \ + namespace \ + { \ + extern op::Name const &Name; \ + } + + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(plus) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(minus) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(multiplies) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(divides) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(modulus) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(greater) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(greater_equal) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(less) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(less_equal) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(equal_to) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(not_equal_to) + + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(assign) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(plus_assign) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(minus_assign) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(multiplies_assign) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(divides_assign) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(modulus_assign) + + BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(unary_plus, +) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(unary_minus, -) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(complement, ~) + BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(logical_not, !) + +#undef BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP +#undef BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP + + + namespace functional + { + template + struct promote_base; + template + struct min_assign_base; + template + struct max_assign_base; + template + struct fdiv_base; + template + struct as_min_base; + template + struct as_max_base; + template + struct as_zero_base; + template + struct as_one_base; + + template::type, typename FromTag = typename tag::type> + struct promote; + template::type, typename RightTag = typename tag::type> + struct min_assign; + template::type, typename RightTag = typename tag::type> + struct max_assign; + template::type, typename RightTag = typename tag::type> + struct fdiv; + template::type> + struct as_min; + template::type> + struct as_max; + template::type> + struct as_zero; + template::type> + struct as_one; + } + + namespace op + { + template + struct promote; + struct min_assign; + struct max_assign; + struct fdiv; + struct as_min; + struct as_max; + struct as_zero; + struct as_one; + } + + namespace + { + extern op::min_assign const &min_assign; + extern op::max_assign const &max_assign; + extern op::fdiv const &fdiv; + extern op::as_min const &as_min; + extern op::as_max const &as_max; + extern op::as_zero const &as_zero; + extern op::as_one const &as_one; + } + + template + typename lazy_disable_if, mpl::if_, To &, To> >::type + promote(From &from); + + template + typename mpl::if_, To const &, To const>::type + promote(From const &from); + + template + struct default_; + + template + struct one; + + template + struct zero; + + template + struct one_or_default; + + template + struct zero_or_default; + +}} // namespace boost::numeric + +#endif diff --git a/external/boost/accumulators/statistics.hpp b/external/boost/accumulators/statistics.hpp new file mode 100644 index 000000000..01786079a --- /dev/null +++ b/external/boost/accumulators/statistics.hpp @@ -0,0 +1,61 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file statistics.hpp +/// Includes all of the Statistical Accumulators Library +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_HPP_EAN_01_17_2006 +#define BOOST_ACCUMULATORS_STATISTICS_HPP_EAN_01_17_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/accumulators/statistics/count.hpp b/external/boost/accumulators/statistics/count.hpp new file mode 100644 index 000000000..6d30b41e2 --- /dev/null +++ b/external/boost/accumulators/statistics/count.hpp @@ -0,0 +1,80 @@ +/////////////////////////////////////////////////////////////////////////////// +// count.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_COUNT_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_COUNT_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + + /////////////////////////////////////////////////////////////////////////////// + // count_impl + struct count_impl + : accumulator_base + { + // for boost::result_of + typedef std::size_t result_type; + + count_impl(dont_care) + : cnt(0) + { + } + + void operator ()(dont_care) + { + ++this->cnt; + } + + result_type result(dont_care) const + { + return this->cnt; + } + + private: + std::size_t cnt; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::count +// +namespace tag +{ + struct count + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef mpl::always impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::count +// +namespace extract +{ + extractor const count = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(count) +} + +using extract::count; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/covariance.hpp b/external/boost/accumulators/statistics/covariance.hpp new file mode 100644 index 000000000..b3030b967 --- /dev/null +++ b/external/boost/accumulators/statistics/covariance.hpp @@ -0,0 +1,212 @@ +/////////////////////////////////////////////////////////////////////////////// +// covariance.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_COVARIANCE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_COVARIANCE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace numeric +{ + namespace functional + { + struct std_vector_tag; + + /////////////////////////////////////////////////////////////////////////////// + // functional::outer_product + template + struct outer_product_base + : functional::multiplies + {}; + + template::type, typename RightTag = typename tag::type> + struct outer_product + : outer_product_base + {}; + + template + struct outer_product + { + typedef Left first_argument_type; + typedef Right second_argument_type; + typedef + ublas::matrix< + typename functional::multiplies< + typename Left::value_type + , typename Right::value_type + >::result_type + > + result_type; + + result_type + operator ()(Left & left, Right & right) const + { + std::size_t left_size = left.size(); + std::size_t right_size = right.size(); + result_type result(left_size, right_size); + for (std::size_t i = 0; i < left_size; ++i) + for (std::size_t j = 0; j < right_size; ++j) + result(i,j) = numeric::multiplies(left[i], right[j]); + return result; + } + }; + } + + namespace op + { + struct outer_product + : boost::detail::function2, functional::tag<_2> > > + {}; + } + + namespace + { + op::outer_product const &outer_product = boost::detail::pod_singleton::instance; + } + +}} + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // covariance_impl + // + /** + @brief Covariance Estimator + + An iterative Monte Carlo estimator for the covariance \f$\mathrm{Cov}(X,X')\f$, where \f$X\f$ is a sample + and \f$X'\f$ is a variate, is given by: + + \f[ + \hat{c}_n = \frac{n-1}{n} \hat{c}_{n-1} + \frac{1}{n-1}(X_n - \hat{\mu}_n)(X_n' - \hat{\mu}_n'),\quad n\ge2,\quad\hat{c}_1 = 0, + \f] + + \f$\hat{\mu}_n\f$ and \f$\hat{\mu}_n'\f$ being the means of the samples and variates. + */ + template + struct covariance_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type sample_type; + typedef typename numeric::functional::fdiv::result_type variate_type; + // for boost::result_of + typedef typename numeric::functional::outer_product::result_type result_type; + + template + covariance_impl(Args const &args) + : cov_( + numeric::outer_product( + numeric::fdiv(args[sample | Sample()], (std::size_t)1) + , numeric::fdiv(args[parameter::keyword::get() | VariateType()], (std::size_t)1) + ) + ) + { + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + + if (cnt > 1) + { + extractor > const some_mean_of_variates = {}; + + this->cov_ = this->cov_*(cnt-1.)/cnt + + numeric::outer_product( + some_mean_of_variates(args) - args[parameter::keyword::get()] + , mean(args) - args[sample] + ) / (cnt-1.); + } + } + + result_type result(dont_care) const + { + return this->cov_; + } + + private: + result_type cov_; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::covariance +// +namespace tag +{ + template + struct covariance + : depends_on > + { + typedef accumulators::impl::covariance_impl impl; + }; + + struct abstract_covariance + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::covariance +// +namespace extract +{ + extractor const covariance = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariance) +} + +using extract::covariance; + +template +struct feature_of > + : feature_of +{ +}; + +// So that covariance can be automatically substituted with +// weighted_covariance when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_covariance type; +}; + +template +struct feature_of > + : feature_of > +{}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/density.hpp b/external/boost/accumulators/statistics/density.hpp new file mode 100644 index 000000000..88ca17df7 --- /dev/null +++ b/external/boost/accumulators/statistics/density.hpp @@ -0,0 +1,250 @@ + +/////////////////////////////////////////////////////////////////////////////// +// density.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_DENSITY_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_DENSITY_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +/////////////////////////////////////////////////////////////////////////////// +// cache_size and num_bins named parameters +// +BOOST_PARAMETER_NESTED_KEYWORD(tag, density_cache_size, cache_size) +BOOST_PARAMETER_NESTED_KEYWORD(tag, density_num_bins, num_bins) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(density_cache_size) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(density_num_bins) + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // density_impl + // density histogram + /** + @brief Histogram density estimator + + The histogram density estimator returns a histogram of the sample distribution. The positions and sizes of the bins + are determined using a specifiable number of cached samples (cache_size). The range between the minimum and the + maximum of the cached samples is subdivided into a specifiable number of bins (num_bins) of same size. Additionally, + an under- and an overflow bin is added to capture future under- and overflow samples. Once the bins are determined, + the cached samples and all subsequent samples are added to the correct bins. At the end, a range of std::pair is + return, where each pair contains the position of the bin (lower bound) and the samples count (normalized with the + total number of samples). + + @param density_cache_size Number of first samples used to determine min and max. + @param density_num_bins Number of bins (two additional bins collect under- and overflow samples). + */ + template + struct density_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector > histogram_type; + typedef std::vector array_type; + // for boost::result_of + typedef iterator_range result_type; + + template + density_impl(Args const &args) + : cache_size(args[density_cache_size]) + , cache(cache_size) + , num_bins(args[density_num_bins]) + , samples_in_bin(num_bins + 2, 0.) + , bin_positions(num_bins + 2) + , histogram( + num_bins + 2 + , std::make_pair( + numeric::fdiv(args[sample | Sample()],(std::size_t)1) + , numeric::fdiv(args[sample | Sample()],(std::size_t)1) + ) + ) + , is_dirty(true) + { + } + + template + void operator ()(Args const &args) + { + this->is_dirty = true; + + std::size_t cnt = count(args); + + // Fill up cache with cache_size first samples + if (cnt <= this->cache_size) + { + this->cache[cnt - 1] = args[sample]; + } + + // Once cache_size samples have been accumulated, create num_bins bins of same size between + // the minimum and maximum of the cached samples as well as under and overflow bins. + // Store their lower bounds (bin_positions) and fill the bins with the cached samples (samples_in_bin). + if (cnt == this->cache_size) + { + float_type minimum = numeric::fdiv((min)(args), (std::size_t)1); + float_type maximum = numeric::fdiv((max)(args), (std::size_t)1); + float_type bin_size = numeric::fdiv(maximum - minimum, this->num_bins ); + + // determine bin positions (their lower bounds) + for (std::size_t i = 0; i < this->num_bins + 2; ++i) + { + this->bin_positions[i] = minimum + (i - 1.) * bin_size; + } + + for (typename array_type::const_iterator iter = this->cache.begin(); iter != this->cache.end(); ++iter) + { + if (*iter < this->bin_positions[1]) + { + ++(this->samples_in_bin[0]); + } + else if (*iter >= this->bin_positions[this->num_bins + 1]) + { + ++(this->samples_in_bin[this->num_bins + 1]); + } + else + { + typename array_type::iterator it = std::upper_bound( + this->bin_positions.begin() + , this->bin_positions.end() + , *iter + ); + + std::size_t d = std::distance(this->bin_positions.begin(), it); + ++(this->samples_in_bin[d - 1]); + } + } + } + // Add each subsequent sample to the correct bin + else if (cnt > this->cache_size) + { + if (args[sample] < this->bin_positions[1]) + { + ++(this->samples_in_bin[0]); + } + else if (args[sample] >= this->bin_positions[this->num_bins + 1]) + { + ++(this->samples_in_bin[this->num_bins + 1]); + } + else + { + typename array_type::iterator it = std::upper_bound( + this->bin_positions.begin() + , this->bin_positions.end() + , args[sample] + ); + + std::size_t d = std::distance(this->bin_positions.begin(), it); + ++(this->samples_in_bin[d - 1]); + } + } + } + + /** + @pre The number of samples must meet or exceed the cache size + */ + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + // creates a vector of std::pair where each pair i holds + // the values bin_positions[i] (x-axis of histogram) and + // samples_in_bin[i] / cnt (y-axis of histogram). + + for (std::size_t i = 0; i < this->num_bins + 2; ++i) + { + this->histogram[i] = std::make_pair(this->bin_positions[i], numeric::fdiv(this->samples_in_bin[i], count(args))); + } + } + // returns a range of pairs + return make_iterator_range(this->histogram); + } + + private: + std::size_t cache_size; // number of cached samples + array_type cache; // cache to store the first cache_size samples + std::size_t num_bins; // number of bins + array_type samples_in_bin; // number of samples in each bin + array_type bin_positions; // lower bounds of bins + mutable histogram_type histogram; // histogram + mutable bool is_dirty; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::density +// +namespace tag +{ + struct density + : depends_on + , density_cache_size + , density_num_bins + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::density_impl impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::density::cache_size named parameter + /// tag::density::num_bins named parameter + static boost::parameter::keyword const cache_size; + static boost::parameter::keyword const num_bins; + #endif + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::density +// +namespace extract +{ + extractor const density = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(density) +} + +using extract::density; + +// So that density can be automatically substituted +// with weighted_density when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::weighted_density type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/error_of.hpp b/external/boost/accumulators/statistics/error_of.hpp new file mode 100644 index 000000000..a29da02f5 --- /dev/null +++ b/external/boost/accumulators/statistics/error_of.hpp @@ -0,0 +1,99 @@ +/////////////////////////////////////////////////////////////////////////////// +// error_of.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_HPP_EAN_29_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_HPP_EAN_29_11_2005 + +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /// INTERNAL ONLY + /// + template + struct this_feature_has_no_error_calculation + : mpl::false_ + { + }; + + /////////////////////////////////////////////////////////////////////////////// + // error_of_impl + /// INTERNAL ONLY + /// + template + struct error_of_impl + : accumulator_base + { + // TODO: specialize this on the specific features that have errors we're + // interested in. + BOOST_MPL_ASSERT((this_feature_has_no_error_calculation)); + + // for boost::result_of + typedef int result_type; + + error_of_impl(dont_care) + { + } + + result_type result(dont_care) const + { + return 0; + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::error_of +// +namespace tag +{ + template + struct error_of + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::error_of_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::error_of +// +namespace extract +{ + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, error_of, (typename)) +} + +using extract::error_of; + +// make tag::error_of work +template +struct as_feature > +{ + typedef tag::error_of::type> type; +}; + +// make error_of work with non-void weights (should become +// error_of +template +struct as_weighted_feature > +{ + typedef tag::error_of::type> type; +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/error_of_mean.hpp b/external/boost/accumulators/statistics/error_of_mean.hpp new file mode 100644 index 000000000..7cd923d5f --- /dev/null +++ b/external/boost/accumulators/statistics/error_of_mean.hpp @@ -0,0 +1,73 @@ +/////////////////////////////////////////////////////////////////////////////// +// error_of.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_MEAN_HPP_EAN_27_03_2006 +#define BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_MEAN_HPP_EAN_27_03_2006 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // error_of_mean_impl + template + struct error_of_mean_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + error_of_mean_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + using namespace std; + extractor const variance = {}; + return sqrt(numeric::fdiv(variance(args), count(args) - 1)); + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::error_of +// +namespace tag +{ + template<> + struct error_of + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::error_of_mean_impl impl; + }; + + template<> + struct error_of + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::error_of_mean_impl impl; + }; +} + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/extended_p_square.hpp b/external/boost/accumulators/statistics/extended_p_square.hpp new file mode 100644 index 000000000..e6cc8dc9a --- /dev/null +++ b/external/boost/accumulators/statistics/extended_p_square.hpp @@ -0,0 +1,295 @@ +/////////////////////////////////////////////////////////////////////////////// +// extended_p_square.hpp +// +// Copyright 2005 Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ +/////////////////////////////////////////////////////////////////////////////// +// probabilities named parameter +// +BOOST_PARAMETER_NESTED_KEYWORD(tag, extended_p_square_probabilities, probabilities) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square_probabilities) + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // extended_p_square_impl + // multiple quantile estimation + /** + @brief Multiple quantile estimation with the extended \f$P^2\f$ algorithm + + Extended \f$P^2\f$ algorithm for estimation of several quantiles without storing samples. + Assume that \f$m\f$ quantiles \f$\xi_{p_1}, \ldots, \xi_{p_m}\f$ are to be estimated. + Instead of storing the whole sample cumulative distribution, the algorithm maintains only + \f$m+2\f$ principal markers and \f$m+1\f$ middle markers, whose positions are updated + with each sample and whose heights are adjusted (if necessary) using a piecewise-parablic + formula. The heights of these central markers are the current estimates of the quantiles + and returned as an iterator range. + + For further details, see + + K. E. E. Raatikainen, Simultaneous estimation of several quantiles, Simulation, Volume 49, + Number 4 (October), 1986, p. 159-164. + + The extended \f$ P^2 \f$ algorithm generalizes the \f$ P^2 \f$ algorithm of + + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and + histograms without storing observations, Communications of the ACM, + Volume 28 (October), Number 10, 1985, p. 1076-1085. + + @param extended_p_square_probabilities A vector of quantile probabilities. + */ + template + struct extended_p_square_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector array_type; + // for boost::result_of + typedef iterator_range< + detail::lvalue_index_iterator< + permutation_iterator< + typename array_type::const_iterator + , detail::times2_iterator + > + > + > result_type; + + template + extended_p_square_impl(Args const &args) + : probabilities( + boost::begin(args[extended_p_square_probabilities]) + , boost::end(args[extended_p_square_probabilities]) + ) + , heights(2 * probabilities.size() + 3) + , actual_positions(heights.size()) + , desired_positions(heights.size()) + , positions_increments(heights.size()) + { + std::size_t num_quantiles = this->probabilities.size(); + std::size_t num_markers = this->heights.size(); + + for(std::size_t i = 0; i < num_markers; ++i) + { + this->actual_positions[i] = i + 1; + } + + this->positions_increments[0] = 0.; + this->positions_increments[num_markers - 1] = 1.; + + for(std::size_t i = 0; i < num_quantiles; ++i) + { + this->positions_increments[2 * i + 2] = probabilities[i]; + } + + for(std::size_t i = 0; i <= num_quantiles; ++i) + { + this->positions_increments[2 * i + 1] = + 0.5 * (this->positions_increments[2 * i] + this->positions_increments[2 * i + 2]); + } + + for(std::size_t i = 0; i < num_markers; ++i) + { + this->desired_positions[i] = 1. + 2. * (num_quantiles + 1.) * this->positions_increments[i]; + } + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + + // m+2 principal markers and m+1 middle markers + std::size_t num_markers = 2 * this->probabilities.size() + 3; + + // first accumulate num_markers samples + if(cnt <= num_markers) + { + this->heights[cnt - 1] = args[sample]; + + // complete the initialization of heights by sorting + if(cnt == num_markers) + { + std::sort(this->heights.begin(), this->heights.end()); + } + } + else + { + std::size_t sample_cell = 1; + + // find cell k = sample_cell such that heights[k-1] <= sample < heights[k] + if(args[sample] < this->heights[0]) + { + this->heights[0] = args[sample]; + sample_cell = 1; + } + else if(args[sample] >= this->heights[num_markers - 1]) + { + this->heights[num_markers - 1] = args[sample]; + sample_cell = num_markers - 1; + } + else + { + typedef typename array_type::iterator iterator; + iterator it = std::upper_bound( + this->heights.begin() + , this->heights.end() + , args[sample] + ); + + sample_cell = std::distance(this->heights.begin(), it); + } + + // update actual positions of all markers above sample_cell index + for(std::size_t i = sample_cell; i < num_markers; ++i) + { + ++this->actual_positions[i]; + } + + // update desired positions of all markers + for(std::size_t i = 0; i < num_markers; ++i) + { + this->desired_positions[i] += this->positions_increments[i]; + } + + // adjust heights and actual positions of markers 1 to num_markers-2 if necessary + for(std::size_t i = 1; i <= num_markers - 2; ++i) + { + // offset to desired position + float_type d = this->desired_positions[i] - this->actual_positions[i]; + + // offset to next position + float_type dp = this->actual_positions[i+1] - this->actual_positions[i]; + + // offset to previous position + float_type dm = this->actual_positions[i-1] - this->actual_positions[i]; + + // height ds + float_type hp = (this->heights[i+1] - this->heights[i]) / dp; + float_type hm = (this->heights[i-1] - this->heights[i]) / dm; + + if((d >= 1 && dp > 1) || (d <= -1 && dm < -1)) + { + short sign_d = static_cast(d / std::abs(d)); + + float_type h = this->heights[i] + sign_d / (dp - dm) * ((sign_d - dm)*hp + + (dp - sign_d) * hm); + + // try adjusting heights[i] using p-squared formula + if(this->heights[i - 1] < h && h < this->heights[i + 1]) + { + this->heights[i] = h; + } + else + { + // use linear formula + if(d > 0) + { + this->heights[i] += hp; + } + if(d < 0) + { + this->heights[i] -= hm; + } + } + this->actual_positions[i] += sign_d; + } + } + } + } + + result_type result(dont_care) const + { + // for i in [1,probabilities.size()], return heights[i * 2] + detail::times2_iterator idx_begin = detail::make_times2_iterator(1); + detail::times2_iterator idx_end = detail::make_times2_iterator(this->probabilities.size() + 1); + + return result_type( + make_permutation_iterator(this->heights.begin(), idx_begin) + , make_permutation_iterator(this->heights.begin(), idx_end) + ); + } + + private: + array_type probabilities; // the quantile probabilities + array_type heights; // q_i + array_type actual_positions; // n_i + array_type desired_positions; // d_i + array_type positions_increments; // f_i + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::extended_p_square +// +namespace tag +{ + struct extended_p_square + : depends_on + , extended_p_square_probabilities + { + typedef accumulators::impl::extended_p_square_impl impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::extended_p_square::probabilities named parameter + static boost::parameter::keyword const probabilities; + #endif + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::extended_p_square +// +namespace extract +{ + extractor const extended_p_square = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square) +} + +using extract::extended_p_square; + +// So that extended_p_square can be automatically substituted with +// weighted_extended_p_square when the weight parameter is non-void +template<> +struct as_weighted_feature +{ + typedef tag::weighted_extended_p_square type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/extended_p_square_quantile.hpp b/external/boost/accumulators/statistics/extended_p_square_quantile.hpp new file mode 100644 index 000000000..a17843d77 --- /dev/null +++ b/external/boost/accumulators/statistics/extended_p_square_quantile.hpp @@ -0,0 +1,320 @@ +/////////////////////////////////////////////////////////////////////////////// +// extended_p_square_quantile.hpp +// +// Copyright 2005 Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_QUANTILE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_QUANTILE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // extended_p_square_quantile_impl + // single quantile estimation + /** + @brief Quantile estimation using the extended \f$P^2\f$ algorithm for weighted and unweighted samples + + Uses the quantile estimates calculated by the extended \f$P^2\f$ algorithm to compute + intermediate quantile estimates by means of quadratic interpolation. + + @param quantile_probability The probability of the quantile to be estimated. + */ + template // Impl1: weighted/unweighted // Impl2: linear/quadratic + struct extended_p_square_quantile_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector array_type; + typedef iterator_range< + detail::lvalue_index_iterator< + permutation_iterator< + typename array_type::const_iterator + , detail::times2_iterator + > + > + > range_type; + // for boost::result_of + typedef float_type result_type; + + template + extended_p_square_quantile_impl(Args const &args) + : probabilities( + boost::begin(args[extended_p_square_probabilities]) + , boost::end(args[extended_p_square_probabilities]) + ) + { + } + + template + result_type result(Args const &args) const + { + typedef + typename mpl::if_< + is_same + , tag::weighted_extended_p_square + , tag::extended_p_square + >::type + extended_p_square_tag; + + extractor const some_extended_p_square = {}; + + array_type heights(some_extended_p_square(args).size()); + std::copy(some_extended_p_square(args).begin(), some_extended_p_square(args).end(), heights.begin()); + + this->probability = args[quantile_probability]; + + typename array_type::const_iterator iter_probs = std::lower_bound(this->probabilities.begin(), this->probabilities.end(), this->probability); + std::size_t dist = std::distance(this->probabilities.begin(), iter_probs); + typename array_type::const_iterator iter_heights = heights.begin() + dist; + + // If this->probability is not in a valid range return NaN or throw exception + if (this->probability < *this->probabilities.begin() || this->probability > *(this->probabilities.end() - 1)) + { + if (std::numeric_limits::has_quiet_NaN) + { + return std::numeric_limits::quiet_NaN(); + } + else + { + std::ostringstream msg; + msg << "probability = " << this->probability << " is not in valid range ("; + msg << *this->probabilities.begin() << ", " << *(this->probabilities.end() - 1) << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + return Sample(0); + } + + } + + if (*iter_probs == this->probability) + { + return heights[dist]; + } + else + { + result_type res; + + if (is_same::value) + { + ///////////////////////////////////////////////////////////////////////////////// + // LINEAR INTERPOLATION + // + float_type p1 = *iter_probs; + float_type p0 = *(iter_probs - 1); + float_type h1 = *iter_heights; + float_type h0 = *(iter_heights - 1); + + float_type a = numeric::fdiv(h1 - h0, p1 - p0); + float_type b = h1 - p1 * a; + + res = a * this->probability + b; + } + else + { + ///////////////////////////////////////////////////////////////////////////////// + // QUADRATIC INTERPOLATION + // + float_type p0, p1, p2; + float_type h0, h1, h2; + + if ( (dist == 1 || *iter_probs - this->probability <= this->probability - *(iter_probs - 1) ) && dist != this->probabilities.size() - 1 ) + { + p0 = *(iter_probs - 1); + p1 = *iter_probs; + p2 = *(iter_probs + 1); + h0 = *(iter_heights - 1); + h1 = *iter_heights; + h2 = *(iter_heights + 1); + } + else + { + p0 = *(iter_probs - 2); + p1 = *(iter_probs - 1); + p2 = *iter_probs; + h0 = *(iter_heights - 2); + h1 = *(iter_heights - 1); + h2 = *iter_heights; + } + + float_type hp21 = numeric::fdiv(h2 - h1, p2 - p1); + float_type hp10 = numeric::fdiv(h1 - h0, p1 - p0); + float_type p21 = numeric::fdiv(p2 * p2 - p1 * p1, p2 - p1); + float_type p10 = numeric::fdiv(p1 * p1 - p0 * p0, p1 - p0); + + float_type a = numeric::fdiv(hp21 - hp10, p21 - p10); + float_type b = hp21 - a * p21; + float_type c = h2 - a * p2 * p2 - b * p2; + + res = a * this->probability * this-> probability + b * this->probability + c; + } + + return res; + } + + } + private: + + array_type probabilities; + mutable float_type probability; + + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::extended_p_square_quantile +// +namespace tag +{ + struct extended_p_square_quantile + : depends_on + { + typedef accumulators::impl::extended_p_square_quantile_impl impl; + }; + struct extended_p_square_quantile_quadratic + : depends_on + { + typedef accumulators::impl::extended_p_square_quantile_impl impl; + }; + struct weighted_extended_p_square_quantile + : depends_on + { + typedef accumulators::impl::extended_p_square_quantile_impl impl; + }; + struct weighted_extended_p_square_quantile_quadratic + : depends_on + { + typedef accumulators::impl::extended_p_square_quantile_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::extended_p_square_quantile +// extract::weighted_extended_p_square_quantile +// +namespace extract +{ + extractor const extended_p_square_quantile = {}; + extractor const extended_p_square_quantile_quadratic = {}; + extractor const weighted_extended_p_square_quantile = {}; + extractor const weighted_extended_p_square_quantile_quadratic = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square_quantile) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square_quantile_quadratic) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_extended_p_square_quantile) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_extended_p_square_quantile_quadratic) +} + +using extract::extended_p_square_quantile; +using extract::extended_p_square_quantile_quadratic; +using extract::weighted_extended_p_square_quantile; +using extract::weighted_extended_p_square_quantile_quadratic; + +// extended_p_square_quantile(linear) -> extended_p_square_quantile +template<> +struct as_feature +{ + typedef tag::extended_p_square_quantile type; +}; + +// extended_p_square_quantile(quadratic) -> extended_p_square_quantile_quadratic +template<> +struct as_feature +{ + typedef tag::extended_p_square_quantile_quadratic type; +}; + +// weighted_extended_p_square_quantile(linear) -> weighted_extended_p_square_quantile +template<> +struct as_feature +{ + typedef tag::weighted_extended_p_square_quantile type; +}; + +// weighted_extended_p_square_quantile(quadratic) -> weighted_extended_p_square_quantile_quadratic +template<> +struct as_feature +{ + typedef tag::weighted_extended_p_square_quantile_quadratic type; +}; + +// for the purposes of feature-based dependency resolution, +// extended_p_square_quantile and weighted_extended_p_square_quantile +// provide the same feature as quantile +template<> +struct feature_of + : feature_of +{ +}; +template<> +struct feature_of + : feature_of +{ +}; +// So that extended_p_square_quantile can be automatically substituted with +// weighted_extended_p_square_quantile when the weight parameter is non-void +template<> +struct as_weighted_feature +{ + typedef tag::weighted_extended_p_square_quantile type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +// So that extended_p_square_quantile_quadratic can be automatically substituted with +// weighted_extended_p_square_quantile_quadratic when the weight parameter is non-void +template<> +struct as_weighted_feature +{ + typedef tag::weighted_extended_p_square_quantile_quadratic type; +}; +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/kurtosis.hpp b/external/boost/accumulators/statistics/kurtosis.hpp new file mode 100644 index 000000000..76c93d385 --- /dev/null +++ b/external/boost/accumulators/statistics/kurtosis.hpp @@ -0,0 +1,112 @@ +/////////////////////////////////////////////////////////////////////////////// +// kurtosis.hpp +// +// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_KURTOSIS_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_KURTOSIS_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // kurtosis_impl + /** + @brief Kurtosis estimation + + The kurtosis of a sample distribution is defined as the ratio of the 4th central moment and the square of the 2nd central + moment (the variance) of the samples, minus 3. The term \f$ -3 \f$ is added in order to ensure that the normal distribution + has zero kurtosis. The kurtosis can also be expressed by the simple moments: + + \f[ + \hat{g}_2 = + \frac + {\widehat{m}_n^{(4)}-4\widehat{m}_n^{(3)}\hat{\mu}_n+6\widehat{m}_n^{(2)}\hat{\mu}_n^2-3\hat{\mu}_n^4} + {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^2} - 3, + \f] + + where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the + \f$ n \f$ samples. + */ + template + struct kurtosis_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + kurtosis_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + return numeric::fdiv( + accumulators::moment<4>(args) + - 4. * accumulators::moment<3>(args) * mean(args) + + 6. * accumulators::moment<2>(args) * mean(args) * mean(args) + - 3. * mean(args) * mean(args) * mean(args) * mean(args) + , ( accumulators::moment<2>(args) - mean(args) * mean(args) ) + * ( accumulators::moment<2>(args) - mean(args) * mean(args) ) + ) - 3.; + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::kurtosis +// +namespace tag +{ + struct kurtosis + : depends_on, moment<3>, moment<4> > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::kurtosis_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::kurtosis +// +namespace extract +{ + extractor const kurtosis = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(kurtosis) +} + +using extract::kurtosis; + +// So that kurtosis can be automatically substituted with +// weighted_kurtosis when the weight parameter is non-void +template<> +struct as_weighted_feature +{ + typedef tag::weighted_kurtosis type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/max.hpp b/external/boost/accumulators/statistics/max.hpp new file mode 100644 index 000000000..820f6593f --- /dev/null +++ b/external/boost/accumulators/statistics/max.hpp @@ -0,0 +1,85 @@ +/////////////////////////////////////////////////////////////////////////////// +// max.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_MAX_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_MAX_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // max_impl + template + struct max_impl + : accumulator_base + { + // for boost::result_of + typedef Sample result_type; + + template + max_impl(Args const &args) + : max_(numeric::as_min(args[sample | Sample()])) + { + } + + template + void operator ()(Args const &args) + { + numeric::max_assign(this->max_, args[sample]); + } + + result_type result(dont_care) const + { + return this->max_; + } + + private: + Sample max_; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::max +// +namespace tag +{ + struct max + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::max_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::max +// +namespace extract +{ + extractor const max = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(max) +} + +using extract::max; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/mean.hpp b/external/boost/accumulators/statistics/mean.hpp new file mode 100644 index 000000000..478883718 --- /dev/null +++ b/external/boost/accumulators/statistics/mean.hpp @@ -0,0 +1,298 @@ +/////////////////////////////////////////////////////////////////////////////// +// mean.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_MEAN_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_MEAN_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // mean_impl + // lazy, by default + template + struct mean_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + mean_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + extractor sum; + return numeric::fdiv(sum(args), count(args)); + } + }; + + template + struct immediate_mean_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + immediate_mean_impl(Args const &args) + : mean(numeric::fdiv(args[sample | Sample()], numeric::one::value)) + { + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + this->mean = numeric::fdiv( + (this->mean * (cnt - 1)) + args[parameter::keyword::get()] + , cnt + ); + } + + result_type result(dont_care) const + { + return this->mean; + } + + private: + result_type mean; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::mean +// tag::immediate_mean +// tag::mean_of_weights +// tag::immediate_mean_of_weights +// tag::mean_of_variates +// tag::immediate_mean_of_variates +// +namespace tag +{ + struct mean + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::mean_impl impl; + }; + struct immediate_mean + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::immediate_mean_impl impl; + }; + struct mean_of_weights + : depends_on + { + typedef mpl::true_ is_weight_accumulator; + /// INTERNAL ONLY + /// + typedef accumulators::impl::mean_impl impl; + }; + struct immediate_mean_of_weights + : depends_on + { + typedef mpl::true_ is_weight_accumulator; + /// INTERNAL ONLY + /// + typedef accumulators::impl::immediate_mean_impl impl; + }; + template + struct mean_of_variates + : depends_on > + { + /// INTERNAL ONLY + /// + typedef mpl::always > > impl; + }; + template + struct immediate_mean_of_variates + : depends_on + { + /// INTERNAL ONLY + /// + typedef mpl::always > impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::mean +// extract::mean_of_weights +// extract::mean_of_variates +// +namespace extract +{ + extractor const mean = {}; + extractor const mean_of_weights = {}; + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, mean_of_variates, (typename)(typename)) + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(mean) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(mean_of_weights) +} + +using extract::mean; +using extract::mean_of_weights; +using extract::mean_of_variates; + +// mean(lazy) -> mean +template<> +struct as_feature +{ + typedef tag::mean type; +}; + +// mean(immediate) -> immediate_mean +template<> +struct as_feature +{ + typedef tag::immediate_mean type; +}; + +// mean_of_weights(lazy) -> mean_of_weights +template<> +struct as_feature +{ + typedef tag::mean_of_weights type; +}; + +// mean_of_weights(immediate) -> immediate_mean_of_weights +template<> +struct as_feature +{ + typedef tag::immediate_mean_of_weights type; +}; + +// mean_of_variates(lazy) -> mean_of_variates +template +struct as_feature(lazy)> +{ + typedef tag::mean_of_variates type; +}; + +// mean_of_variates(immediate) -> immediate_mean_of_variates +template +struct as_feature(immediate)> +{ + typedef tag::immediate_mean_of_variates type; +}; + +// for the purposes of feature-based dependency resolution, +// immediate_mean provides the same feature as mean +template<> +struct feature_of + : feature_of +{ +}; + +// for the purposes of feature-based dependency resolution, +// immediate_mean provides the same feature as mean +template<> +struct feature_of + : feature_of +{ +}; + +// for the purposes of feature-based dependency resolution, +// immediate_mean provides the same feature as mean +template +struct feature_of > + : feature_of > +{ +}; + +// So that mean can be automatically substituted with +// weighted_mean when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::weighted_mean type; +}; + +template<> +struct feature_of + : feature_of +{}; + +// So that immediate_mean can be automatically substituted with +// immediate_weighted_mean when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::immediate_weighted_mean type; +}; + +template<> +struct feature_of + : feature_of +{}; + +// So that mean_of_weights<> can be automatically substituted with +// weighted_mean_of_variates<> when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_mean_of_variates type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +// So that immediate_mean_of_weights<> can be automatically substituted with +// immediate_weighted_mean_of_variates<> when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::immediate_weighted_mean_of_variates type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +//////////////////////////////////////////////////////////////////////////// +//// droppable_accumulator +//// need to specialize droppable lazy mean to cache the result at the +//// point the accumulator is dropped. +///// INTERNAL ONLY +///// +//template +//struct droppable_accumulator > +// : droppable_accumulator_base< +// with_cached_result > +// > +//{ +// template +// droppable_accumulator(Args const &args) +// : droppable_accumulator::base(args) +// { +// } +//}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/median.hpp b/external/boost/accumulators/statistics/median.hpp new file mode 100644 index 000000000..d361c6dda --- /dev/null +++ b/external/boost/accumulators/statistics/median.hpp @@ -0,0 +1,301 @@ +/////////////////////////////////////////////////////////////////////////////// +// median.hpp +// +// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_MEDIAN_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_MEDIAN_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // median_impl + // + /** + @brief Median estimation based on the \f$P^2\f$ quantile estimator + + The \f$P^2\f$ algorithm is invoked with a quantile probability of 0.5. + */ + template + struct median_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + median_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + return p_square_quantile_for_median(args); + } + }; + /////////////////////////////////////////////////////////////////////////////// + // with_density_median_impl + // + /** + @brief Median estimation based on the density estimator + + The algorithm determines the bin in which the \f$0.5*cnt\f$-th sample lies, \f$cnt\f$ being + the total number of samples. It returns the approximate horizontal position of this sample, + based on a linear interpolation inside the bin. + */ + template + struct with_density_median_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector > histogram_type; + typedef iterator_range range_type; + // for boost::result_of + typedef float_type result_type; + + template + with_density_median_impl(Args const &args) + : sum(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , is_dirty(true) + { + } + + void operator ()(dont_care) + { + this->is_dirty = true; + } + + + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + std::size_t cnt = count(args); + range_type histogram = density(args); + typename range_type::iterator it = histogram.begin(); + while (this->sum < 0.5 * cnt) + { + this->sum += it->second * cnt; + ++it; + } + --it; + float_type over = numeric::fdiv(this->sum - 0.5 * cnt, it->second * cnt); + this->median = it->first * over + (it + 1)->first * (1. - over); + } + + return this->median; + } + + private: + mutable float_type sum; + mutable bool is_dirty; + mutable float_type median; + }; + + /////////////////////////////////////////////////////////////////////////////// + // with_p_square_cumulative_distribution_median_impl + // + /** + @brief Median estimation based on the \f$P^2\f$ cumulative distribution estimator + + The algorithm determines the first (leftmost) bin with a height exceeding 0.5. It + returns the approximate horizontal position of where the cumulative distribution + equals 0.5, based on a linear interpolation inside the bin. + */ + template + struct with_p_square_cumulative_distribution_median_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector > histogram_type; + typedef iterator_range range_type; + // for boost::result_of + typedef float_type result_type; + + with_p_square_cumulative_distribution_median_impl(dont_care) + : is_dirty(true) + { + } + + void operator ()(dont_care) + { + this->is_dirty = true; + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + range_type histogram = p_square_cumulative_distribution(args); + typename range_type::iterator it = histogram.begin(); + while (it->second < 0.5) + { + ++it; + } + float_type over = numeric::fdiv(it->second - 0.5, it->second - (it - 1)->second); + this->median = it->first * over + (it + 1)->first * ( 1. - over ); + } + + return this->median; + } + private: + + mutable bool is_dirty; + mutable float_type median; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::median +// tag::with_densisty_median +// tag::with_p_square_cumulative_distribution_median +// +namespace tag +{ + struct median + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::median_impl impl; + }; + struct with_density_median + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::with_density_median_impl impl; + }; + struct with_p_square_cumulative_distribution_median + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::with_p_square_cumulative_distribution_median_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::median +// extract::with_density_median +// extract::with_p_square_cumulative_distribution_median +// +namespace extract +{ + extractor const median = {}; + extractor const with_density_median = {}; + extractor const with_p_square_cumulative_distribution_median = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(median) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(with_density_median) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(with_p_square_cumulative_distribution_median) +} + +using extract::median; +using extract::with_density_median; +using extract::with_p_square_cumulative_distribution_median; + +// median(with_p_square_quantile) -> median +template<> +struct as_feature +{ + typedef tag::median type; +}; + +// median(with_density) -> with_density_median +template<> +struct as_feature +{ + typedef tag::with_density_median type; +}; + +// median(with_p_square_cumulative_distribution) -> with_p_square_cumulative_distribution_median +template<> +struct as_feature +{ + typedef tag::with_p_square_cumulative_distribution_median type; +}; + +// for the purposes of feature-based dependency resolution, +// with_density_median and with_p_square_cumulative_distribution_median +// provide the same feature as median +template<> +struct feature_of + : feature_of +{ +}; + +template<> +struct feature_of + : feature_of +{ +}; + +// So that median can be automatically substituted with +// weighted_median when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::weighted_median type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +// So that with_density_median can be automatically substituted with +// with_density_weighted_median when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::with_density_weighted_median type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +// So that with_p_square_cumulative_distribution_median can be automatically substituted with +// with_p_square_cumulative_distribution_weighted_median when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::with_p_square_cumulative_distribution_weighted_median type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/min.hpp b/external/boost/accumulators/statistics/min.hpp new file mode 100644 index 000000000..83943bdb3 --- /dev/null +++ b/external/boost/accumulators/statistics/min.hpp @@ -0,0 +1,85 @@ +/////////////////////////////////////////////////////////////////////////////// +// min.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_MIN_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_MIN_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // min_impl + template + struct min_impl + : accumulator_base + { + // for boost::result_of + typedef Sample result_type; + + template + min_impl(Args const &args) + : min_(numeric::as_max(args[sample | Sample()])) + { + } + + template + void operator ()(Args const &args) + { + numeric::min_assign(this->min_, args[sample]); + } + + result_type result(dont_care) const + { + return this->min_; + } + + private: + Sample min_; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::min +// +namespace tag +{ + struct min + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::min_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::min +// +namespace extract +{ + extractor const min = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(min) +} + +using extract::min; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/moment.hpp b/external/boost/accumulators/statistics/moment.hpp new file mode 100644 index 000000000..3dabd47ec --- /dev/null +++ b/external/boost/accumulators/statistics/moment.hpp @@ -0,0 +1,125 @@ +/////////////////////////////////////////////////////////////////////////////// +// moment.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_MOMENT_HPP_EAN_15_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_MOMENT_HPP_EAN_15_11_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace numeric +{ + /// INTERNAL ONLY + /// + template + T const &pow(T const &x, mpl::int_<1>) + { + return x; + } + + /// INTERNAL ONLY + /// + template + T pow(T const &x, mpl::int_) + { + using namespace operators; + T y = numeric::pow(x, mpl::int_()); + T z = y * y; + return (N % 2) ? (z * x) : z; + } +}} + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // moment_impl + template + struct moment_impl + : accumulator_base // TODO: also depends_on sum of powers + { + BOOST_MPL_ASSERT_RELATION(N::value, >, 0); + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + moment_impl(Args const &args) + : sum(args[sample | Sample()]) + { + } + + template + void operator ()(Args const &args) + { + this->sum += numeric::pow(args[sample], N()); + } + + template + result_type result(Args const &args) const + { + return numeric::fdiv(this->sum, count(args)); + } + + private: + Sample sum; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::moment +// +namespace tag +{ + template + struct moment + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::moment_impl, mpl::_1> impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::moment +// +namespace extract +{ + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, moment, (int)) +} + +using extract::moment; + +// So that moment can be automatically substituted with +// weighted_moment when the weight parameter is non-void +template +struct as_weighted_feature > +{ + typedef tag::weighted_moment type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/p_square_cumul_dist.hpp b/external/boost/accumulators/statistics/p_square_cumul_dist.hpp new file mode 100644 index 000000000..50692838c --- /dev/null +++ b/external/boost/accumulators/statistics/p_square_cumul_dist.hpp @@ -0,0 +1,263 @@ +/////////////////////////////////////////////////////////////////////////////// +// p_square_cumulative_distribution.hpp +// +// Copyright 2005 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ +/////////////////////////////////////////////////////////////////////////////// +// num_cells named parameter +// +BOOST_PARAMETER_NESTED_KEYWORD(tag, p_square_cumulative_distribution_num_cells, num_cells) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_cumulative_distribution_num_cells) + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // p_square_cumulative_distribution_impl + // cumulative_distribution calculation (as histogram) + /** + @brief Histogram calculation of the cumulative distribution with the \f$P^2\f$ algorithm + + A histogram of the sample cumulative distribution is computed dynamically without storing samples + based on the \f$ P^2 \f$ algorithm. The returned histogram has a specifiable amount (num_cells) + equiprobable (and not equal-sized) cells. + + For further details, see + + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and + histograms without storing observations, Communications of the ACM, + Volume 28 (October), Number 10, 1985, p. 1076-1085. + + @param p_square_cumulative_distribution_num_cells. + */ + template + struct p_square_cumulative_distribution_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector array_type; + typedef std::vector > histogram_type; + // for boost::result_of + typedef iterator_range result_type; + + template + p_square_cumulative_distribution_impl(Args const &args) + : num_cells(args[p_square_cumulative_distribution_num_cells]) + , heights(num_cells + 1) + , actual_positions(num_cells + 1) + , desired_positions(num_cells + 1) + , positions_increments(num_cells + 1) + , histogram(num_cells + 1) + , is_dirty(true) + { + std::size_t b = this->num_cells; + + for (std::size_t i = 0; i < b + 1; ++i) + { + this->actual_positions[i] = i + 1.; + this->desired_positions[i] = i + 1.; + this->positions_increments[i] = numeric::fdiv(i, b); + } + } + + template + void operator ()(Args const &args) + { + this->is_dirty = true; + + std::size_t cnt = count(args); + std::size_t sample_cell = 1; // k + std::size_t b = this->num_cells; + + // accumulate num_cells + 1 first samples + if (cnt <= b + 1) + { + this->heights[cnt - 1] = args[sample]; + + // complete the initialization of heights by sorting + if (cnt == b + 1) + { + std::sort(this->heights.begin(), this->heights.end()); + } + } + else + { + // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values + if (args[sample] < this->heights[0]) + { + this->heights[0] = args[sample]; + sample_cell = 1; + } + else if (this->heights[b] <= args[sample]) + { + this->heights[b] = args[sample]; + sample_cell = b; + } + else + { + typename array_type::iterator it; + it = std::upper_bound( + this->heights.begin() + , this->heights.end() + , args[sample] + ); + + sample_cell = std::distance(this->heights.begin(), it); + } + + // increment positions of markers above sample_cell + for (std::size_t i = sample_cell; i < b + 1; ++i) + { + ++this->actual_positions[i]; + } + + // update desired position of markers 2 to num_cells + 1 + // (desired position of first marker is always 1) + for (std::size_t i = 1; i < b + 1; ++i) + { + this->desired_positions[i] += this->positions_increments[i]; + } + + // adjust heights of markers 2 to num_cells if necessary + for (std::size_t i = 1; i < b; ++i) + { + // offset to desire position + float_type d = this->desired_positions[i] - this->actual_positions[i]; + + // offset to next position + float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; + + // offset to previous position + float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; + + // height ds + float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; + float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; + + if ( ( d >= 1. && dp > 1. ) || ( d <= -1. && dm < -1. ) ) + { + short sign_d = static_cast(d / std::abs(d)); + + // try adjusting heights[i] using p-squared formula + float_type h = this->heights[i] + sign_d / (dp - dm) * ( (sign_d - dm) * hp + (dp - sign_d) * hm ); + + if ( this->heights[i - 1] < h && h < this->heights[i + 1] ) + { + this->heights[i] = h; + } + else + { + // use linear formula + if (d>0) + { + this->heights[i] += hp; + } + if (d<0) + { + this->heights[i] -= hm; + } + } + this->actual_positions[i] += sign_d; + } + } + } + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + // creates a vector of std::pair where each pair i holds + // the values heights[i] (x-axis of histogram) and + // actual_positions[i] / cnt (y-axis of histogram) + + std::size_t cnt = count(args); + + for (std::size_t i = 0; i < this->histogram.size(); ++i) + { + this->histogram[i] = std::make_pair(this->heights[i], numeric::fdiv(this->actual_positions[i], cnt)); + } + } + //return histogram; + return make_iterator_range(this->histogram); + } + + private: + std::size_t num_cells; // number of cells b + array_type heights; // q_i + array_type actual_positions; // n_i + array_type desired_positions; // n'_i + array_type positions_increments; // dn'_i + mutable histogram_type histogram; // histogram + mutable bool is_dirty; + }; + +} // namespace detail + +/////////////////////////////////////////////////////////////////////////////// +// tag::p_square_cumulative_distribution +// +namespace tag +{ + struct p_square_cumulative_distribution + : depends_on + , p_square_cumulative_distribution_num_cells + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::p_square_cumulative_distribution_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::p_square_cumulative_distribution +// +namespace extract +{ + extractor const p_square_cumulative_distribution = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_cumulative_distribution) +} + +using extract::p_square_cumulative_distribution; + +// So that p_square_cumulative_distribution can be automatically substituted with +// weighted_p_square_cumulative_distribution when the weight parameter is non-void +template<> +struct as_weighted_feature +{ + typedef tag::weighted_p_square_cumulative_distribution type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp b/external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp new file mode 100644 index 000000000..5e08b5129 --- /dev/null +++ b/external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////// +// p_square_cumulative_distribution.hpp +// +// Copyright 2012 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 +#define BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 + +#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) +# pragma message ("Warning: This header is deprecated. Please use: boost/accumulators/statistics/p_square_cumul_dist.hpp") +#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +# warning "This header is deprecated. Please use: boost/accumulators/statistics/p_square_cumul_dist.hpp" +#endif + +#include + +#endif diff --git a/external/boost/accumulators/statistics/p_square_quantile.hpp b/external/boost/accumulators/statistics/p_square_quantile.hpp new file mode 100644 index 000000000..636fea7f2 --- /dev/null +++ b/external/boost/accumulators/statistics/p_square_quantile.hpp @@ -0,0 +1,257 @@ +/////////////////////////////////////////////////////////////////////////////// +// p_square_quantile.hpp +// +// Copyright 2005 Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // p_square_quantile_impl + // single quantile estimation + /** + @brief Single quantile estimation with the \f$P^2\f$ algorithm + + The \f$P^2\f$ algorithm estimates a quantile dynamically without storing samples. Instead of + storing the whole sample cumulative distribution, only five points (markers) are stored. The heights + of these markers are the minimum and the maximum of the samples and the current estimates of the + \f$(p/2)\f$-, \f$p\f$- and \f$(1+p)/2\f$-quantiles. Their positions are equal to the number + of samples that are smaller or equal to the markers. Each time a new samples is recorded, the + positions of the markers are updated and if necessary their heights are adjusted using a piecewise- + parabolic formula. + + For further details, see + + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and + histograms without storing observations, Communications of the ACM, + Volume 28 (October), Number 10, 1985, p. 1076-1085. + + @param quantile_probability + */ + template + struct p_square_quantile_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef array array_type; + // for boost::result_of + typedef float_type result_type; + + template + p_square_quantile_impl(Args const &args) + : p(is_same::value ? 0.5 : args[quantile_probability | 0.5]) + , heights() + , actual_positions() + , desired_positions() + , positions_increments() + { + for(std::size_t i = 0; i < 5; ++i) + { + this->actual_positions[i] = i + 1.; + } + + this->desired_positions[0] = 1.; + this->desired_positions[1] = 1. + 2. * this->p; + this->desired_positions[2] = 1. + 4. * this->p; + this->desired_positions[3] = 3. + 2. * this->p; + this->desired_positions[4] = 5.; + + this->positions_increments[0] = 0.; + this->positions_increments[1] = this->p / 2.; + this->positions_increments[2] = this->p; + this->positions_increments[3] = (1. + this->p) / 2.; + this->positions_increments[4] = 1.; + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + + // accumulate 5 first samples + if(cnt <= 5) + { + this->heights[cnt - 1] = args[sample]; + + // complete the initialization of heights by sorting + if(cnt == 5) + { + std::sort(this->heights.begin(), this->heights.end()); + } + } + else + { + std::size_t sample_cell = 1; // k + + // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values + if (args[sample] < this->heights[0]) + { + this->heights[0] = args[sample]; + sample_cell = 1; + } + else if (this->heights[4] <= args[sample]) + { + this->heights[4] = args[sample]; + sample_cell = 4; + } + else + { + typedef typename array_type::iterator iterator; + iterator it = std::upper_bound( + this->heights.begin() + , this->heights.end() + , args[sample] + ); + + sample_cell = std::distance(this->heights.begin(), it); + } + + // update positions of markers above sample_cell + for(std::size_t i = sample_cell; i < 5; ++i) + { + ++this->actual_positions[i]; + } + + // update desired positions of all markers + for(std::size_t i = 0; i < 5; ++i) + { + this->desired_positions[i] += this->positions_increments[i]; + } + + // adjust heights and actual positions of markers 1 to 3 if necessary + for(std::size_t i = 1; i <= 3; ++i) + { + // offset to desired positions + float_type d = this->desired_positions[i] - this->actual_positions[i]; + + // offset to next position + float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; + + // offset to previous position + float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; + + // height ds + float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; + float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; + + if((d >= 1. && dp > 1.) || (d <= -1. && dm < -1.)) + { + short sign_d = static_cast(d / std::abs(d)); + + // try adjusting heights[i] using p-squared formula + float_type h = this->heights[i] + sign_d / (dp - dm) * ((sign_d - dm) * hp + + (dp - sign_d) * hm); + + if(this->heights[i - 1] < h && h < this->heights[i + 1]) + { + this->heights[i] = h; + } + else + { + // use linear formula + if(d > 0) + { + this->heights[i] += hp; + } + if(d < 0) + { + this->heights[i] -= hm; + } + } + this->actual_positions[i] += sign_d; + } + } + } + } + + result_type result(dont_care) const + { + return this->heights[2]; + } + + private: + float_type p; // the quantile probability p + array_type heights; // q_i + array_type actual_positions; // n_i + array_type desired_positions; // n'_i + array_type positions_increments; // dn'_i + }; + +} // namespace detail + +/////////////////////////////////////////////////////////////////////////////// +// tag::p_square_quantile +// +namespace tag +{ + struct p_square_quantile + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::p_square_quantile_impl impl; + }; + struct p_square_quantile_for_median + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::p_square_quantile_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::p_square_quantile +// extract::p_square_quantile_for_median +// +namespace extract +{ + extractor const p_square_quantile = {}; + extractor const p_square_quantile_for_median = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_quantile) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_quantile_for_median) +} + +using extract::p_square_quantile; +using extract::p_square_quantile_for_median; + +// So that p_square_quantile can be automatically substituted with +// weighted_p_square_quantile when the weight parameter is non-void +template<> +struct as_weighted_feature +{ + typedef tag::weighted_p_square_quantile type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/parameters/quantile_probability.hpp b/external/boost/accumulators/statistics/parameters/quantile_probability.hpp new file mode 100644 index 000000000..e8792642e --- /dev/null +++ b/external/boost/accumulators/statistics/parameters/quantile_probability.hpp @@ -0,0 +1,23 @@ +/////////////////////////////////////////////////////////////////////////////// +// quantile_probability.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_PARAMETERS_QUANTILE_PROBABILITY_HPP_EAN_03_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_PARAMETERS_QUANTILE_PROBABILITY_HPP_EAN_03_11_2005 + +#include +#include + +namespace boost { namespace accumulators +{ + +BOOST_PARAMETER_KEYWORD(tag, quantile_probability) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(quantile_probability) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/peaks_over_threshold.hpp b/external/boost/accumulators/statistics/peaks_over_threshold.hpp new file mode 100644 index 000000000..f04f743a0 --- /dev/null +++ b/external/boost/accumulators/statistics/peaks_over_threshold.hpp @@ -0,0 +1,405 @@ +/////////////////////////////////////////////////////////////////////////////// +// peaks_over_threshold.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include // pow +#include // stringstream +#include // runtime_error +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +/////////////////////////////////////////////////////////////////////////////// +// threshold_probability and threshold named parameters +// +BOOST_PARAMETER_NESTED_KEYWORD(tag, pot_threshold_value, threshold_value) +BOOST_PARAMETER_NESTED_KEYWORD(tag, pot_threshold_probability, threshold_probability) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(pot_threshold_value) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(pot_threshold_probability) + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // peaks_over_threshold_impl + // works with an explicit threshold value and does not depend on order statistics + /** + @brief Peaks over Threshold Method for Quantile and Tail Mean Estimation + + According to the theorem of Pickands-Balkema-de Haan, the distribution function \f$F_u(x)\f$ of + the excesses \f$x\f$ over some sufficiently high threshold \f$u\f$ of a distribution function \f$F(x)\f$ + may be approximated by a generalized Pareto distribution + \f[ + G_{\xi,\beta}(x) = + \left\{ + \begin{array}{ll} + \beta^{-1}\left(1+\frac{\xi x}{\beta}\right)^{-1/\xi-1} & \textrm{if }\xi\neq0\\ + \beta^{-1}\exp\left(-\frac{x}{\beta}\right) & \textrm{if }\xi=0, + \end{array} + \right. + \f] + with suitable parameters \f$\xi\f$ and \f$\beta\f$ that can be estimated, e.g., with the method of moments, cf. + Hosking and Wallis (1987), + \f[ + \begin{array}{lll} + \hat{\xi} & = & \frac{1}{2}\left[1-\frac{(\hat{\mu}-u)^2}{\hat{\sigma}^2}\right]\\ + \hat{\beta} & = & \frac{\hat{\mu}-u}{2}\left[\frac{(\hat{\mu}-u)^2}{\hat{\sigma}^2}+1\right], + \end{array} + \f] + \f$\hat{\mu}\f$ and \f$\hat{\sigma}^2\f$ being the empirical mean and variance of the samples over + the threshold \f$u\f$. Equivalently, the distribution function + \f$F_u(x-u)\f$ of the exceedances \f$x-u\f$ can be approximated by + \f$G_{\xi,\beta}(x-u)=G_{\xi,\beta,u}(x)\f$. Since for \f$x\geq u\f$ the distribution function \f$F(x)\f$ + can be written as + \f[ + F(x) = [1 - \P(X \leq u)]F_u(x - u) + \P(X \leq u) + \f] + and the probability \f$\P(X \leq u)\f$ can be approximated by the empirical distribution function + \f$F_n(u)\f$ evaluated at \f$u\f$, an estimator of \f$F(x)\f$ is given by + \f[ + \widehat{F}(x) = [1 - F_n(u)]G_{\xi,\beta,u}(x) + F_n(u). + \f] + It can be shown that \f$\widehat{F}(x)\f$ is a generalized + Pareto distribution \f$G_{\xi,\bar{\beta},\bar{u}}(x)\f$ with \f$\bar{\beta}=\beta[1-F_n(u)]^{\xi}\f$ + and \f$\bar{u}=u-\bar{\beta}\left\{[1-F_n(u)]^{-\xi}-1\right\}/\xi\f$. By inverting \f$\widehat{F}(x)\f$, + one obtains an estimator for the \f$\alpha\f$-quantile, + \f[ + \hat{q}_{\alpha} = \bar{u} + \frac{\bar{\beta}}{\xi}\left[(1-\alpha)^{-\xi}-1\right], + \f] + and similarly an estimator for the (coherent) tail mean, + \f[ + \widehat{CTM}_{\alpha} = \hat{q}_{\alpha} - \frac{\bar{\beta}}{\xi-1}(1-\alpha)^{-\xi}, + \f] + cf. McNeil and Frey (2000). + + Note that in case extreme values of the left tail are fitted, the distribution is mirrored with respect to the + \f$y\f$ axis such that the left tail can be treated as a right tail. The computed fit parameters thus define + the Pareto distribution that fits the mirrored left tail. When quantities like a quantile or a tail mean are + computed using the fit parameters obtained from the mirrored data, the result is mirrored back, yielding the + correct result. + + For further details, see + + J. R. M. Hosking and J. R. Wallis, Parameter and quantile estimation for the generalized Pareto distribution, + Technometrics, Volume 29, 1987, p. 339-349 + + A. J. McNeil and R. Frey, Estimation of Tail-Related Risk Measures for Heteroscedastic Financial Time Series: + an Extreme Value Approach, Journal of Empirical Finance, Volume 7, 2000, p. 271-300 + + @param quantile_probability + @param pot_threshold_value + */ + template + struct peaks_over_threshold_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef boost::tuple result_type; + // for left tail fitting, mirror the extreme values + typedef mpl::int_::value ? -1 : 1> sign; + + template + peaks_over_threshold_impl(Args const &args) + : Nu_(0) + , mu_(sign::value * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , threshold_(sign::value * args[pot_threshold_value]) + , fit_parameters_(boost::make_tuple(0., 0., 0.)) + , is_dirty_(true) + { + } + + template + void operator ()(Args const &args) + { + this->is_dirty_ = true; + + if (sign::value * args[sample] > this->threshold_) + { + this->mu_ += args[sample]; + this->sigma2_ += args[sample] * args[sample]; + ++this->Nu_; + } + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty_) + { + this->is_dirty_ = false; + + std::size_t cnt = count(args); + + this->mu_ = sign::value * numeric::fdiv(this->mu_, this->Nu_); + this->sigma2_ = numeric::fdiv(this->sigma2_, this->Nu_); + this->sigma2_ -= this->mu_ * this->mu_; + + float_type threshold_probability = numeric::fdiv(cnt - this->Nu_, cnt); + + float_type tmp = numeric::fdiv(( this->mu_ - this->threshold_ )*( this->mu_ - this->threshold_ ), this->sigma2_); + float_type xi_hat = 0.5 * ( 1. - tmp ); + float_type beta_hat = 0.5 * ( this->mu_ - this->threshold_ ) * ( 1. + tmp ); + float_type beta_bar = beta_hat * std::pow(1. - threshold_probability, xi_hat); + float_type u_bar = this->threshold_ - beta_bar * ( std::pow(1. - threshold_probability, -xi_hat) - 1.)/xi_hat; + this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); + } + + return this->fit_parameters_; + } + + private: + std::size_t Nu_; // number of samples larger than threshold + mutable float_type mu_; // mean of Nu_ largest samples + mutable float_type sigma2_; // variance of Nu_ largest samples + float_type threshold_; + mutable result_type fit_parameters_; // boost::tuple that stores fit parameters + mutable bool is_dirty_; + }; + + /////////////////////////////////////////////////////////////////////////////// + // peaks_over_threshold_prob_impl + // determines threshold from a given threshold probability using order statistics + /** + @brief Peaks over Threshold Method for Quantile and Tail Mean Estimation + + @sa peaks_over_threshold_impl + + @param quantile_probability + @param pot_threshold_probability + */ + template + struct peaks_over_threshold_prob_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef boost::tuple result_type; + // for left tail fitting, mirror the extreme values + typedef mpl::int_::value ? -1 : 1> sign; + + template + peaks_over_threshold_prob_impl(Args const &args) + : mu_(sign::value * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , threshold_probability_(args[pot_threshold_probability]) + , fit_parameters_(boost::make_tuple(0., 0., 0.)) + , is_dirty_(true) + { + } + + void operator ()(dont_care) + { + this->is_dirty_ = true; + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty_) + { + this->is_dirty_ = false; + + std::size_t cnt = count(args); + + // the n'th cached sample provides an approximate threshold value u + std::size_t n = static_cast( + std::ceil( + cnt * ( ( is_same::value ) ? this->threshold_probability_ : 1. - this->threshold_probability_ ) + ) + ); + + // If n is in a valid range, return result, otherwise return NaN or throw exception + if ( n >= static_cast(tail(args).size())) + { + if (std::numeric_limits::has_quiet_NaN) + { + return boost::make_tuple( + std::numeric_limits::quiet_NaN() + , std::numeric_limits::quiet_NaN() + , std::numeric_limits::quiet_NaN() + ); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + return boost::make_tuple(Sample(0), Sample(0), Sample(0)); + } + } + else + { + float_type u = *(tail(args).begin() + n - 1) * sign::value; + + // compute mean and variance of samples above/under threshold value u + for (std::size_t i = 0; i < n; ++i) + { + mu_ += *(tail(args).begin() + i); + sigma2_ += *(tail(args).begin() + i) * (*(tail(args).begin() + i)); + } + + this->mu_ = sign::value * numeric::fdiv(this->mu_, n); + this->sigma2_ = numeric::fdiv(this->sigma2_, n); + this->sigma2_ -= this->mu_ * this->mu_; + + if (is_same::value) + this->threshold_probability_ = 1. - this->threshold_probability_; + + float_type tmp = numeric::fdiv(( this->mu_ - u )*( this->mu_ - u ), this->sigma2_); + float_type xi_hat = 0.5 * ( 1. - tmp ); + float_type beta_hat = 0.5 * ( this->mu_ - u ) * ( 1. + tmp ); + float_type beta_bar = beta_hat * std::pow(1. - threshold_probability_, xi_hat); + float_type u_bar = u - beta_bar * ( std::pow(1. - threshold_probability_, -xi_hat) - 1.)/xi_hat; + this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); + } + } + + return this->fit_parameters_; + } + + private: + mutable float_type mu_; // mean of samples above threshold u + mutable float_type sigma2_; // variance of samples above threshold u + mutable float_type threshold_probability_; + mutable result_type fit_parameters_; // boost::tuple that stores fit parameters + mutable bool is_dirty_; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::peaks_over_threshold +// +namespace tag +{ + template + struct peaks_over_threshold + : depends_on + , pot_threshold_value + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::peaks_over_threshold_impl impl; + }; + + template + struct peaks_over_threshold_prob + : depends_on > + , pot_threshold_probability + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::peaks_over_threshold_prob_impl impl; + }; + + struct abstract_peaks_over_threshold + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::peaks_over_threshold +// +namespace extract +{ + extractor const peaks_over_threshold = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(peaks_over_threshold) +} + +using extract::peaks_over_threshold; + +// peaks_over_threshold(with_threshold_value) -> peaks_over_threshold +template +struct as_feature(with_threshold_value)> +{ + typedef tag::peaks_over_threshold type; +}; + +// peaks_over_threshold(with_threshold_probability) -> peaks_over_threshold_prob +template +struct as_feature(with_threshold_probability)> +{ + typedef tag::peaks_over_threshold_prob type; +}; + +template +struct feature_of > + : feature_of +{ +}; + +template +struct feature_of > + : feature_of +{ +}; + +// So that peaks_over_threshold can be automatically substituted +// with weighted_peaks_over_threshold when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_peaks_over_threshold type; +}; + +template +struct feature_of > + : feature_of > +{}; + +// So that peaks_over_threshold_prob can be automatically substituted +// with weighted_peaks_over_threshold_prob when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_peaks_over_threshold_prob type; +}; + +template +struct feature_of > + : feature_of > +{}; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/pot_quantile.hpp b/external/boost/accumulators/statistics/pot_quantile.hpp new file mode 100644 index 000000000..470bdbace --- /dev/null +++ b/external/boost/accumulators/statistics/pot_quantile.hpp @@ -0,0 +1,205 @@ +/////////////////////////////////////////////////////////////////////////////// +// pot_quantile.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_POT_QUANTILE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_POT_QUANTILE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // pot_quantile_impl + // + /** + @brief Quantile Estimation based on Peaks over Threshold Method (for both left and right tails) + + Computes an estimate + \f[ + \hat{q}_{\alpha} = \bar{u} + \frac{\bar{\beta}}{\xi}\left[(1-\alpha)^{-\xi}-1\right] + \f] + for a right or left extreme quantile, \f$\bar[u]\f$, \f$\bar{\beta}\f$ and \f$\xi\f$ being the parameters of the + generalized Pareto distribution that approximates the right tail of the distribution (or the mirrored left tail, + in case the left tail is used). In the latter case, the result is mirrored back, yielding the correct result. + */ + template + struct pot_quantile_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef float_type result_type; + + pot_quantile_impl(dont_care) + : sign_((is_same::value) ? -1 : 1) + { + } + + template + result_type result(Args const &args) const + { + typedef + typename mpl::if_< + is_same + , tag::weighted_peaks_over_threshold + , tag::peaks_over_threshold + >::type + peaks_over_threshold_tag; + + extractor const some_peaks_over_threshold = {}; + + float_type u_bar = some_peaks_over_threshold(args).template get<0>(); + float_type beta_bar = some_peaks_over_threshold(args).template get<1>(); + float_type xi_hat = some_peaks_over_threshold(args).template get<2>(); + + return this->sign_ * (u_bar + beta_bar/xi_hat * ( std::pow( + is_same::value ? args[quantile_probability] : 1. - args[quantile_probability] + , -xi_hat + ) - 1.)); + } + + private: + short sign_; // if the fit parameters from the mirrored left tail extreme values are used, mirror back the result + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::pot_quantile<> +// tag::pot_quantile_prob<> +// tag::weighted_pot_quantile<> +// tag::weighted_pot_quantile_prob<> +// +namespace tag +{ + template + struct pot_quantile + : depends_on > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_quantile_impl impl; + }; + template + struct pot_quantile_prob + : depends_on > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_quantile_impl impl; + }; + template + struct weighted_pot_quantile + : depends_on > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_quantile_impl impl; + }; + template + struct weighted_pot_quantile_prob + : depends_on > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_quantile_impl impl; + }; +} + +// pot_quantile(with_threshold_value) -> pot_quantile +template +struct as_feature(with_threshold_value)> +{ + typedef tag::pot_quantile type; +}; + +// pot_quantile(with_threshold_probability) -> pot_quantile_prob +template +struct as_feature(with_threshold_probability)> +{ + typedef tag::pot_quantile_prob type; +}; + +// weighted_pot_quantile(with_threshold_value) -> weighted_pot_quantile +template +struct as_feature(with_threshold_value)> +{ + typedef tag::weighted_pot_quantile type; +}; + +// weighted_pot_quantile(with_threshold_probability) -> weighted_pot_quantile_prob +template +struct as_feature(with_threshold_probability)> +{ + typedef tag::weighted_pot_quantile_prob type; +}; + +// for the purposes of feature-based dependency resolution, +// pot_quantile and pot_quantile_prob provide +// the same feature as quantile +template +struct feature_of > + : feature_of +{ +}; + +template +struct feature_of > + : feature_of +{ +}; + +// So that pot_quantile can be automatically substituted +// with weighted_pot_quantile when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_pot_quantile type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +// So that pot_quantile_prob can be automatically substituted +// with weighted_pot_quantile_prob when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_pot_quantile_prob type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/pot_tail_mean.hpp b/external/boost/accumulators/statistics/pot_tail_mean.hpp new file mode 100644 index 000000000..a78043fce --- /dev/null +++ b/external/boost/accumulators/statistics/pot_tail_mean.hpp @@ -0,0 +1,211 @@ +/////////////////////////////////////////////////////////////////////////////// +// pot_tail_mean.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_POT_TAIL_MEAN_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_POT_TAIL_MEAN_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // pot_tail_mean_impl + // + /** + @brief Estimation of the (coherent) tail mean based on the peaks over threshold method (for both left and right tails) + + Computes an estimate for the (coherent) tail mean + \f[ + \widehat{CTM}_{\alpha} = \hat{q}_{\alpha} - \frac{\bar{\beta}}{\xi-1}(1-\alpha)^{-\xi}, + \f] + where \f$\bar[u]\f$, \f$\bar{\beta}\f$ and \f$\xi\f$ are the parameters of the + generalized Pareto distribution that approximates the right tail of the distribution (or the + mirrored left tail, in case the left tail is used). In the latter case, the result is mirrored + back, yielding the correct result. + */ + template + struct pot_tail_mean_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef float_type result_type; + + pot_tail_mean_impl(dont_care) + : sign_((is_same::value) ? -1 : 1) + { + } + + template + result_type result(Args const &args) const + { + typedef + typename mpl::if_< + is_same + , tag::weighted_peaks_over_threshold + , tag::peaks_over_threshold + >::type + peaks_over_threshold_tag; + + typedef + typename mpl::if_< + is_same + , tag::weighted_pot_quantile + , tag::pot_quantile + >::type + pot_quantile_tag; + + extractor const some_peaks_over_threshold = {}; + extractor const some_pot_quantile = {}; + + float_type beta_bar = some_peaks_over_threshold(args).template get<1>(); + float_type xi_hat = some_peaks_over_threshold(args).template get<2>(); + + return some_pot_quantile(args) - this->sign_ * beta_bar/( xi_hat - 1. ) * std::pow( + is_same::value ? args[quantile_probability] : 1. - args[quantile_probability] + , -xi_hat); + } + private: + short sign_; // if the fit parameters from the mirrored left tail extreme values are used, mirror back the result + }; +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::pot_tail_mean +// tag::pot_tail_mean_prob +// +namespace tag +{ + template + struct pot_tail_mean + : depends_on, pot_quantile > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_tail_mean_impl impl; + }; + template + struct pot_tail_mean_prob + : depends_on, pot_quantile_prob > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_tail_mean_impl impl; + }; + template + struct weighted_pot_tail_mean + : depends_on, weighted_pot_quantile > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_tail_mean_impl impl; + }; + template + struct weighted_pot_tail_mean_prob + : depends_on, weighted_pot_quantile_prob > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::pot_tail_mean_impl impl; + }; +} + +// pot_tail_mean(with_threshold_value) -> pot_tail_mean +template +struct as_feature(with_threshold_value)> +{ + typedef tag::pot_tail_mean type; +}; + +// pot_tail_mean(with_threshold_probability) -> pot_tail_mean_prob +template +struct as_feature(with_threshold_probability)> +{ + typedef tag::pot_tail_mean_prob type; +}; + +// weighted_pot_tail_mean(with_threshold_value) -> weighted_pot_tail_mean +template +struct as_feature(with_threshold_value)> +{ + typedef tag::weighted_pot_tail_mean type; +}; + +// weighted_pot_tail_mean(with_threshold_probability) -> weighted_pot_tail_mean_prob +template +struct as_feature(with_threshold_probability)> +{ + typedef tag::weighted_pot_tail_mean_prob type; +}; + +// for the purposes of feature-based dependency resolution, +// pot_tail_mean and pot_tail_mean_prob provide +// the same feature as tail_mean +template +struct feature_of > + : feature_of +{ +}; + +template +struct feature_of > + : feature_of +{ +}; + +// So that pot_tail_mean can be automatically substituted +// with weighted_pot_tail_mean when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_pot_tail_mean type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +// So that pot_tail_mean_prob can be automatically substituted +// with weighted_pot_tail_mean_prob when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_pot_tail_mean_prob type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/rolling_count.hpp b/external/boost/accumulators/statistics/rolling_count.hpp new file mode 100644 index 000000000..1e34f7635 --- /dev/null +++ b/external/boost/accumulators/statistics/rolling_count.hpp @@ -0,0 +1,80 @@ +/////////////////////////////////////////////////////////////////////////////// +// rolling_count.hpp +// +// Copyright 2008 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_COUNT_HPP_EAN_26_12_2008 +#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_COUNT_HPP_EAN_26_12_2008 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + + /////////////////////////////////////////////////////////////////////////////// + // rolling_count_impl + // returns the count of elements in the rolling window + template + struct rolling_count_impl + : accumulator_base + { + typedef std::size_t result_type; + + rolling_count_impl(dont_care) + {} + + template + result_type result(Args const &args) const + { + return static_cast(rolling_window_plus1(args).size()) - is_rolling_window_plus1_full(args); + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::rolling_count +// +namespace tag +{ + struct rolling_count + : depends_on< rolling_window_plus1 > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::rolling_count_impl< mpl::_1 > impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::window_size named parameter + static boost::parameter::keyword const window_size; + #endif + }; +} // namespace tag + +/////////////////////////////////////////////////////////////////////////////// +// extract::rolling_count +// +namespace extract +{ + extractor const rolling_count = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_count) +} + +using extract::rolling_count; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/rolling_mean.hpp b/external/boost/accumulators/statistics/rolling_mean.hpp new file mode 100644 index 000000000..1439da1e2 --- /dev/null +++ b/external/boost/accumulators/statistics/rolling_mean.hpp @@ -0,0 +1,179 @@ +/////////////////////////////////////////////////////////////////////////////// +// rolling_mean.hpp +// Copyright (C) 2008 Eric Niebler. +// Copyright (C) 2012 Pieter Bastiaan Ober (Integricom). +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_MEAN_HPP_EAN_26_12_2008 +#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_MEAN_HPP_EAN_26_12_2008 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + namespace impl + { + /////////////////////////////////////////////////////////////////////////////// + // lazy_rolling_mean_impl + // returns the mean over the rolling window and is calculated only + // when the result is requested + template + struct lazy_rolling_mean_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + lazy_rolling_mean_impl(dont_care) + { + } + + template + result_type result(Args const &args) const + { + return numeric::fdiv(rolling_sum(args), rolling_count(args)); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // immediate_rolling_mean_impl + // The non-lazy version computes the rolling mean recursively when a new + // sample is added + template + struct immediate_rolling_mean_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + immediate_rolling_mean_impl(Args const &args) + : mean_(numeric::fdiv(args[sample | Sample()],numeric::one::value)) + { + } + + template + void operator()(Args const &args) + { + if(is_rolling_window_plus1_full(args)) + { + mean_ += numeric::fdiv(args[sample]-rolling_window_plus1(args).front(),rolling_count(args)); + } + else + { + result_type prev_mean = mean_; + mean_ += numeric::fdiv(args[sample]-prev_mean,rolling_count(args)); + } + } + + template + result_type result(Args const &) const + { + return mean_; + } + + private: + + result_type mean_; + }; + } // namespace impl + + /////////////////////////////////////////////////////////////////////////////// + // tag::lazy_rolling_mean + // tag::immediate_rolling_mean + // tag::rolling_mean + // + namespace tag + { + struct lazy_rolling_mean + : depends_on< rolling_sum, rolling_count > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::lazy_rolling_mean_impl< mpl::_1 > impl; + +#ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::window_size named parameter + static boost::parameter::keyword const window_size; +#endif + }; + + struct immediate_rolling_mean + : depends_on< rolling_window_plus1, rolling_count> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::immediate_rolling_mean_impl< mpl::_1> impl; + +#ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::window_size named parameter + static boost::parameter::keyword const window_size; +#endif + }; + + // make immediate_rolling_mean the default implementation + struct rolling_mean : immediate_rolling_mean {}; + } // namespace tag + + /////////////////////////////////////////////////////////////////////////////// + // extract::lazy_rolling_mean + // extract::immediate_rolling_mean + // extract::rolling_mean + // + namespace extract + { + extractor const lazy_rolling_mean = {}; + extractor const immediate_rolling_mean = {}; + extractor const rolling_mean = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_rolling_mean) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(immediate_rolling_mean) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_mean) + } + + using extract::lazy_rolling_mean; + using extract::immediate_rolling_mean; + using extract::rolling_mean; + + // rolling_mean(lazy) -> lazy_rolling_mean + template<> + struct as_feature + { + typedef tag::lazy_rolling_mean type; + }; + + // rolling_mean(immediate) -> immediate_rolling_mean + template<> + struct as_feature + { + typedef tag::immediate_rolling_mean type; + }; + + // for the purposes of feature-based dependency resolution, + // immediate_rolling_mean provides the same feature as rolling_mean + template<> + struct feature_of + : feature_of + { + }; + + // for the purposes of feature-based dependency resolution, + // lazy_rolling_mean provides the same feature as rolling_mean + template<> + struct feature_of + : feature_of + { + }; +}} // namespace boost::accumulators + +#endif \ No newline at end of file diff --git a/external/boost/accumulators/statistics/rolling_moment.hpp b/external/boost/accumulators/statistics/rolling_moment.hpp new file mode 100644 index 000000000..f172cee34 --- /dev/null +++ b/external/boost/accumulators/statistics/rolling_moment.hpp @@ -0,0 +1,113 @@ +/////////////////////////////////////////////////////////////////////////////// +// rolling_moment.hpp +// Copyright 2005 Eric Niebler. +// Copyright (C) 2014 Pieter Bastiaan Ober (Integricom). +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_MOMENT_HPP_EAN_27_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_MOMENT_HPP_EAN_27_11_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // rolling_moment_impl + template + struct rolling_moment_impl + : accumulator_base + { + BOOST_MPL_ASSERT_RELATION(N::value, >, 0); + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + rolling_moment_impl(Args const &args) + : sum_(args[sample | Sample()]) + { + } + + template + void operator ()(Args const &args) + { + if(is_rolling_window_plus1_full(args)) + { + this->sum_ -= numeric::pow(rolling_window_plus1(args).front(), N()); + } + this->sum_ += numeric::pow(args[sample], N()); + } + + template + result_type result(Args const &args) const + { + return numeric::fdiv(this->sum_, rolling_count(args)); + } + + private: + result_type sum_; + }; +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::rolling_moment +// +namespace tag +{ + template + struct rolling_moment + : depends_on< rolling_window_plus1, rolling_count> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::rolling_moment_impl, mpl::_1> impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::window_size named parameter + static boost::parameter::keyword const window_size; + #endif + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::rolling_moment +// +namespace extract +{ + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, rolling_moment, (int)) +} + +using extract::rolling_moment; + +// There is no weighted_rolling_moment (yet)... +// +//// So that rolling_moment can be automatically substituted with +//// weighted_rolling_moment when the weight parameter is non-void +//template +//struct as_weighted_feature > +//{ +// typedef tag::weighted_rolling_moment type; +//}; +// +//template +//struct feature_of > +// : feature_of > +//{ +//}; +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/rolling_sum.hpp b/external/boost/accumulators/statistics/rolling_sum.hpp new file mode 100644 index 000000000..bbb7a8e9a --- /dev/null +++ b/external/boost/accumulators/statistics/rolling_sum.hpp @@ -0,0 +1,91 @@ +/////////////////////////////////////////////////////////////////////////////// +// rolling_sum.hpp +// +// Copyright 2008 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_SUM_HPP_EAN_26_12_2008 +#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_SUM_HPP_EAN_26_12_2008 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // rolling_sum_impl + // returns the sum of the samples in the rolling window + template + struct rolling_sum_impl + : accumulator_base + { + typedef Sample result_type; + + template + rolling_sum_impl(Args const &args) + : sum_(args[sample | Sample()]) + {} + + template + void operator ()(Args const &args) + { + if(is_rolling_window_plus1_full(args)) + { + this->sum_ -= rolling_window_plus1(args).front(); + } + this->sum_ += args[sample]; + } + + template + result_type result(Args const & /*args*/) const + { + return this->sum_; + } + + private: + Sample sum_; + }; +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::rolling_sum +// +namespace tag +{ + struct rolling_sum + : depends_on< rolling_window_plus1 > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::rolling_sum_impl< mpl::_1 > impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::window_size named parameter + static boost::parameter::keyword const window_size; + #endif + }; +} // namespace tag + +/////////////////////////////////////////////////////////////////////////////// +// extract::rolling_sum +// +namespace extract +{ + extractor const rolling_sum = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_sum) +} + +using extract::rolling_sum; +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/rolling_variance.hpp b/external/boost/accumulators/statistics/rolling_variance.hpp new file mode 100644 index 000000000..33b3922a5 --- /dev/null +++ b/external/boost/accumulators/statistics/rolling_variance.hpp @@ -0,0 +1,247 @@ +/////////////////////////////////////////////////////////////////////////////// +// rolling_variance.hpp +// Copyright (C) 2005 Eric Niebler +// Copyright (C) 2014 Pieter Bastiaan Ober (Integricom). +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_VARIANCE_HPP_EAN_15_11_2011 +#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_VARIANCE_HPP_EAN_15_11_2011 + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace boost { namespace accumulators +{ +namespace impl +{ + //! Immediate (lazy) calculation of the rolling variance. + /*! + Calculation of sample variance \f$\sigma_n^2\f$ is done as follows, see also + http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance. + For a rolling window of size \f$N\f$, when \f$n <= N\f$, the variance is computed according to the formula + \f[ + \sigma_n^2 = \frac{1}{n-1} \sum_{i = 1}^n (x_i - \mu_n)^2. + \f] + When \f$n > N\f$, the sample variance over the window becomes: + \f[ + \sigma_n^2 = \frac{1}{N-1} \sum_{i = n-N+1}^n (x_i - \mu_n)^2. + \f] + */ + /////////////////////////////////////////////////////////////////////////////// + // lazy_rolling_variance_impl + // + template + struct lazy_rolling_variance_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + lazy_rolling_variance_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + result_type mean = rolling_mean(args); + size_t nr_samples = rolling_count(args); + if (nr_samples < 2) return result_type(); + return nr_samples*(rolling_moment<2>(args) - mean*mean)/(nr_samples-1); + } + }; + + //! Iterative calculation of the rolling variance. + /*! + Iterative calculation of sample variance \f$\sigma_n^2\f$ is done as follows, see also + http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance. + For a rolling window of size \f$N\f$, for the first \f$N\f$ samples, the variance is computed according to the formula + \f[ + \sigma_n^2 = \frac{1}{n-1} \sum_{i = 1}^n (x_i - \mu_n)^2 = \frac{1}{n-1}M_{2,n}, + \f] + where the sum of squares \f$M_{2,n}\f$ can be recursively computed as: + \f[ + M_{2,n} = \sum_{i = 1}^n (x_i - \mu_n)^2 = M_{2,n-1} + (x_n - \mu_n)(x_n - \mu_{n-1}), + \f] + and the estimate of the sample mean as: + \f[ + \mu_n = \frac{1}{n} \sum_{i = 1}^n x_i = \mu_{n-1} + \frac{1}{n}(x_n - \mu_{n-1}). + \f] + For further samples, when the rolling window is fully filled with data, one has to take into account that the oldest + sample \f$x_{n-N}\f$ is dropped from the window. The sample variance over the window now becomes: + \f[ + \sigma_n^2 = \frac{1}{N-1} \sum_{i = n-N+1}^n (x_i - \mu_n)^2 = \frac{1}{n-1}M_{2,n}, + \f] + where the sum of squares \f$M_{2,n}\f$ now equals: + \f[ + M_{2,n} = \sum_{i = n-N+1}^n (x_i - \mu_n)^2 = M_{2,n-1} + (x_n - \mu_n)(x_n - \mu_{n-1}) - (x_{n-N} - \mu_n)(x_{n-N} - \mu_{n-1}), + \f] + and the estimated mean is: + \f[ + \mu_n = \frac{1}{N} \sum_{i = n-N+1}^n x_i = \mu_{n-1} + \frac{1}{n}(x_n - x_{n-N}). + \f] + + Note that the sample variance is not defined for \f$n <= 1\f$. + + */ + /////////////////////////////////////////////////////////////////////////////// + // immediate_rolling_variance_impl + // + template + struct immediate_rolling_variance_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + immediate_rolling_variance_impl(Args const &args) + : previous_mean_(numeric::fdiv(args[sample | Sample()], numeric::one::value)) + , sum_of_squares_(numeric::fdiv(args[sample | Sample()], numeric::one::value)) + { + } + + template + void operator()(Args const &args) + { + Sample added_sample = args[sample]; + + result_type mean = immediate_rolling_mean(args); + sum_of_squares_ += (added_sample-mean)*(added_sample-previous_mean_); + + if(is_rolling_window_plus1_full(args)) + { + Sample removed_sample = rolling_window_plus1(args).front(); + sum_of_squares_ -= (removed_sample-mean)*(removed_sample-previous_mean_); + prevent_underflow(sum_of_squares_); + } + previous_mean_ = mean; + } + + template + result_type result(Args const &args) const + { + size_t nr_samples = rolling_count(args); + if (nr_samples < 2) return result_type(); + return numeric::fdiv(sum_of_squares_,(nr_samples-1)); + } + + private: + + result_type previous_mean_; + result_type sum_of_squares_; + + template + void prevent_underflow(T &non_negative_number,typename boost::enable_if,T>::type* = 0) + { + if (non_negative_number < T(0)) non_negative_number = T(0); + } + template + void prevent_underflow(T &non_arithmetic_quantity,typename boost::disable_if,T>::type* = 0) + { + } + }; +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag:: lazy_rolling_variance +// tag:: immediate_rolling_variance +// tag:: rolling_variance +// +namespace tag +{ + struct lazy_rolling_variance + : depends_on< rolling_count, rolling_mean, rolling_moment<2> > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::lazy_rolling_variance_impl< mpl::_1 > impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::window_size named parameter + static boost::parameter::keyword const window_size; + #endif + }; + + struct immediate_rolling_variance + : depends_on< rolling_window_plus1, rolling_count, immediate_rolling_mean> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::immediate_rolling_variance_impl< mpl::_1> impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::window_size named parameter + static boost::parameter::keyword const window_size; + #endif + }; + + // make immediate_rolling_variance the default implementation + struct rolling_variance : immediate_rolling_variance {}; +} // namespace tag + +/////////////////////////////////////////////////////////////////////////////// +// extract::lazy_rolling_variance +// extract::immediate_rolling_variance +// extract::rolling_variance +// +namespace extract +{ + extractor const lazy_rolling_variance = {}; + extractor const immediate_rolling_variance = {}; + extractor const rolling_variance = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_rolling_variance) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(immediate_rolling_variance) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_variance) +} + +using extract::lazy_rolling_variance; +using extract::immediate_rolling_variance; +using extract::rolling_variance; + +// rolling_variance(lazy) -> lazy_rolling_variance +template<> +struct as_feature +{ + typedef tag::lazy_rolling_variance type; +}; + +// rolling_variance(immediate) -> immediate_rolling_variance +template<> +struct as_feature +{ + typedef tag::immediate_rolling_variance type; +}; + +// for the purposes of feature-based dependency resolution, +// lazy_rolling_variance provides the same feature as rolling_variance +template<> +struct feature_of + : feature_of +{ +}; + +// for the purposes of feature-based dependency resolution, +// immediate_rolling_variance provides the same feature as rolling_variance +template<> +struct feature_of + : feature_of +{ +}; +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/rolling_window.hpp b/external/boost/accumulators/statistics/rolling_window.hpp new file mode 100644 index 000000000..2e0a33420 --- /dev/null +++ b/external/boost/accumulators/statistics/rolling_window.hpp @@ -0,0 +1,172 @@ +/////////////////////////////////////////////////////////////////////////////// +// rolling_window.hpp +// +// Copyright 2008 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_WINDOW_HPP_EAN_26_12_2008 +#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_WINDOW_HPP_EAN_26_12_2008 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +/////////////////////////////////////////////////////////////////////////////// +// tag::rolling_window::size named parameter +BOOST_PARAMETER_NESTED_KEYWORD(tag, rolling_window_size, window_size) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_window_size) + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // rolling_window_plus1_impl + // stores the latest N+1 samples, where N is specified at construction time + // with the rolling_window_size named parameter + template + struct rolling_window_plus1_impl + : accumulator_base + { + typedef typename circular_buffer::const_iterator const_iterator; + typedef iterator_range result_type; + + template + rolling_window_plus1_impl(Args const & args) + : buffer_(args[rolling_window_size] + 1) + {} + + #if BOOST_VERSION < 103600 + // Before Boost 1.36, copying a circular buffer didn't copy + // it's capacity, and we need that behavior. + rolling_window_plus1_impl(rolling_window_plus1_impl const &that) + : buffer_(that.buffer_) + { + this->buffer_.set_capacity(that.buffer_.capacity()); + } + + rolling_window_plus1_impl &operator =(rolling_window_plus1_impl const &that) + { + this->buffer_ = that.buffer_; + this->buffer_.set_capacity(that.buffer_.capacity()); + } + #endif + + template + void operator ()(Args const &args) + { + this->buffer_.push_back(args[sample]); + } + + bool full() const + { + return this->buffer_.full(); + } + + // The result of a shifted rolling window is the range including + // everything except the most recently added element. + result_type result(dont_care) const + { + return result_type(this->buffer_.begin(), this->buffer_.end()); + } + + private: + circular_buffer buffer_; + }; + + template + bool is_rolling_window_plus1_full(Args const &args) + { + return find_accumulator(args[accumulator]).full(); + } + + /////////////////////////////////////////////////////////////////////////////// + // rolling_window_impl + // stores the latest N samples, where N is specified at construction type + // with the rolling_window_size named parameter + template + struct rolling_window_impl + : accumulator_base + { + typedef typename circular_buffer::const_iterator const_iterator; + typedef iterator_range result_type; + + rolling_window_impl(dont_care) + {} + + template + result_type result(Args const &args) const + { + return rolling_window_plus1(args).advance_begin(is_rolling_window_plus1_full(args)); + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::rolling_window_plus1 +// tag::rolling_window +// +namespace tag +{ + struct rolling_window_plus1 + : depends_on<> + , tag::rolling_window_size + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::rolling_window_plus1_impl< mpl::_1 > impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::size named parameter + static boost::parameter::keyword const window_size; + #endif + }; + + struct rolling_window + : depends_on< rolling_window_plus1 > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::rolling_window_impl< mpl::_1 > impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::rolling_window::size named parameter + static boost::parameter::keyword const window_size; + #endif + }; + +} // namespace tag + +/////////////////////////////////////////////////////////////////////////////// +// extract::rolling_window_plus1 +// extract::rolling_window +// +namespace extract +{ + extractor const rolling_window_plus1 = {}; + extractor const rolling_window = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_window_plus1) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_window) +} + +using extract::rolling_window_plus1; +using extract::rolling_window; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/skewness.hpp b/external/boost/accumulators/statistics/skewness.hpp new file mode 100644 index 000000000..c383ec4a6 --- /dev/null +++ b/external/boost/accumulators/statistics/skewness.hpp @@ -0,0 +1,114 @@ +/////////////////////////////////////////////////////////////////////////////// +// skewness.hpp +// +// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_SKEWNESS_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_SKEWNESS_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // skewness_impl + /** + @brief Skewness estimation + + The skewness of a sample distribution is defined as the ratio of the 3rd central moment and the \f$ 3/2 \f$-th power + of the 2nd central moment (the variance) of the samples 3. The skewness can also be expressed by the simple moments: + + \f[ + \hat{g}_1 = + \frac + {\widehat{m}_n^{(3)}-3\widehat{m}_n^{(2)}\hat{\mu}_n+2\hat{\mu}_n^3} + {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^{3/2}} + \f] + + where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the + \f$ n \f$ samples. + */ + template + struct skewness_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + skewness_impl(dont_care) + { + } + + template + result_type result(Args const &args) const + { + return numeric::fdiv( + accumulators::moment<3>(args) + - 3. * accumulators::moment<2>(args) * mean(args) + + 2. * mean(args) * mean(args) * mean(args) + , ( accumulators::moment<2>(args) - mean(args) * mean(args) ) + * std::sqrt( accumulators::moment<2>(args) - mean(args) * mean(args) ) + ); + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::skewness +// +namespace tag +{ + struct skewness + : depends_on, moment<3> > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::skewness_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::skewness +// +namespace extract +{ + extractor const skewness = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(skewness) +} + +using extract::skewness; + +// So that skewness can be automatically substituted with +// weighted_skewness when the weight parameter is non-void +template<> +struct as_weighted_feature +{ + typedef tag::weighted_skewness type; +}; + +template<> +struct feature_of + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/stats.hpp b/external/boost/accumulators/statistics/stats.hpp new file mode 100644 index 000000000..22c4ede02 --- /dev/null +++ b/external/boost/accumulators/statistics/stats.hpp @@ -0,0 +1,29 @@ +/////////////////////////////////////////////////////////////////////////////// +/// \file stats.hpp +/// Contains the stats<> template. +/// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_28_10_2005 + +#include +#include +#include + +namespace boost { namespace accumulators +{ + +/////////////////////////////////////////////////////////////////////////////// +/// An MPL sequence of statistics. +template +struct stats + : mpl::vector +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/sum.hpp b/external/boost/accumulators/statistics/sum.hpp new file mode 100644 index 000000000..126ce244f --- /dev/null +++ b/external/boost/accumulators/statistics/sum.hpp @@ -0,0 +1,141 @@ +/////////////////////////////////////////////////////////////////////////////// +// sum.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_SUM_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_SUM_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // sum_impl + template + struct sum_impl + : accumulator_base + { + // for boost::result_of + typedef Sample result_type; + + template + sum_impl(Args const &args) + : sum(args[parameter::keyword::get() | Sample()]) + { + } + + template + void operator ()(Args const &args) + { + // what about overflow? + this->sum += args[parameter::keyword::get()]; + } + + result_type result(dont_care) const + { + return this->sum; + } + + private: + + Sample sum; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::sum +// tag::sum_of_weights +// tag::sum_of_variates +// +namespace tag +{ + struct sum + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::sum_impl impl; + }; + + struct sum_of_weights + : depends_on<> + { + typedef mpl::true_ is_weight_accumulator; + /// INTERNAL ONLY + /// + typedef accumulators::impl::sum_impl impl; + }; + + template + struct sum_of_variates + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef mpl::always > impl; + }; + + struct abstract_sum_of_variates + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::sum +// extract::sum_of_weights +// extract::sum_of_variates +// +namespace extract +{ + extractor const sum = {}; + extractor const sum_of_weights = {}; + extractor const sum_of_variates = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_weights) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_variates) +} + +using extract::sum; +using extract::sum_of_weights; +using extract::sum_of_variates; + +// So that mean can be automatically substituted with +// weighted_mean when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::weighted_sum type; +}; + +template<> +struct feature_of + : feature_of +{}; + +template +struct feature_of > + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/sum_kahan.hpp b/external/boost/accumulators/statistics/sum_kahan.hpp new file mode 100644 index 000000000..97ade18da --- /dev/null +++ b/external/boost/accumulators/statistics/sum_kahan.hpp @@ -0,0 +1,188 @@ +/////////////////////////////////////////////////////////////////////////////// +// sum_kahan.hpp +// +// Copyright 2010 Gaetano Mendola, 2011 Simon West. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_SUM_KAHAN_HPP_EAN_26_07_2010 +#define BOOST_ACCUMULATORS_STATISTICS_SUM_KAHAN_HPP_EAN_26_07_2010 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + +#if _MSC_VER > 1400 +# pragma float_control(push) +# pragma float_control(precise, on) +#endif + +template +struct sum_kahan_impl + : accumulator_base +{ + typedef Sample result_type; + + //////////////////////////////////////////////////////////////////////////// + // sum_kahan_impl + /** + @brief Kahan summation algorithm + + The Kahan summation algorithm reduces the numerical error obtained with standard + sequential sum. + + */ + template + sum_kahan_impl(Args const & args) + : sum(args[parameter::keyword::get() | Sample()]), + compensation(boost::numeric_cast(0.0)) + { + } + + template + void +#if BOOST_ACCUMULATORS_GCC_VERSION > 40305 + __attribute__((__optimize__("no-associative-math"))) +#endif + operator ()(Args const & args) + { + const Sample myTmp1 = args[parameter::keyword::get()] - this->compensation; + const Sample myTmp2 = this->sum + myTmp1; + this->compensation = (myTmp2 - this->sum) - myTmp1; + this->sum = myTmp2; + } + + result_type result(dont_care) const + { + return this->sum; + } + +private: + Sample sum; + Sample compensation; +}; + +#if _MSC_VER > 1400 +# pragma float_control(pop) +#endif + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::sum_kahan +// tag::sum_of_weights_kahan +// tag::sum_of_variates_kahan +// +namespace tag +{ + + struct sum_kahan + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef impl::sum_kahan_impl< mpl::_1, tag::sample > impl; + }; + + struct sum_of_weights_kahan + : depends_on<> + { + typedef mpl::true_ is_weight_accumulator; + /// INTERNAL ONLY + /// + typedef accumulators::impl::sum_kahan_impl impl; + }; + + template + struct sum_of_variates_kahan + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef mpl::always > impl; + }; + +} // namespace tag + +/////////////////////////////////////////////////////////////////////////////// +// extract::sum_kahan +// extract::sum_of_weights_kahan +// extract::sum_of_variates_kahan +// +namespace extract +{ + extractor const sum_kahan = {}; + extractor const sum_of_weights_kahan = {}; + extractor const sum_of_variates_kahan = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_kahan) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_weights_kahan) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_variates_kahan) +} // namespace extract + +using extract::sum_kahan; +using extract::sum_of_weights_kahan; +using extract::sum_of_variates_kahan; + +// sum(kahan) -> sum_kahan +template<> +struct as_feature +{ + typedef tag::sum_kahan type; +}; + +// sum_of_weights(kahan) -> sum_of_weights_kahan +template<> +struct as_feature +{ + typedef tag::sum_of_weights_kahan type; +}; + +// So that sum_kahan can be automatically substituted with +// weighted_sum_kahan when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::weighted_sum_kahan type; +}; + +template<> +struct feature_of + : feature_of +{}; + +// for the purposes of feature-based dependency resolution, +// sum_kahan provides the same feature as sum +template<> +struct feature_of + : feature_of +{ +}; + +// for the purposes of feature-based dependency resolution, +// sum_of_weights_kahan provides the same feature as sum_of_weights +template<> +struct feature_of + : feature_of +{ +}; + +template +struct feature_of > + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif + diff --git a/external/boost/accumulators/statistics/tail.hpp b/external/boost/accumulators/statistics/tail.hpp new file mode 100644 index 000000000..be6cdee39 --- /dev/null +++ b/external/boost/accumulators/statistics/tail.hpp @@ -0,0 +1,341 @@ +/////////////////////////////////////////////////////////////////////////////// +// tail.hpp +// +// Copyright 2005 Eric Niebler, Michael Gauckler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_TAIL_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ +/////////////////////////////////////////////////////////////////////////////// +// cache_size named parameters +BOOST_PARAMETER_NESTED_KEYWORD(tag, right_tail_cache_size, cache_size) +BOOST_PARAMETER_NESTED_KEYWORD(tag, left_tail_cache_size, cache_size) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(right_tail_cache_size) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(left_tail_cache_size) + +namespace detail +{ + /////////////////////////////////////////////////////////////////////////////// + // tail_range + /// INTERNAL ONLY + /// + template + struct tail_range + { + typedef boost::iterator_range< + boost::reverse_iterator > + > type; + }; + + /////////////////////////////////////////////////////////////////////////////// + // make_tail_range + /// INTERNAL ONLY + /// + template + typename tail_range::type + make_tail_range(ElementIterator elem_begin, IndexIterator index_begin, IndexIterator index_end) + { + return boost::make_iterator_range( + boost::make_reverse_iterator( + boost::make_permutation_iterator(elem_begin, index_end) + ) + , boost::make_reverse_iterator( + boost::make_permutation_iterator(elem_begin, index_begin) + ) + ); + } + + /////////////////////////////////////////////////////////////////////////////// + // stat_assign_visitor + /// INTERNAL ONLY + /// + template + struct stat_assign_visitor + { + stat_assign_visitor(Args const &a, std::size_t i) + : args(a) + , index(i) + { + } + + template + void operator ()(Stat &stat) const + { + stat.assign(this->args, this->index); + } + + private: + stat_assign_visitor &operator =(stat_assign_visitor const &); + Args const &args; + std::size_t index; + }; + + /////////////////////////////////////////////////////////////////////////////// + // stat_assign + /// INTERNAL ONLY + /// + template + inline stat_assign_visitor const stat_assign(Args const &args, std::size_t index) + { + return stat_assign_visitor(args, index); + } + + /////////////////////////////////////////////////////////////////////////////// + // is_tail_variate_feature + /// INTERNAL ONLY + /// + template + struct is_tail_variate_feature + : mpl::false_ + { + }; + + /// INTERNAL ONLY + /// + template + struct is_tail_variate_feature, LeftRight> + : mpl::true_ + { + }; + + /// INTERNAL ONLY + /// + template + struct is_tail_variate_feature, LeftRight> + : mpl::true_ + { + }; + +} // namespace detail + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // tail_impl + template + struct tail_impl + : accumulator_base + { + // LeftRight must be either right or left + BOOST_MPL_ASSERT(( + mpl::or_, is_same > + )); + + typedef + typename mpl::if_< + is_same + , numeric::functional::greater + , numeric::functional::less + >::type + predicate_type; + + // for boost::result_of + typedef typename detail::tail_range< + typename std::vector::const_iterator + , std::vector::iterator + >::type result_type; + + template + tail_impl(Args const &args) + : is_sorted(false) + , indices() + , samples(args[tag::tail::cache_size], args[sample | Sample()]) + { + this->indices.reserve(this->samples.size()); + } + + tail_impl(tail_impl const &that) + : is_sorted(that.is_sorted) + , indices(that.indices) + , samples(that.samples) + { + this->indices.reserve(this->samples.size()); + } + + // This just stores the heap and the samples. + // In operator()() below, if we are adding a new sample + // to the sample cache, we force all the + // tail_variates to update also. (It's not + // good enough to wait for the accumulator_set to do it + // for us because then information about whether a sample + // was stored and where is lost, and would need to be + // queried at runtime, which would be slow.) This is + // implemented as a filtered visitation over the stats, + // which we can access because args[accumulator] gives us + // all the stats. + + template + void operator ()(Args const &args) + { + if(this->indices.size() < this->samples.size()) + { + this->indices.push_back(this->indices.size()); + this->assign(args, this->indices.back()); + } + else if(predicate_type()(args[sample], this->samples[this->indices[0]])) + { + std::pop_heap(this->indices.begin(), this->indices.end(), indirect_cmp(this->samples)); + this->assign(args, this->indices.back()); + } + } + + result_type result(dont_care) const + { + if(!this->is_sorted) + { + // Must use the same predicate here as in push_heap/pop_heap above. + std::sort_heap(this->indices.begin(), this->indices.end(), indirect_cmp(this->samples)); + // sort_heap puts elements in reverse order. Calling std::reverse + // turns the sorted sequence back into a valid heap. + std::reverse(this->indices.begin(), this->indices.end()); + this->is_sorted = true; + } + + return detail::make_tail_range( + this->samples.begin() + , this->indices.begin() + , this->indices.end() + ); + } + + private: + + struct is_tail_variate + { + template + struct apply + : detail::is_tail_variate_feature< + typename detail::feature_tag::type + , LeftRight + > + {}; + }; + + template + void assign(Args const &args, std::size_t index) + { + BOOST_ASSERT(index < this->samples.size()); + this->samples[index] = args[sample]; + std::push_heap(this->indices.begin(), this->indices.end(), indirect_cmp(this->samples)); + this->is_sorted = false; + // Tell the tail variates to store their values also + args[accumulator].template visit_if(detail::stat_assign(args, index)); + } + + /////////////////////////////////////////////////////////////////////////////// + // + struct indirect_cmp + { + typedef std::size_t first_argument_type; + typedef std::size_t second_argument_type; + typedef bool result_type; + + indirect_cmp(std::vector const &s) + : samples(s) + { + } + + bool operator ()(std::size_t left, std::size_t right) const + { + return predicate_type()(this->samples[left], this->samples[right]); + } + + private: + indirect_cmp &operator =(indirect_cmp const &); + std::vector const &samples; + }; + + mutable bool is_sorted; + mutable std::vector indices; + std::vector samples; + }; + +} // namespace impl + +// TODO The templatized tag::tail below should inherit from the correct named parameter. +// The following lines provide a workaround, but there must be a better way of doing this. +template +struct tail_cache_size_named_arg +{ +}; +template<> +struct tail_cache_size_named_arg + : tag::left_tail_cache_size +{ +}; +template<> +struct tail_cache_size_named_arg + : tag::right_tail_cache_size +{ +}; + +/////////////////////////////////////////////////////////////////////////////// +// tag::tail<> +// +namespace tag +{ + template + struct tail + : depends_on<> + , tail_cache_size_named_arg + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::tail_impl impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + /// tag::tail::cache_size named parameter + static boost::parameter::keyword > const cache_size; + #endif + }; + + struct abstract_tail + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::tail +// +namespace extract +{ + extractor const tail = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail) +} + +using extract::tail; + +template +struct feature_of > + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/tail_mean.hpp b/external/boost/accumulators/statistics/tail_mean.hpp new file mode 100644 index 000000000..67dae37b5 --- /dev/null +++ b/external/boost/accumulators/statistics/tail_mean.hpp @@ -0,0 +1,246 @@ +/////////////////////////////////////////////////////////////////////////////// +// tail_mean.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_MEAN_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_TAIL_MEAN_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +namespace impl +{ + + /////////////////////////////////////////////////////////////////////////////// + // coherent_tail_mean_impl + // + /** + @brief Estimation of the coherent tail mean based on order statistics (for both left and right tails) + + The coherent tail mean \f$\widehat{CTM}_{n,\alpha}(X)\f$ is equal to the non-coherent tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$ + plus a correction term that ensures coherence in case of non-continuous distributions. + + \f[ + \widehat{CTM}_{n,\alpha}^{\mathrm{right}}(X) = \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X) + + \frac{1}{\lceil n(1-\alpha)\rceil}\hat{q}_{n,\alpha}(X)\left(1 - \alpha - \frac{1}{n}\lceil n(1-\alpha)\rceil \right) + \f] + + \f[ + \widehat{CTM}_{n,\alpha}^{\mathrm{left}}(X) = \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X) + + \frac{1}{\lceil n\alpha\rceil}\hat{q}_{n,\alpha}(X)\left(\alpha - \frac{1}{n}\lceil n\alpha\rceil \right) + \f] + */ + template + struct coherent_tail_mean_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef float_type result_type; + + coherent_tail_mean_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + std::size_t cnt = count(args); + + std::size_t n = static_cast( + std::ceil( + cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) + ) + ); + + extractor > const some_non_coherent_tail_mean = {}; + + return some_non_coherent_tail_mean(args) + + numeric::fdiv(quantile(args), n) + * ( + ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] + - numeric::fdiv(n, count(args)) + ); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // non_coherent_tail_mean_impl + // + /** + @brief Estimation of the (non-coherent) tail mean based on order statistics (for both left and right tails) + + An estimation of the non-coherent tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$ is given by the mean of the + \f$\lceil n\alpha\rceil\f$ smallest samples (left tail) or the mean of the \f$\lceil n(1-\alpha)\rceil\f$ + largest samples (right tail), \f$n\f$ being the total number of samples and \f$\alpha\f$ the quantile level: + + \f[ + \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X) = \frac{1}{\lceil n(1-\alpha)\rceil} \sum_{i=\lceil \alpha n \rceil}^n X_{i:n} + \f] + + \f[ + \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X) = \frac{1}{\lceil n\alpha\rceil} \sum_{i=1}^{\lceil \alpha n \rceil} X_{i:n} + \f] + + It thus requires the caching of at least the \f$\lceil n\alpha\rceil\f$ smallest or the \f$\lceil n(1-\alpha)\rceil\f$ + largest samples. + + @param quantile_probability + */ + template + struct non_coherent_tail_mean_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef float_type result_type; + + non_coherent_tail_mean_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + std::size_t cnt = count(args); + + std::size_t n = static_cast( + std::ceil( + cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) + ) + ); + + // If n is in a valid range, return result, otherwise return NaN or throw exception + if (n <= static_cast(tail(args).size())) + return numeric::fdiv( + std::accumulate( + tail(args).begin() + , tail(args).begin() + n + , Sample(0) + ) + , n + ); + else + { + if (std::numeric_limits::has_quiet_NaN) + { + return std::numeric_limits::quiet_NaN(); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + return Sample(0); + } + } + } + }; + +} // namespace impl + + +/////////////////////////////////////////////////////////////////////////////// +// tag::coherent_tail_mean<> +// tag::non_coherent_tail_mean<> +// +namespace tag +{ + template + struct coherent_tail_mean + : depends_on > + { + typedef accumulators::impl::coherent_tail_mean_impl impl; + }; + + template + struct non_coherent_tail_mean + : depends_on > + { + typedef accumulators::impl::non_coherent_tail_mean_impl impl; + }; + + struct abstract_non_coherent_tail_mean + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::non_coherent_tail_mean; +// extract::coherent_tail_mean; +// +namespace extract +{ + extractor const non_coherent_tail_mean = {}; + extractor const coherent_tail_mean = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(non_coherent_tail_mean) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(coherent_tail_mean) +} + +using extract::non_coherent_tail_mean; +using extract::coherent_tail_mean; + +// for the purposes of feature-based dependency resolution, +// coherent_tail_mean provides the same feature as tail_mean +template +struct feature_of > + : feature_of +{ +}; + +template +struct feature_of > + : feature_of +{ +}; + +// So that non_coherent_tail_mean can be automatically substituted +// with weighted_non_coherent_tail_mean when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::non_coherent_weighted_tail_mean type; +}; + +template +struct feature_of > + : feature_of > +{}; + +// NOTE that non_coherent_tail_mean cannot be feature-grouped with tail_mean, +// which is the base feature for coherent tail means, since (at least for +// non-continuous distributions) non_coherent_tail_mean is a different measure! + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/tail_quantile.hpp b/external/boost/accumulators/statistics/tail_quantile.hpp new file mode 100644 index 000000000..9ff56b56e --- /dev/null +++ b/external/boost/accumulators/statistics/tail_quantile.hpp @@ -0,0 +1,158 @@ +/////////////////////////////////////////////////////////////////////////////// +// tail_quantile.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_QUANTILE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_TAIL_QUANTILE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include // For ceil +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // tail_quantile_impl + // Tail quantile estimation based on order statistics + /** + @brief Tail quantile estimation based on order statistics (for both left and right tails) + + The estimation of a tail quantile \f$\hat{q}\f$ with level \f$\alpha\f$ based on order statistics requires the + caching of at least the \f$\lceil n\alpha\rceil\f$ smallest or the \f$\lceil n(1-\alpha)\rceil\f$ largest samples, + \f$n\f$ being the total number of samples. The largest of the \f$\lceil n\alpha\rceil\f$ smallest samples or the + smallest of the \f$\lceil n(1-\alpha)\rceil\f$ largest samples provides an estimate for the quantile: + + \f[ + \hat{q}_{n,\alpha} = X_{\lceil \alpha n \rceil:n} + \f] + + @param quantile_probability + */ + template + struct tail_quantile_impl + : accumulator_base + { + // for boost::result_of + typedef Sample result_type; + + tail_quantile_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + std::size_t cnt = count(args); + + std::size_t n = static_cast( + std::ceil( + cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) + ) + ); + + // If n is in a valid range, return result, otherwise return NaN or throw exception + if ( n < static_cast(tail(args).size())) + { + // Note that the cached samples of the left are sorted in ascending order, + // whereas the samples of the right tail are sorted in descending order + return *(boost::begin(tail(args)) + n - 1); + } + else + { + if (std::numeric_limits::has_quiet_NaN) + { + return std::numeric_limits::quiet_NaN(); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + return Sample(0); + } + } + } + }; +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::tail_quantile<> +// +namespace tag +{ + template + struct tail_quantile + : depends_on > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::tail_quantile_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::tail_quantile +// +namespace extract +{ + extractor const tail_quantile = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_quantile) +} + +using extract::tail_quantile; + +// for the purposes of feature-based dependency resolution, +// tail_quantile provide the same feature as quantile +template +struct feature_of > + : feature_of +{ +}; + +// So that tail_quantile can be automatically substituted with +// weighted_tail_quantile when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::weighted_tail_quantile type; +}; + +template +struct feature_of > + : feature_of > +{}; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/tail_variate.hpp b/external/boost/accumulators/statistics/tail_variate.hpp new file mode 100644 index 000000000..a9fc7d297 --- /dev/null +++ b/external/boost/accumulators/statistics/tail_variate.hpp @@ -0,0 +1,141 @@ +/////////////////////////////////////////////////////////////////////////////// +// tail_variate.hpp +// +// Copyright 2005 Eric Niebler, Michael Gauckler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_STAT_STATISTICS_TAIL_VARIATE_HPP_EAN_28_10_2005 +#define BOOST_STAT_STATISTICS_TAIL_VARIATE_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // tail_variate_impl + template + struct tail_variate_impl + : accumulator_base + { + // for boost::result_of + typedef + typename detail::tail_range< + typename std::vector::const_iterator + , std::vector::iterator + >::type + result_type; + + template + tail_variate_impl(Args const &args) + : variates(args[tag::tail::cache_size], args[parameter::keyword::get() | VariateType()]) + { + } + + template + void assign(Args const &args, std::size_t index) + { + this->variates[index] = args[parameter::keyword::get()]; + } + + template + result_type result(Args const &args) const + { + // getting the order result causes the indices vector to be sorted. + extractor > const some_tail = {}; + return this->do_result(some_tail(args)); + } + + private: + template + result_type do_result(TailRng const &rng) const + { + return detail::make_tail_range( + this->variates.begin() + , rng.end().base().base() // the index iterator + , rng.begin().base().base() // (begin and end reversed because these are reverse iterators) + ); + } + + std::vector variates; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::tail_variate<> +// +namespace tag +{ + template + struct tail_variate + : depends_on > + { + /// INTERNAL ONLY + /// + typedef mpl::always > impl; + }; + + struct abstract_tail_variate + : depends_on<> + { + }; + + template + struct tail_weights + : depends_on > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::tail_variate_impl impl; + }; + + struct abstract_tail_weights + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::tail_variate +// extract::tail_weights +// +namespace extract +{ + extractor const tail_variate = {}; + extractor const tail_weights = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_variate) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_weights) +} + +using extract::tail_variate; +using extract::tail_weights; + +template +struct feature_of > + : feature_of +{ +}; + +template +struct feature_of > +{ + typedef tag::abstract_tail_weights type; +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/tail_variate_means.hpp b/external/boost/accumulators/statistics/tail_variate_means.hpp new file mode 100644 index 000000000..a97eab564 --- /dev/null +++ b/external/boost/accumulators/statistics/tail_variate_means.hpp @@ -0,0 +1,262 @@ +/////////////////////////////////////////////////////////////////////////////// +// tail_variate_means.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /** + @brief Estimation of the absolute and relative tail variate means (for both left and right tails) + + For all \f$j\f$-th variates associated to the \f$\lceil n(1-\alpha)\rceil\f$ largest samples (or the + \f$\lceil n(1-\alpha)\rceil\f$ smallest samples in case of the left tail), the absolute tail means + \f$\widehat{ATM}_{n,\alpha}(X, j)\f$ are computed and returned as an iterator range. Alternatively, + the relative tail means \f$\widehat{RTM}_{n,\alpha}(X, j)\f$ are returned, which are the absolute + tail means normalized with the (non-coherent) sample tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$. + + \f[ + \widehat{ATM}_{n,\alpha}^{\mathrm{right}}(X, j) = + \frac{1}{\lceil n(1-\alpha) \rceil} + \sum_{i=\lceil \alpha n \rceil}^n \xi_{j,i} + \f] + + \f[ + \widehat{ATM}_{n,\alpha}^{\mathrm{left}}(X, j) = + \frac{1}{\lceil n\alpha \rceil} + \sum_{i=1}^{\lceil n\alpha \rceil} \xi_{j,i} + \f] + + \f[ + \widehat{RTM}_{n,\alpha}^{\mathrm{right}}(X, j) = + \frac{\sum_{i=\lceil n\alpha \rceil}^n \xi_{j,i}} + {\lceil n(1-\alpha)\rceil\widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X)} + \f] + + \f[ + \widehat{RTM}_{n,\alpha}^{\mathrm{left}}(X, j) = + \frac{\sum_{i=1}^{\lceil n\alpha \rceil} \xi_{j,i}} + {\lceil n\alpha\rceil\widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X)} + \f] + */ + + /////////////////////////////////////////////////////////////////////////////// + // tail_variate_means_impl + // by default: absolute tail_variate_means + template + struct tail_variate_means_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector array_type; + // for boost::result_of + typedef iterator_range result_type; + + tail_variate_means_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + std::size_t cnt = count(args); + + std::size_t n = static_cast( + std::ceil( + cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) + ) + ); + + std::size_t num_variates = tail_variate(args).begin()->size(); + + this->tail_means_.clear(); + this->tail_means_.resize(num_variates, Sample(0)); + + // If n is in a valid range, return result, otherwise return NaN or throw exception + if (n < static_cast(tail(args).size())) + { + this->tail_means_ = std::accumulate( + tail_variate(args).begin() + , tail_variate(args).begin() + n + , this->tail_means_ + , numeric::plus + ); + + float_type factor = n * ( (is_same::value) ? non_coherent_tail_mean(args) : 1. ); + + std::transform( + this->tail_means_.begin() + , this->tail_means_.end() + , this->tail_means_.begin() +#ifdef BOOST_NO_CXX98_BINDERS + , std::bind(std::divides(), std::placeholders::_1, factor) +#else + , std::bind2nd(std::divides(), factor) +#endif + ); + } + else + { + if (std::numeric_limits::has_quiet_NaN) + { + std::fill( + this->tail_means_.begin() + , this->tail_means_.end() + , std::numeric_limits::quiet_NaN() + ); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + } + } + return make_iterator_range(this->tail_means_); + } + + private: + + mutable array_type tail_means_; + + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::absolute_tail_variate_means +// tag::relative_tail_variate_means +// +namespace tag +{ + template + struct absolute_tail_variate_means + : depends_on, tail_variate > + { + typedef accumulators::impl::tail_variate_means_impl impl; + }; + template + struct relative_tail_variate_means + : depends_on, tail_variate > + { + typedef accumulators::impl::tail_variate_means_impl impl; + }; + struct abstract_absolute_tail_variate_means + : depends_on<> + { + }; + struct abstract_relative_tail_variate_means + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::tail_variate_means +// extract::relative_tail_variate_means +// +namespace extract +{ + extractor const tail_variate_means = {}; + extractor const relative_tail_variate_means = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_variate_means) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(relative_tail_variate_means) +} + +using extract::tail_variate_means; +using extract::relative_tail_variate_means; + +// tail_variate_means(absolute) -> absolute_tail_variate_means +template +struct as_feature(absolute)> +{ + typedef tag::absolute_tail_variate_means type; +}; + +// tail_variate_means(relative) ->relative_tail_variate_means +template +struct as_feature(relative)> +{ + typedef tag::relative_tail_variate_means type; +}; + +// Provides non-templatized extractor +template +struct feature_of > + : feature_of +{ +}; + +// Provides non-templatized extractor +template +struct feature_of > + : feature_of +{ +}; + +// So that absolute_tail_means can be automatically substituted +// with absolute_weighted_tail_means when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::absolute_weighted_tail_variate_means type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +// So that relative_tail_means can be automatically substituted +// with relative_weighted_tail_means when the weight parameter is non-void. +template +struct as_weighted_feature > +{ + typedef tag::relative_weighted_tail_variate_means type; +}; + +template +struct feature_of > + : feature_of > +{ +}; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/times2_iterator.hpp b/external/boost/accumulators/statistics/times2_iterator.hpp new file mode 100644 index 000000000..dbd81af7c --- /dev/null +++ b/external/boost/accumulators/statistics/times2_iterator.hpp @@ -0,0 +1,70 @@ +/////////////////////////////////////////////////////////////////////////////// +// times2_iterator.hpp +// +// Copyright 2006 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_TIMES2_ITERATOR_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_TIMES2_ITERATOR_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace detail +{ + typedef transform_iterator< +#ifdef BOOST_NO_CXX98_BINDERS + decltype(std::bind(std::multiplies(), 2, std::placeholders::_1)) +#else + std::binder1st > +#endif + , counting_iterator + > times2_iterator; + + inline times2_iterator make_times2_iterator(std::size_t i) + { + return make_transform_iterator( + make_counting_iterator(i) +#ifdef BOOST_NO_CXX98_BINDERS + , std::bind(std::multiplies(), 2, std::placeholders::_1) +#else + , std::bind1st(std::multiplies(), 2) +#endif + ); + } + + /////////////////////////////////////////////////////////////////////////////// + // lvalue_index_iterator + template + struct lvalue_index_iterator + : Base + { + lvalue_index_iterator() + : Base() + {} + + lvalue_index_iterator(Base base) + : Base(base) + { + } + + typename Base::reference operator [](typename Base::difference_type n) const + { + return *(*this + n); + } + }; +} // namespace detail + +}} + +#endif diff --git a/external/boost/accumulators/statistics/variance.hpp b/external/boost/accumulators/statistics/variance.hpp new file mode 100644 index 000000000..baac55696 --- /dev/null +++ b/external/boost/accumulators/statistics/variance.hpp @@ -0,0 +1,236 @@ +/////////////////////////////////////////////////////////////////////////////// +// variance.hpp +// +// Copyright 2005 Daniel Egloff, Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_VARIANCE_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_VARIANCE_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + //! Lazy calculation of variance. + /*! + Default sample variance implementation based on the second moment \f$ M_n^{(2)} \f$ moment<2>, mean and count. + \f[ + \sigma_n^2 = M_n^{(2)} - \mu_n^2. + \f] + where + \f[ + \mu_n = \frac{1}{n} \sum_{i = 1}^n x_i. + \f] + is the estimate of the sample mean and \f$n\f$ is the number of samples. + */ + template + struct lazy_variance_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + lazy_variance_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + extractor mean; + result_type tmp = mean(args); + return accumulators::moment<2>(args) - tmp * tmp; + } + }; + + //! Iterative calculation of variance. + /*! + Iterative calculation of sample variance \f$\sigma_n^2\f$ according to the formula + \f[ + \sigma_n^2 = \frac{1}{n} \sum_{i = 1}^n (x_i - \mu_n)^2 = \frac{n-1}{n} \sigma_{n-1}^2 + \frac{1}{n-1}(x_n - \mu_n)^2. + \f] + where + \f[ + \mu_n = \frac{1}{n} \sum_{i = 1}^n x_i. + \f] + is the estimate of the sample mean and \f$n\f$ is the number of samples. + + Note that the sample variance is not defined for \f$n <= 1\f$. + + A simplification can be obtained by the approximate recursion + \f[ + \sigma_n^2 \approx \frac{n-1}{n} \sigma_{n-1}^2 + \frac{1}{n}(x_n - \mu_n)^2. + \f] + because the difference + \f[ + \left(\frac{1}{n-1} - \frac{1}{n}\right)(x_n - \mu_n)^2 = \frac{1}{n(n-1)}(x_n - \mu_n)^2. + \f] + converges to zero as \f$n \rightarrow \infty\f$. However, for small \f$ n \f$ the difference + can be non-negligible. + */ + template + struct variance_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + variance_impl(Args const &args) + : variance(numeric::fdiv(args[sample | Sample()], numeric::one::value)) + { + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + + if(cnt > 1) + { + extractor mean; + result_type tmp = args[parameter::keyword::get()] - mean(args); + this->variance = + numeric::fdiv(this->variance * (cnt - 1), cnt) + + numeric::fdiv(tmp * tmp, cnt - 1); + } + } + + result_type result(dont_care) const + { + return this->variance; + } + + private: + result_type variance; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::variance +// tag::immediate_variance +// +namespace tag +{ + struct lazy_variance + : depends_on, mean> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::lazy_variance_impl impl; + }; + + struct variance + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::variance_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::lazy_variance +// extract::variance +// +namespace extract +{ + extractor const lazy_variance = {}; + extractor const variance = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_variance) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(variance) +} + +using extract::lazy_variance; +using extract::variance; + +// variance(lazy) -> lazy_variance +template<> +struct as_feature +{ + typedef tag::lazy_variance type; +}; + +// variance(immediate) -> variance +template<> +struct as_feature +{ + typedef tag::variance type; +}; + +// for the purposes of feature-based dependency resolution, +// immediate_variance provides the same feature as variance +template<> +struct feature_of + : feature_of +{ +}; + +// So that variance can be automatically substituted with +// weighted_variance when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::weighted_variance type; +}; + +// for the purposes of feature-based dependency resolution, +// weighted_variance provides the same feature as variance +template<> +struct feature_of + : feature_of +{ +}; + +// So that immediate_variance can be automatically substituted with +// immediate_weighted_variance when the weight parameter is non-void. +template<> +struct as_weighted_feature +{ + typedef tag::lazy_weighted_variance type; +}; + +// for the purposes of feature-based dependency resolution, +// immediate_weighted_variance provides the same feature as immediate_variance +template<> +struct feature_of + : feature_of +{ +}; + +//////////////////////////////////////////////////////////////////////////// +//// droppable_accumulator +//// need to specialize droppable lazy variance to cache the result at the +//// point the accumulator is dropped. +///// INTERNAL ONLY +///// +//template +//struct droppable_accumulator > +// : droppable_accumulator_base< +// with_cached_result > +// > +//{ +// template +// droppable_accumulator(Args const &args) +// : droppable_accumulator::base(args) +// { +// } +//}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/variates/covariate.hpp b/external/boost/accumulators/statistics/variates/covariate.hpp new file mode 100644 index 000000000..aba113a4a --- /dev/null +++ b/external/boost/accumulators/statistics/variates/covariate.hpp @@ -0,0 +1,25 @@ +/////////////////////////////////////////////////////////////////////////////// +// weight.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_VARIATES_COVARIATE_HPP_EAN_03_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_VARIATES_COVARIATE_HPP_EAN_03_11_2005 + +#include +#include + +namespace boost { namespace accumulators +{ + +BOOST_PARAMETER_KEYWORD(tag, covariate1) +BOOST_PARAMETER_KEYWORD(tag, covariate2) + +BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariate1) +BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariate2) + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_covariance.hpp b/external/boost/accumulators/statistics/weighted_covariance.hpp new file mode 100644 index 000000000..25d613c12 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_covariance.hpp @@ -0,0 +1,133 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_covariance.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_COVARIANCE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_COVARIANCE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // for numeric::outer_product() and type traits +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_covariance_impl + // + /** + @brief Weighted Covariance Estimator + + An iterative Monte Carlo estimator for the weighted covariance \f$\mathrm{Cov}(X,X')\f$, where \f$X\f$ is a sample + and \f$X'\f$ a variate, is given by: + + \f[ + \hat{c}_n = \frac{\bar{w}_n-w_n}{\bar{w}_n} \hat{c}_{n-1} + \frac{w_n}{\bar{w}_n-w_n}(X_n - \hat{\mu}_n)(X_n' - \hat{\mu}_n'), + \quad n\ge2,\quad\hat{c}_1 = 0, + \f] + + \f$\hat{\mu}_n\f$ and \f$\hat{\mu}_n'\f$ being the weighted means of the samples and variates and + \f$\bar{w}_n\f$ the sum of the \f$n\f$ first weights \f$w_i\f$. + */ + template + struct weighted_covariance_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type>::result_type weighted_sample_type; + typedef typename numeric::functional::multiplies::result_type>::result_type weighted_variate_type; + // for boost::result_of + typedef typename numeric::functional::outer_product::result_type result_type; + + template + weighted_covariance_impl(Args const &args) + : cov_( + numeric::outer_product( + numeric::fdiv(args[sample | Sample()], (std::size_t)1) + * numeric::one::value + , numeric::fdiv(args[parameter::keyword::get() | VariateType()], (std::size_t)1) + * numeric::one::value + ) + ) + { + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + + if (cnt > 1) + { + extractor > const some_weighted_mean_of_variates = {}; + + this->cov_ = this->cov_ * (sum_of_weights(args) - args[weight]) / sum_of_weights(args) + + numeric::outer_product( + some_weighted_mean_of_variates(args) - args[parameter::keyword::get()] + , weighted_mean(args) - args[sample] + ) * args[weight] / (sum_of_weights(args) - args[weight]); + } + } + + result_type result(dont_care) const + { + return this->cov_; + } + + private: + result_type cov_; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_covariance +// +namespace tag +{ + template + struct weighted_covariance + : depends_on > + { + typedef accumulators::impl::weighted_covariance_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_covariance +// +namespace extract +{ + extractor const weighted_covariance = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_covariance) +} + +using extract::weighted_covariance; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_density.hpp b/external/boost/accumulators/statistics/weighted_density.hpp new file mode 100644 index 000000000..140736801 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_density.hpp @@ -0,0 +1,221 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_density.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_DENSITY_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_DENSITY_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // for named parameters density_cache_size and density_num_bins + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_density_impl + // density histogram for weighted samples + /** + @brief Histogram density estimator for weighted samples + + The histogram density estimator returns a histogram of the sample distribution. The positions and sizes of the bins + are determined using a specifiable number of cached samples (cache_size). The range between the minimum and the + maximum of the cached samples is subdivided into a specifiable number of bins (num_bins) of same size. Additionally, + an under- and an overflow bin is added to capture future under- and overflow samples. Once the bins are determined, + the cached samples and all subsequent samples are added to the correct bins. At the end, a range of std::pair is + returned, where each pair contains the position of the bin (lower bound) and the sum of the weights (normalized with the + sum of all weights). + + @param density_cache_size Number of first samples used to determine min and max. + @param density_num_bins Number of bins (two additional bins collect under- and overflow samples). + */ + template + struct weighted_density_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector > histogram_type; + typedef std::vector array_type; + // for boost::result_of + typedef iterator_range result_type; + + template + weighted_density_impl(Args const &args) + : cache_size(args[density_cache_size]) + , cache(cache_size) + , num_bins(args[density_num_bins]) + , samples_in_bin(num_bins + 2, 0.) + , bin_positions(num_bins + 2) + , histogram( + num_bins + 2 + , std::make_pair( + numeric::fdiv(args[sample | Sample()],(std::size_t)1) + , numeric::fdiv(args[sample | Sample()],(std::size_t)1) + ) + ) + , is_dirty(true) + { + } + + template + void operator ()(Args const &args) + { + this->is_dirty = true; + + std::size_t cnt = count(args); + + // Fill up cache with cache_size first samples + if (cnt <= this->cache_size) + { + this->cache[cnt - 1] = std::make_pair(args[sample], args[weight]); + } + + // Once cache_size samples have been accumulated, create num_bins bins of same size between + // the minimum and maximum of the cached samples as well as an under- and an overflow bin. + // Store their lower bounds (bin_positions) and fill the bins with the cached samples (samples_in_bin). + if (cnt == this->cache_size) + { + float_type minimum = numeric::fdiv((min)(args),(std::size_t)1); + float_type maximum = numeric::fdiv((max)(args),(std::size_t)1); + float_type bin_size = numeric::fdiv(maximum - minimum, this->num_bins); + + // determine bin positions (their lower bounds) + for (std::size_t i = 0; i < this->num_bins + 2; ++i) + { + this->bin_positions[i] = minimum + (i - 1.) * bin_size; + } + + for (typename histogram_type::const_iterator iter = this->cache.begin(); iter != this->cache.end(); ++iter) + { + if (iter->first < this->bin_positions[1]) + { + this->samples_in_bin[0] += iter->second; + } + else if (iter->first >= this->bin_positions[this->num_bins + 1]) + { + this->samples_in_bin[this->num_bins + 1] += iter->second; + } + else + { + typename array_type::iterator it = std::upper_bound( + this->bin_positions.begin() + , this->bin_positions.end() + , iter->first + ); + + std::size_t d = std::distance(this->bin_positions.begin(), it); + this->samples_in_bin[d - 1] += iter->second; + } + } + } + // Add each subsequent sample to the correct bin + else if (cnt > this->cache_size) + { + if (args[sample] < this->bin_positions[1]) + { + this->samples_in_bin[0] += args[weight]; + } + else if (args[sample] >= this->bin_positions[this->num_bins + 1]) + { + this->samples_in_bin[this->num_bins + 1] += args[weight]; + } + else + { + typename array_type::iterator it = std::upper_bound( + this->bin_positions.begin() + , this->bin_positions.end() + , args[sample] + ); + + std::size_t d = std::distance(this->bin_positions.begin(), it); + this->samples_in_bin[d - 1] += args[weight]; + } + } + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + // creates a vector of std::pair where each pair i holds + // the values bin_positions[i] (x-axis of histogram) and + // samples_in_bin[i] / cnt (y-axis of histogram). + + for (std::size_t i = 0; i < this->num_bins + 2; ++i) + { + this->histogram[i] = std::make_pair(this->bin_positions[i], numeric::fdiv(this->samples_in_bin[i], sum_of_weights(args))); + } + } + + // returns a range of pairs + return make_iterator_range(this->histogram); + } + + private: + std::size_t cache_size; // number of cached samples + histogram_type cache; // cache to store the first cache_size samples with their weights as std::pair + std::size_t num_bins; // number of bins + array_type samples_in_bin; // number of samples in each bin + array_type bin_positions; // lower bounds of bins + mutable histogram_type histogram; // histogram + mutable bool is_dirty; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_density +// +namespace tag +{ + struct weighted_density + : depends_on + , density_cache_size + , density_num_bins + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_density_impl impl; + + #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED + static boost::parameter::keyword const cache_size; + static boost::parameter::keyword const num_bins; + #endif + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_density +// +namespace extract +{ + extractor const weighted_density = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_density) +} + +using extract::weighted_density; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_extended_p_square.hpp b/external/boost/accumulators/statistics/weighted_extended_p_square.hpp new file mode 100644 index 000000000..ac857e056 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_extended_p_square.hpp @@ -0,0 +1,290 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_extended_p_square.hpp +// +// Copyright 2005 Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_EXTENDED_P_SQUARE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_EXTENDED_P_SQUARE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_extended_p_square_impl + // multiple quantile estimation with weighted samples + /** + @brief Multiple quantile estimation with the extended \f$P^2\f$ algorithm for weighted samples + + This version of the extended \f$P^2\f$ algorithm extends the extended \f$P^2\f$ algorithm to + support weighted samples. The extended \f$P^2\f$ algorithm dynamically estimates several + quantiles without storing samples. Assume that \f$m\f$ quantiles + \f$\xi_{p_1}, \ldots, \xi_{p_m}\f$ are to be estimated. Instead of storing the whole sample + cumulative distribution, the algorithm maintains only \f$m+2\f$ principal markers and + \f$m+1\f$ middle markers, whose positions are updated with each sample and whose heights + are adjusted (if necessary) using a piecewise-parablic formula. The heights of the principal + markers are the current estimates of the quantiles and are returned as an iterator range. + + For further details, see + + K. E. E. Raatikainen, Simultaneous estimation of several quantiles, Simulation, Volume 49, + Number 4 (October), 1986, p. 159-164. + + The extended \f$ P^2 \f$ algorithm generalizes the \f$ P^2 \f$ algorithm of + + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and + histograms without storing observations, Communications of the ACM, + Volume 28 (October), Number 10, 1985, p. 1076-1085. + + @param extended_p_square_probabilities A vector of quantile probabilities. + */ + template + struct weighted_extended_p_square_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector array_type; + // for boost::result_of + typedef iterator_range< + detail::lvalue_index_iterator< + permutation_iterator< + typename array_type::const_iterator + , detail::times2_iterator + > + > + > result_type; + + template + weighted_extended_p_square_impl(Args const &args) + : probabilities( + boost::begin(args[extended_p_square_probabilities]) + , boost::end(args[extended_p_square_probabilities]) + ) + , heights(2 * probabilities.size() + 3) + , actual_positions(heights.size()) + , desired_positions(heights.size()) + { + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + std::size_t sample_cell = 1; // k + std::size_t num_quantiles = this->probabilities.size(); + + // m+2 principal markers and m+1 middle markers + std::size_t num_markers = 2 * num_quantiles + 3; + + // first accumulate num_markers samples + if(cnt <= num_markers) + { + this->heights[cnt - 1] = args[sample]; + this->actual_positions[cnt - 1] = args[weight]; + + // complete the initialization of heights (and actual_positions) by sorting + if(cnt == num_markers) + { + // TODO: we need to sort the initial samples (in heights) in ascending order and + // sort their weights (in actual_positions) the same way. The following lines do + // it, but there must be a better and more efficient way of doing this. + typename array_type::iterator it_begin, it_end, it_min; + + it_begin = this->heights.begin(); + it_end = this->heights.end(); + + std::size_t pos = 0; + + while (it_begin != it_end) + { + it_min = std::min_element(it_begin, it_end); + std::size_t d = std::distance(it_begin, it_min); + std::swap(*it_begin, *it_min); + std::swap(this->actual_positions[pos], this->actual_positions[pos + d]); + ++it_begin; + ++pos; + } + + // calculate correct initial actual positions + for (std::size_t i = 1; i < num_markers; ++i) + { + actual_positions[i] += actual_positions[i - 1]; + } + } + } + else + { + if(args[sample] < this->heights[0]) + { + this->heights[0] = args[sample]; + this->actual_positions[0] = args[weight]; + sample_cell = 1; + } + else if(args[sample] >= this->heights[num_markers - 1]) + { + this->heights[num_markers - 1] = args[sample]; + sample_cell = num_markers - 1; + } + else + { + // find cell k = sample_cell such that heights[k-1] <= sample < heights[k] + + typedef typename array_type::iterator iterator; + iterator it = std::upper_bound( + this->heights.begin() + , this->heights.end() + , args[sample] + ); + + sample_cell = std::distance(this->heights.begin(), it); + } + + // update actual position of all markers above sample_cell + for(std::size_t i = sample_cell; i < num_markers; ++i) + { + this->actual_positions[i] += args[weight]; + } + + // compute desired positions + { + this->desired_positions[0] = this->actual_positions[0]; + this->desired_positions[num_markers - 1] = sum_of_weights(args); + this->desired_positions[1] = (sum_of_weights(args) - this->actual_positions[0]) * probabilities[0] + / 2. + this->actual_positions[0]; + this->desired_positions[num_markers - 2] = (sum_of_weights(args) - this->actual_positions[0]) + * (probabilities[num_quantiles - 1] + 1.) + / 2. + this->actual_positions[0]; + + for (std::size_t i = 0; i < num_quantiles; ++i) + { + this->desired_positions[2 * i + 2] = (sum_of_weights(args) - this->actual_positions[0]) + * probabilities[i] + this->actual_positions[0]; + } + + for (std::size_t i = 1; i < num_quantiles; ++i) + { + this->desired_positions[2 * i + 1] = (sum_of_weights(args) - this->actual_positions[0]) + * (probabilities[i - 1] + probabilities[i]) + / 2. + this->actual_positions[0]; + } + } + + // adjust heights and actual_positions of markers 1 to num_markers - 2 if necessary + for (std::size_t i = 1; i <= num_markers - 2; ++i) + { + // offset to desired position + float_type d = this->desired_positions[i] - this->actual_positions[i]; + + // offset to next position + float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; + + // offset to previous position + float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; + + // height ds + float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; + float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; + + if((d >= 1 && dp > 1) || (d <= -1 && dm < -1)) + { + short sign_d = static_cast(d / std::abs(d)); + + float_type h = this->heights[i] + sign_d / (dp - dm) * ((sign_d - dm)*hp + (dp - sign_d) * hm); + + // try adjusting heights[i] using p-squared formula + if(this->heights[i - 1] < h && h < this->heights[i + 1]) + { + this->heights[i] = h; + } + else + { + // use linear formula + if(d > 0) + { + this->heights[i] += hp; + } + if(d < 0) + { + this->heights[i] -= hm; + } + } + this->actual_positions[i] += sign_d; + } + } + } + } + + result_type result(dont_care) const + { + // for i in [1,probabilities.size()], return heights[i * 2] + detail::times2_iterator idx_begin = detail::make_times2_iterator(1); + detail::times2_iterator idx_end = detail::make_times2_iterator(this->probabilities.size() + 1); + + return result_type( + make_permutation_iterator(this->heights.begin(), idx_begin) + , make_permutation_iterator(this->heights.begin(), idx_end) + ); + } + + private: + array_type probabilities; // the quantile probabilities + array_type heights; // q_i + array_type actual_positions; // n_i + array_type desired_positions; // d_i + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_extended_p_square +// +namespace tag +{ + struct weighted_extended_p_square + : depends_on + , extended_p_square_probabilities + { + typedef accumulators::impl::weighted_extended_p_square_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_extended_p_square +// +namespace extract +{ + extractor const weighted_extended_p_square = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_extended_p_square) +} + +using extract::weighted_extended_p_square; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_kurtosis.hpp b/external/boost/accumulators/statistics/weighted_kurtosis.hpp new file mode 100644 index 000000000..3fd4ed7b4 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_kurtosis.hpp @@ -0,0 +1,105 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_kurtosis.hpp +// +// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_KURTOSIS_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_KURTOSIS_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_kurtosis_impl + /** + @brief Kurtosis estimation for weighted samples + + The kurtosis of a sample distribution is defined as the ratio of the 4th central moment and the square of the 2nd central + moment (the variance) of the samples, minus 3. The term \f$ -3 \f$ is added in order to ensure that the normal distribution + has zero kurtosis. The kurtosis can also be expressed by the simple moments: + + \f[ + \hat{g}_2 = + \frac + {\widehat{m}_n^{(4)}-4\widehat{m}_n^{(3)}\hat{\mu}_n+6\widehat{m}_n^{(2)}\hat{\mu}_n^2-3\hat{\mu}_n^4} + {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^2} - 3, + \f] + + where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the + \f$ n \f$ samples. + + The kurtosis estimator for weighted samples is formally identical to the estimator for unweighted samples, except that + the weighted counterparts of all measures it depends on are to be taken. + */ + template + struct weighted_kurtosis_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + weighted_kurtosis_impl(dont_care) + { + } + + template + result_type result(Args const &args) const + { + return numeric::fdiv( + accumulators::weighted_moment<4>(args) + - 4. * accumulators::weighted_moment<3>(args) * weighted_mean(args) + + 6. * accumulators::weighted_moment<2>(args) * weighted_mean(args) * weighted_mean(args) + - 3. * weighted_mean(args) * weighted_mean(args) * weighted_mean(args) * weighted_mean(args) + , ( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) + * ( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) + ) - 3.; + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_kurtosis +// +namespace tag +{ + struct weighted_kurtosis + : depends_on, weighted_moment<3>, weighted_moment<4> > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_kurtosis_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_kurtosis +// +namespace extract +{ + extractor const weighted_kurtosis = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_kurtosis) +} + +using extract::weighted_kurtosis; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_mean.hpp b/external/boost/accumulators/statistics/weighted_mean.hpp new file mode 100644 index 000000000..a80ef0984 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_mean.hpp @@ -0,0 +1,189 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_mean.hpp +// +// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEAN_HPP_EAN_03_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEAN_HPP_EAN_03_11_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_mean_impl + // lazy, by default + template + struct weighted_mean_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + weighted_mean_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + typedef + typename mpl::if_< + is_same + , tag::weighted_sum + , tag::weighted_sum_of_variates + >::type + weighted_sum_tag; + + extractor const some_weighted_sum = {}; + + return numeric::fdiv(some_weighted_sum(args), sum_of_weights(args)); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // immediate_weighted_mean_impl + // immediate + template + struct immediate_weighted_mean_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + immediate_weighted_mean_impl(Args const &args) + : mean( + numeric::fdiv( + args[parameter::keyword::get() | Sample()] + * numeric::one::value + , numeric::one::value + ) + ) + { + } + + template + void operator ()(Args const &args) + { + // Matthias: + // need to pass the argument pack since the weight might be an external + // accumulator set passed as a named parameter + Weight w_sum = sum_of_weights(args); + Weight w = args[weight]; + weighted_sample const &s = args[parameter::keyword::get()] * w; + this->mean = numeric::fdiv(this->mean * (w_sum - w) + s, w_sum); + } + + result_type result(dont_care) const + { + return this->mean; + } + + private: + result_type mean; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_mean +// tag::immediate_weighted_mean +// +namespace tag +{ + struct weighted_mean + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_mean_impl impl; + }; + struct immediate_weighted_mean + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::immediate_weighted_mean_impl impl; + }; + template + struct weighted_mean_of_variates + : depends_on > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_mean_impl impl; + }; + template + struct immediate_weighted_mean_of_variates + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::immediate_weighted_mean_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_mean +// extract::weighted_mean_of_variates +// +namespace extract +{ + extractor const weighted_mean = {}; + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, weighted_mean_of_variates, (typename)(typename)) + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_mean) +} + +using extract::weighted_mean; +using extract::weighted_mean_of_variates; + +// weighted_mean(lazy) -> weighted_mean +template<> +struct as_feature +{ + typedef tag::weighted_mean type; +}; + +// weighted_mean(immediate) -> immediate_weighted_mean +template<> +struct as_feature +{ + typedef tag::immediate_weighted_mean type; +}; + +// weighted_mean_of_variates(lazy) -> weighted_mean_of_variates +template +struct as_feature(lazy)> +{ + typedef tag::weighted_mean_of_variates type; +}; + +// weighted_mean_of_variates(immediate) -> immediate_weighted_mean_of_variates +template +struct as_feature(immediate)> +{ + typedef tag::immediate_weighted_mean_of_variates type; +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_median.hpp b/external/boost/accumulators/statistics/weighted_median.hpp new file mode 100644 index 000000000..ed7cadb33 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_median.hpp @@ -0,0 +1,237 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_median.hpp +// +// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEDIAN_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEDIAN_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_median_impl + // + /** + @brief Median estimation for weighted samples based on the \f$P^2\f$ quantile estimator + + The \f$P^2\f$ algorithm for weighted samples is invoked with a quantile probability of 0.5. + */ + template + struct weighted_median_impl + : accumulator_base + { + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + weighted_median_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + return weighted_p_square_quantile_for_median(args); + } + }; + + /////////////////////////////////////////////////////////////////////////////// + // with_density_weighted_median_impl + // + /** + @brief Median estimation for weighted samples based on the density estimator + + The algorithm determines the bin in which the \f$0.5*cnt\f$-th sample lies, \f$cnt\f$ being + the total number of samples. It returns the approximate horizontal position of this sample, + based on a linear interpolation inside the bin. + */ + template + struct with_density_weighted_median_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector > histogram_type; + typedef iterator_range range_type; + // for boost::result_of + typedef float_type result_type; + + template + with_density_weighted_median_impl(Args const &args) + : sum(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , is_dirty(true) + { + } + + void operator ()(dont_care) + { + this->is_dirty = true; + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + std::size_t cnt = count(args); + range_type histogram = weighted_density(args); + typename range_type::iterator it = histogram.begin(); + while (this->sum < 0.5 * cnt) + { + this->sum += it->second * cnt; + ++it; + } + --it; + float_type over = numeric::fdiv(this->sum - 0.5 * cnt, it->second * cnt); + this->median = it->first * over + (it + 1)->first * ( 1. - over ); + } + + return this->median; + } + + private: + mutable float_type sum; + mutable bool is_dirty; + mutable float_type median; + }; + + /////////////////////////////////////////////////////////////////////////////// + // with_p_square_cumulative_distribution_weighted_median_impl + // + /** + @brief Median estimation for weighted samples based on the \f$P^2\f$ cumulative distribution estimator + + The algorithm determines the first (leftmost) bin with a height exceeding 0.5. It + returns the approximate horizontal position of where the cumulative distribution + equals 0.5, based on a linear interpolation inside the bin. + */ + template + struct with_p_square_cumulative_distribution_weighted_median_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector > histogram_type; + typedef iterator_range range_type; + // for boost::result_of + typedef float_type result_type; + + with_p_square_cumulative_distribution_weighted_median_impl(dont_care) + : is_dirty(true) + { + } + + void operator ()(dont_care) + { + this->is_dirty = true; + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + range_type histogram = weighted_p_square_cumulative_distribution(args); + typename range_type::iterator it = histogram.begin(); + while (it->second < 0.5) + { + ++it; + } + float_type over = numeric::fdiv(it->second - 0.5, it->second - (it - 1)->second); + this->median = it->first * over + (it + 1)->first * ( 1. - over ); + } + + return this->median; + } + private: + mutable bool is_dirty; + mutable float_type median; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_median +// tag::with_density_weighted_median +// tag::with_p_square_cumulative_distribution_weighted_median +// +namespace tag +{ + struct weighted_median + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_median_impl impl; + }; + struct with_density_weighted_median + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::with_density_weighted_median_impl impl; + }; + struct with_p_square_cumulative_distribution_weighted_median + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::with_p_square_cumulative_distribution_weighted_median_impl impl; + }; + +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_median +// +namespace extract +{ + extractor const weighted_median = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_median) +} + +using extract::weighted_median; +// weighted_median(with_p_square_quantile) -> weighted_median +template<> +struct as_feature +{ + typedef tag::weighted_median type; +}; + +// weighted_median(with_density) -> with_density_weighted_median +template<> +struct as_feature +{ + typedef tag::with_density_weighted_median type; +}; + +// weighted_median(with_p_square_cumulative_distribution) -> with_p_square_cumulative_distribution_weighted_median +template<> +struct as_feature +{ + typedef tag::with_p_square_cumulative_distribution_weighted_median type; +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_moment.hpp b/external/boost/accumulators/statistics/weighted_moment.hpp new file mode 100644 index 000000000..011701c70 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_moment.hpp @@ -0,0 +1,96 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_moment.hpp +// +// Copyright 2006, Eric Niebler, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MOMENT_HPP_EAN_15_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MOMENT_HPP_EAN_15_11_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // for pow() +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_moment_impl + template + struct weighted_moment_impl + : accumulator_base // TODO: also depends_on sum of powers + { + BOOST_MPL_ASSERT_RELATION(N::value, >, 0); + typedef typename numeric::functional::multiplies::result_type weighted_sample; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + weighted_moment_impl(Args const &args) + : sum(args[sample | Sample()] * numeric::one::value) + { + } + + template + void operator ()(Args const &args) + { + this->sum += args[weight] * numeric::pow(args[sample], N()); + } + + template + result_type result(Args const &args) const + { + return numeric::fdiv(this->sum, sum_of_weights(args)); + } + + private: + weighted_sample sum; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_moment +// +namespace tag +{ + template + struct weighted_moment + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_moment_impl, mpl::_1, mpl::_2> impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_moment +// +namespace extract +{ + BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, weighted_moment, (int)) +} + +using extract::weighted_moment; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp b/external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp new file mode 100644 index 000000000..ce750ed1f --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp @@ -0,0 +1,262 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_p_square_cumul_dist.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // for named parameter p_square_cumulative_distribution_num_cells + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_p_square_cumulative_distribution_impl + // cumulative distribution calculation (as histogram) + /** + @brief Histogram calculation of the cumulative distribution with the \f$P^2\f$ algorithm for weighted samples + + A histogram of the sample cumulative distribution is computed dynamically without storing samples + based on the \f$ P^2 \f$ algorithm for weighted samples. The returned histogram has a specifiable + amount (num_cells) equiprobable (and not equal-sized) cells. + + Note that applying importance sampling results in regions to be more and other regions to be less + accurately estimated than without importance sampling, i.e., with unweighted samples. + + For further details, see + + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and + histograms without storing observations, Communications of the ACM, + Volume 28 (October), Number 10, 1985, p. 1076-1085. + + @param p_square_cumulative_distribution_num_cells + */ + template + struct weighted_p_square_cumulative_distribution_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + typedef typename numeric::functional::fdiv::result_type float_type; + typedef std::vector > histogram_type; + typedef std::vector array_type; + // for boost::result_of + typedef iterator_range result_type; + + template + weighted_p_square_cumulative_distribution_impl(Args const &args) + : num_cells(args[p_square_cumulative_distribution_num_cells]) + , heights(num_cells + 1) + , actual_positions(num_cells + 1) + , desired_positions(num_cells + 1) + , histogram(num_cells + 1) + , is_dirty(true) + { + } + + template + void operator ()(Args const &args) + { + this->is_dirty = true; + + std::size_t cnt = count(args); + std::size_t sample_cell = 1; // k + std::size_t b = this->num_cells; + + // accumulate num_cells + 1 first samples + if (cnt <= b + 1) + { + this->heights[cnt - 1] = args[sample]; + this->actual_positions[cnt - 1] = args[weight]; + + // complete the initialization of heights by sorting + if (cnt == b + 1) + { + //std::sort(this->heights.begin(), this->heights.end()); + + // TODO: we need to sort the initial samples (in heights) in ascending order and + // sort their weights (in actual_positions) the same way. The following lines do + // it, but there must be a better and more efficient way of doing this. + typename array_type::iterator it_begin, it_end, it_min; + + it_begin = this->heights.begin(); + it_end = this->heights.end(); + + std::size_t pos = 0; + + while (it_begin != it_end) + { + it_min = std::min_element(it_begin, it_end); + std::size_t d = std::distance(it_begin, it_min); + std::swap(*it_begin, *it_min); + std::swap(this->actual_positions[pos], this->actual_positions[pos + d]); + ++it_begin; + ++pos; + } + + // calculate correct initial actual positions + for (std::size_t i = 1; i < b; ++i) + { + this->actual_positions[i] += this->actual_positions[i - 1]; + } + } + } + else + { + // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values + if (args[sample] < this->heights[0]) + { + this->heights[0] = args[sample]; + this->actual_positions[0] = args[weight]; + sample_cell = 1; + } + else if (this->heights[b] <= args[sample]) + { + this->heights[b] = args[sample]; + sample_cell = b; + } + else + { + typename array_type::iterator it; + it = std::upper_bound( + this->heights.begin() + , this->heights.end() + , args[sample] + ); + + sample_cell = std::distance(this->heights.begin(), it); + } + + // increment positions of markers above sample_cell + for (std::size_t i = sample_cell; i < b + 1; ++i) + { + this->actual_positions[i] += args[weight]; + } + + // determine desired marker positions + for (std::size_t i = 1; i < b + 1; ++i) + { + this->desired_positions[i] = this->actual_positions[0] + + numeric::fdiv((i-1) * (sum_of_weights(args) - this->actual_positions[0]), b); + } + + // adjust heights of markers 2 to num_cells if necessary + for (std::size_t i = 1; i < b; ++i) + { + // offset to desire position + float_type d = this->desired_positions[i] - this->actual_positions[i]; + + // offset to next position + float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; + + // offset to previous position + float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; + + // height ds + float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; + float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; + + if ( ( d >= 1. && dp > 1. ) || ( d <= -1. && dm < -1. ) ) + { + short sign_d = static_cast(d / std::abs(d)); + + // try adjusting heights[i] using p-squared formula + float_type h = this->heights[i] + sign_d / (dp - dm) * ( (sign_d - dm) * hp + (dp - sign_d) * hm ); + + if ( this->heights[i - 1] < h && h < this->heights[i + 1] ) + { + this->heights[i] = h; + } + else + { + // use linear formula + if (d>0) + { + this->heights[i] += hp; + } + if (d<0) + { + this->heights[i] -= hm; + } + } + this->actual_positions[i] += sign_d; + } + } + } + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty) + { + this->is_dirty = false; + + // creates a vector of std::pair where each pair i holds + // the values heights[i] (x-axis of histogram) and + // actual_positions[i] / sum_of_weights (y-axis of histogram) + + for (std::size_t i = 0; i < this->histogram.size(); ++i) + { + this->histogram[i] = std::make_pair(this->heights[i], numeric::fdiv(this->actual_positions[i], sum_of_weights(args))); + } + } + + return make_iterator_range(this->histogram); + } + + private: + std::size_t num_cells; // number of cells b + array_type heights; // q_i + array_type actual_positions; // n_i + array_type desired_positions; // n'_i + mutable histogram_type histogram; // histogram + mutable bool is_dirty; + }; + +} // namespace detail + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_p_square_cumulative_distribution +// +namespace tag +{ + struct weighted_p_square_cumulative_distribution + : depends_on + , p_square_cumulative_distribution_num_cells + { + typedef accumulators::impl::weighted_p_square_cumulative_distribution_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_p_square_cumulative_distribution +// +namespace extract +{ + extractor const weighted_p_square_cumulative_distribution = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_p_square_cumulative_distribution) +} + +using extract::weighted_p_square_cumulative_distribution; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp b/external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp new file mode 100644 index 000000000..918970e8d --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_p_square_cumulative_distribution.hpp +// +// Copyright 2012 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 + +#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) +# pragma message ("Warning: This header is deprecated. Please use: boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp") +#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) +# warning "This header is deprecated. Please use: boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp" +#endif + +#include + +#endif diff --git a/external/boost/accumulators/statistics/weighted_p_square_quantile.hpp b/external/boost/accumulators/statistics/weighted_p_square_quantile.hpp new file mode 100644 index 000000000..2ebc7b184 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_p_square_quantile.hpp @@ -0,0 +1,255 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_p_square_quantile.hpp +// +// Copyright 2005 Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl { + /////////////////////////////////////////////////////////////////////////////// + // weighted_p_square_quantile_impl + // single quantile estimation with weighted samples + /** + @brief Single quantile estimation with the \f$P^2\f$ algorithm for weighted samples + + This version of the \f$P^2\f$ algorithm extends the \f$P^2\f$ algorithm to support weighted samples. + The \f$P^2\f$ algorithm estimates a quantile dynamically without storing samples. Instead of + storing the whole sample cumulative distribution, only five points (markers) are stored. The heights + of these markers are the minimum and the maximum of the samples and the current estimates of the + \f$(p/2)\f$-, \f$p\f$ - and \f$(1+p)/2\f$ -quantiles. Their positions are equal to the number + of samples that are smaller or equal to the markers. Each time a new sample is added, the + positions of the markers are updated and if necessary their heights are adjusted using a piecewise- + parabolic formula. + + For further details, see + + R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and + histograms without storing observations, Communications of the ACM, + Volume 28 (October), Number 10, 1985, p. 1076-1085. + + @param quantile_probability + */ + template + struct weighted_p_square_quantile_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + typedef typename numeric::functional::fdiv::result_type float_type; + typedef array array_type; + // for boost::result_of + typedef float_type result_type; + + template + weighted_p_square_quantile_impl(Args const &args) + : p(is_same::value ? 0.5 : args[quantile_probability | 0.5]) + , heights() + , actual_positions() + , desired_positions() + { + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + + // accumulate 5 first samples + if (cnt <= 5) + { + this->heights[cnt - 1] = args[sample]; + + // In this initialization phase, actual_positions stores the weights of the + // initial samples that are needed at the end of the initialization phase to + // compute the correct initial positions of the markers. + this->actual_positions[cnt - 1] = args[weight]; + + // complete the initialization of heights and actual_positions by sorting + if (cnt == 5) + { + // TODO: we need to sort the initial samples (in heights) in ascending order and + // sort their weights (in actual_positions) the same way. The following lines do + // it, but there must be a better and more efficient way of doing this. + typename array_type::iterator it_begin, it_end, it_min; + + it_begin = this->heights.begin(); + it_end = this->heights.end(); + + std::size_t pos = 0; + + while (it_begin != it_end) + { + it_min = std::min_element(it_begin, it_end); + std::size_t d = std::distance(it_begin, it_min); + std::swap(*it_begin, *it_min); + std::swap(this->actual_positions[pos], this->actual_positions[pos + d]); + ++it_begin; + ++pos; + } + + // calculate correct initial actual positions + for (std::size_t i = 1; i < 5; ++i) + { + this->actual_positions[i] += this->actual_positions[i - 1]; + } + } + } + else + { + std::size_t sample_cell = 1; // k + + // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values + if (args[sample] < this->heights[0]) + { + this->heights[0] = args[sample]; + this->actual_positions[0] = args[weight]; + sample_cell = 1; + } + else if (this->heights[4] <= args[sample]) + { + this->heights[4] = args[sample]; + sample_cell = 4; + } + else + { + typedef typename array_type::iterator iterator; + iterator it = std::upper_bound( + this->heights.begin() + , this->heights.end() + , args[sample] + ); + + sample_cell = std::distance(this->heights.begin(), it); + } + + // increment positions of markers above sample_cell + for (std::size_t i = sample_cell; i < 5; ++i) + { + this->actual_positions[i] += args[weight]; + } + + // update desired positions for all markers + this->desired_positions[0] = this->actual_positions[0]; + this->desired_positions[1] = (sum_of_weights(args) - this->actual_positions[0]) + * this->p/2. + this->actual_positions[0]; + this->desired_positions[2] = (sum_of_weights(args) - this->actual_positions[0]) + * this->p + this->actual_positions[0]; + this->desired_positions[3] = (sum_of_weights(args) - this->actual_positions[0]) + * (1. + this->p)/2. + this->actual_positions[0]; + this->desired_positions[4] = sum_of_weights(args); + + // adjust height and actual positions of markers 1 to 3 if necessary + for (std::size_t i = 1; i <= 3; ++i) + { + // offset to desired positions + float_type d = this->desired_positions[i] - this->actual_positions[i]; + + // offset to next position + float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; + + // offset to previous position + float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; + + // height ds + float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; + float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; + + if ( ( d >= 1. && dp > 1. ) || ( d <= -1. && dm < -1. ) ) + { + short sign_d = static_cast(d / std::abs(d)); + + // try adjusting heights[i] using p-squared formula + float_type h = this->heights[i] + sign_d / (dp - dm) * ( (sign_d - dm) * hp + (dp - sign_d) * hm ); + + if ( this->heights[i - 1] < h && h < this->heights[i + 1] ) + { + this->heights[i] = h; + } + else + { + // use linear formula + if (d>0) + { + this->heights[i] += hp; + } + if (d<0) + { + this->heights[i] -= hm; + } + } + this->actual_positions[i] += sign_d; + } + } + } + } + + result_type result(dont_care) const + { + return this->heights[2]; + } + + private: + float_type p; // the quantile probability p + array_type heights; // q_i + array_type actual_positions; // n_i + array_type desired_positions; // n'_i + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_p_square_quantile +// +namespace tag +{ + struct weighted_p_square_quantile + : depends_on + { + typedef accumulators::impl::weighted_p_square_quantile_impl impl; + }; + struct weighted_p_square_quantile_for_median + : depends_on + { + typedef accumulators::impl::weighted_p_square_quantile_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_p_square_quantile +// extract::weighted_p_square_quantile_for_median +// +namespace extract +{ + extractor const weighted_p_square_quantile = {}; + extractor const weighted_p_square_quantile_for_median = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_p_square_quantile) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_p_square_quantile_for_median) +} + +using extract::weighted_p_square_quantile; +using extract::weighted_p_square_quantile_for_median; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp b/external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp new file mode 100644 index 000000000..418b38cfe --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp @@ -0,0 +1,289 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_peaks_over_threshold.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // for named parameters pot_threshold_value and pot_threshold_probability +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +namespace impl +{ + + /////////////////////////////////////////////////////////////////////////////// + // weighted_peaks_over_threshold_impl + // works with an explicit threshold value and does not depend on order statistics of weighted samples + /** + @brief Weighted Peaks over Threshold Method for Weighted Quantile and Weighted Tail Mean Estimation + + @sa peaks_over_threshold_impl + + @param quantile_probability + @param pot_threshold_value + */ + template + struct weighted_peaks_over_threshold_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef boost::tuple result_type; + + template + weighted_peaks_over_threshold_impl(Args const &args) + : sign_((is_same::value) ? -1 : 1) + , mu_(sign_ * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , w_sum_(numeric::fdiv(args[weight | Weight()], (std::size_t)1)) + , threshold_(sign_ * args[pot_threshold_value]) + , fit_parameters_(boost::make_tuple(0., 0., 0.)) + , is_dirty_(true) + { + } + + template + void operator ()(Args const &args) + { + this->is_dirty_ = true; + + if (this->sign_ * args[sample] > this->threshold_) + { + this->mu_ += args[weight] * args[sample]; + this->sigma2_ += args[weight] * args[sample] * args[sample]; + this->w_sum_ += args[weight]; + } + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty_) + { + this->is_dirty_ = false; + + this->mu_ = this->sign_ * numeric::fdiv(this->mu_, this->w_sum_); + this->sigma2_ = numeric::fdiv(this->sigma2_, this->w_sum_); + this->sigma2_ -= this->mu_ * this->mu_; + + float_type threshold_probability = numeric::fdiv(sum_of_weights(args) - this->w_sum_, sum_of_weights(args)); + + float_type tmp = numeric::fdiv(( this->mu_ - this->threshold_ )*( this->mu_ - this->threshold_ ), this->sigma2_); + float_type xi_hat = 0.5 * ( 1. - tmp ); + float_type beta_hat = 0.5 * ( this->mu_ - this->threshold_ ) * ( 1. + tmp ); + float_type beta_bar = beta_hat * std::pow(1. - threshold_probability, xi_hat); + float_type u_bar = this->threshold_ - beta_bar * ( std::pow(1. - threshold_probability, -xi_hat) - 1.)/xi_hat; + this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); + } + + return this->fit_parameters_; + } + + private: + short sign_; // for left tail fitting, mirror the extreme values + mutable float_type mu_; // mean of samples above threshold + mutable float_type sigma2_; // variance of samples above threshold + mutable float_type w_sum_; // sum of weights of samples above threshold + float_type threshold_; + mutable result_type fit_parameters_; // boost::tuple that stores fit parameters + mutable bool is_dirty_; + }; + + /////////////////////////////////////////////////////////////////////////////// + // weighted_peaks_over_threshold_prob_impl + // determines threshold from a given threshold probability using order statistics + /** + @brief Peaks over Threshold Method for Quantile and Tail Mean Estimation + + @sa weighted_peaks_over_threshold_impl + + @param quantile_probability + @param pot_threshold_probability + */ + template + struct weighted_peaks_over_threshold_prob_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef boost::tuple result_type; + + template + weighted_peaks_over_threshold_prob_impl(Args const &args) + : sign_((is_same::value) ? -1 : 1) + , mu_(sign_ * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) + , threshold_probability_(args[pot_threshold_probability]) + , fit_parameters_(boost::make_tuple(0., 0., 0.)) + , is_dirty_(true) + { + } + + void operator ()(dont_care) + { + this->is_dirty_ = true; + } + + template + result_type result(Args const &args) const + { + if (this->is_dirty_) + { + this->is_dirty_ = false; + + float_type threshold = sum_of_weights(args) + * ( ( is_same::value ) ? this->threshold_probability_ : 1. - this->threshold_probability_ ); + + std::size_t n = 0; + Weight sum = Weight(0); + + while (sum < threshold) + { + if (n < static_cast(tail_weights(args).size())) + { + mu_ += *(tail_weights(args).begin() + n) * *(tail(args).begin() + n); + sigma2_ += *(tail_weights(args).begin() + n) * *(tail(args).begin() + n) * (*(tail(args).begin() + n)); + sum += *(tail_weights(args).begin() + n); + n++; + } + else + { + if (std::numeric_limits::has_quiet_NaN) + { + return boost::make_tuple( + std::numeric_limits::quiet_NaN() + , std::numeric_limits::quiet_NaN() + , std::numeric_limits::quiet_NaN() + ); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + return boost::make_tuple(Sample(0), Sample(0), Sample(0)); + } + } + } + + float_type u = *(tail(args).begin() + n - 1) * this->sign_; + + + this->mu_ = this->sign_ * numeric::fdiv(this->mu_, sum); + this->sigma2_ = numeric::fdiv(this->sigma2_, sum); + this->sigma2_ -= this->mu_ * this->mu_; + + if (is_same::value) + this->threshold_probability_ = 1. - this->threshold_probability_; + + float_type tmp = numeric::fdiv(( this->mu_ - u )*( this->mu_ - u ), this->sigma2_); + float_type xi_hat = 0.5 * ( 1. - tmp ); + float_type beta_hat = 0.5 * ( this->mu_ - u ) * ( 1. + tmp ); + float_type beta_bar = beta_hat * std::pow(1. - threshold_probability_, xi_hat); + float_type u_bar = u - beta_bar * ( std::pow(1. - threshold_probability_, -xi_hat) - 1.)/xi_hat; + this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); + + } + + return this->fit_parameters_; + } + + private: + short sign_; // for left tail fitting, mirror the extreme values + mutable float_type mu_; // mean of samples above threshold u + mutable float_type sigma2_; // variance of samples above threshold u + mutable float_type threshold_probability_; + mutable result_type fit_parameters_; // boost::tuple that stores fit parameters + mutable bool is_dirty_; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_peaks_over_threshold +// +namespace tag +{ + template + struct weighted_peaks_over_threshold + : depends_on + , pot_threshold_value + { + /// INTERNAL ONLY + typedef accumulators::impl::weighted_peaks_over_threshold_impl impl; + }; + + template + struct weighted_peaks_over_threshold_prob + : depends_on > + , pot_threshold_probability + { + /// INTERNAL ONLY + typedef accumulators::impl::weighted_peaks_over_threshold_prob_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_peaks_over_threshold +// +namespace extract +{ + extractor const weighted_peaks_over_threshold = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_peaks_over_threshold) +} + +using extract::weighted_peaks_over_threshold; + +// weighted_peaks_over_threshold(with_threshold_value) -> weighted_peaks_over_threshold +template +struct as_feature(with_threshold_value)> +{ + typedef tag::weighted_peaks_over_threshold type; +}; + +// weighted_peaks_over_threshold(with_threshold_probability) -> weighted_peaks_over_threshold_prob +template +struct as_feature(with_threshold_probability)> +{ + typedef tag::weighted_peaks_over_threshold_prob type; +}; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/weighted_skewness.hpp b/external/boost/accumulators/statistics/weighted_skewness.hpp new file mode 100644 index 000000000..a3ac3876f --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_skewness.hpp @@ -0,0 +1,101 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_skewness.hpp +// +// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SKEWNESS_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SKEWNESS_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_skewness_impl + /** + @brief Skewness estimation for weighted samples + + The skewness of a sample distribution is defined as the ratio of the 3rd central moment and the \f$ 3/2 \f$-th power $ + of the 2nd central moment (the variance) of the samples. The skewness can also be expressed by the simple moments: + + \f[ + \hat{g}_1 = + \frac + {\widehat{m}_n^{(3)}-3\widehat{m}_n^{(2)}\hat{\mu}_n+2\hat{\mu}_n^3} + {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^{3/2}} + \f] + + where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the + \f$ n \f$ samples. + + The skewness estimator for weighted samples is formally identical to the estimator for unweighted samples, except that + the weighted counterparts of all measures it depends on are to be taken. + */ + template + struct weighted_skewness_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + weighted_skewness_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + return numeric::fdiv( + accumulators::weighted_moment<3>(args) + - 3. * accumulators::weighted_moment<2>(args) * weighted_mean(args) + + 2. * weighted_mean(args) * weighted_mean(args) * weighted_mean(args) + , ( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) + * std::sqrt( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) + ); + } + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_skewness +// +namespace tag +{ + struct weighted_skewness + : depends_on, weighted_moment<3> > + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_skewness_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_skewness +// +namespace extract +{ + extractor const weighted_skewness = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_skewness) +} + +using extract::weighted_skewness; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_sum.hpp b/external/boost/accumulators/statistics/weighted_sum.hpp new file mode 100644 index 000000000..27153906d --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_sum.hpp @@ -0,0 +1,116 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_sum.hpp +// +// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_sum_impl + template + struct weighted_sum_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + + // for boost::result_of + typedef weighted_sample result_type; + + template + weighted_sum_impl(Args const &args) + : weighted_sum_( + args[parameter::keyword::get() | Sample()] + * numeric::one::value + ) + { + } + + template + void operator ()(Args const &args) + { + // what about overflow? + this->weighted_sum_ += args[parameter::keyword::get()] * args[weight]; + } + + result_type result(dont_care) const + { + return this->weighted_sum_; + } + + private: + + weighted_sample weighted_sum_; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_sum +// +namespace tag +{ + struct weighted_sum + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_sum_impl impl; + }; + + template + struct weighted_sum_of_variates + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_sum_impl impl; + }; + + struct abstract_weighted_sum_of_variates + : depends_on<> + { + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_sum +// +namespace extract +{ + extractor const weighted_sum = {}; + extractor const weighted_sum_of_variates = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum_of_variates) +} + +using extract::weighted_sum; +using extract::weighted_sum_of_variates; + +template +struct feature_of > + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_sum_kahan.hpp b/external/boost/accumulators/statistics/weighted_sum_kahan.hpp new file mode 100644 index 000000000..fbb0303ac --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_sum_kahan.hpp @@ -0,0 +1,138 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_sum_kahan.hpp +// +// Copyright 2011 Simon West. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_KAHAN_HPP_EAN_11_05_2011 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_KAHAN_HPP_EAN_11_05_2011 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ +#if _MSC_VER > 1400 +# pragma float_control(push) +# pragma float_control(precise, on) +#endif + + /////////////////////////////////////////////////////////////////////////////// + // weighted_sum_kahan_impl + template + struct weighted_sum_kahan_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + + // for boost::result_of + typedef weighted_sample result_type; + + template + weighted_sum_kahan_impl(Args const &args) + : weighted_sum_( + args[parameter::keyword::get() | Sample()] * numeric::one::value), + compensation(boost::numeric_cast(0.0)) + { + } + + template + void +#if BOOST_ACCUMULATORS_GCC_VERSION > 40305 + __attribute__((__optimize__("no-associative-math"))) +#endif + operator ()(Args const &args) + { + const weighted_sample myTmp1 = args[parameter::keyword::get()] * args[weight] - this->compensation; + const weighted_sample myTmp2 = this->weighted_sum_ + myTmp1; + this->compensation = (myTmp2 - this->weighted_sum_) - myTmp1; + this->weighted_sum_ = myTmp2; + + } + + result_type result(dont_care) const + { + return this->weighted_sum_; + } + + private: + weighted_sample weighted_sum_; + weighted_sample compensation; + }; + +#if _MSC_VER > 1400 +# pragma float_control(pop) +#endif + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_sum_kahan +// tag::weighted_sum_of_variates_kahan +// +namespace tag +{ + struct weighted_sum_kahan + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_sum_kahan_impl impl; + }; + + template + struct weighted_sum_of_variates_kahan + : depends_on<> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_sum_kahan_impl impl; + }; + +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_sum_kahan +// extract::weighted_sum_of_variates_kahan +// +namespace extract +{ + extractor const weighted_sum_kahan = {}; + extractor const weighted_sum_of_variates_kahan = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum_kahan) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum_of_variates_kahan) +} + +using extract::weighted_sum_kahan; +using extract::weighted_sum_of_variates_kahan; + +// weighted_sum(kahan) -> weighted_sum_kahan +template<> +struct as_feature +{ + typedef tag::weighted_sum_kahan type; +}; + +template +struct feature_of > + : feature_of +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/weighted_tail_mean.hpp b/external/boost/accumulators/statistics/weighted_tail_mean.hpp new file mode 100644 index 000000000..bae853067 --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_tail_mean.hpp @@ -0,0 +1,169 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_tail_mean.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_MEAN_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_MEAN_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +namespace impl +{ + + /////////////////////////////////////////////////////////////////////////////// + // coherent_weighted_tail_mean_impl + // + // TODO + + /////////////////////////////////////////////////////////////////////////////// + // non_coherent_weighted_tail_mean_impl + // + /** + @brief Estimation of the (non-coherent) weighted tail mean based on order statistics (for both left and right tails) + + + + An estimation of the non-coherent, weighted tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$ is given by the weighted mean + of the + + \f[ + \lambda = \inf\left\{ l \left| \frac{1}{\bar{w}_n}\sum_{i=1}^{l} w_i \geq \alpha \right. \right\} + \f] + + smallest samples (left tail) or the weighted mean of the + + \f[ + n + 1 - \rho = n + 1 - \sup\left\{ r \left| \frac{1}{\bar{w}_n}\sum_{i=r}^{n} w_i \geq (1 - \alpha) \right. \right\} + \f] + + largest samples (right tail) above a quantile \f$\hat{q}_{\alpha}\f$ of level \f$\alpha\f$, \f$n\f$ being the total number of sample + and \f$\bar{w}_n\f$ the sum of all \f$n\f$ weights: + + \f[ + \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X) = \frac{\sum_{i=1}^{\lambda} w_i X_{i:n}}{\sum_{i=1}^{\lambda} w_i}, + \f] + + \f[ + \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X) = \frac{\sum_{i=\rho}^n w_i X_{i:n}}{\sum_{i=\rho}^n w_i}. + \f] + + @param quantile_probability + */ + template + struct non_coherent_weighted_tail_mean_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + non_coherent_weighted_tail_mean_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + float_type threshold = sum_of_weights(args) + * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ); + + std::size_t n = 0; + Weight sum = Weight(0); + + while (sum < threshold) + { + if (n < static_cast(tail_weights(args).size())) + { + sum += *(tail_weights(args).begin() + n); + n++; + } + else + { + if (std::numeric_limits::has_quiet_NaN) + { + return std::numeric_limits::quiet_NaN(); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + return result_type(0); + } + } + } + + return numeric::fdiv( + std::inner_product( + tail(args).begin() + , tail(args).begin() + n + , tail_weights(args).begin() + , weighted_sample(0) + ) + , sum + ); + } + }; + +} // namespace impl + + +/////////////////////////////////////////////////////////////////////////////// +// tag::non_coherent_weighted_tail_mean<> +// +namespace tag +{ + template + struct non_coherent_weighted_tail_mean + : depends_on > + { + typedef accumulators::impl::non_coherent_weighted_tail_mean_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::non_coherent_weighted_tail_mean; +// +namespace extract +{ + extractor const non_coherent_weighted_tail_mean = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(non_coherent_weighted_tail_mean) +} + +using extract::non_coherent_weighted_tail_mean; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/weighted_tail_quantile.hpp b/external/boost/accumulators/statistics/weighted_tail_quantile.hpp new file mode 100644 index 000000000..b143457dd --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_tail_quantile.hpp @@ -0,0 +1,146 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_tail_quantile.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_QUANTILE_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_QUANTILE_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // weighted_tail_quantile_impl + // Tail quantile estimation based on order statistics of weighted samples + /** + @brief Tail quantile estimation based on order statistics of weighted samples (for both left and right tails) + + An estimator \f$\hat{q}\f$ of tail quantiles with level \f$\alpha\f$ based on order statistics + \f$X_{1:n} \leq X_{2:n} \leq\dots\leq X_{n:n}\f$ of weighted samples are given by \f$X_{\lambda:n}\f$ (left tail) + and \f$X_{\rho:n}\f$ (right tail), where + + \f[ + \lambda = \inf\left\{ l \left| \frac{1}{\bar{w}_n}\sum_{i=1}^{l} w_i \geq \alpha \right. \right\} + \f] + + and + + \f[ + \rho = \sup\left\{ r \left| \frac{1}{\bar{w}_n}\sum_{i=r}^{n} w_i \geq (1 - \alpha) \right. \right\}, + \f] + + \f$n\f$ being the number of samples and \f$\bar{w}_n\f$ the sum of all weights. + + @param quantile_probability + */ + template + struct weighted_tail_quantile_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + // for boost::result_of + typedef Sample result_type; + + weighted_tail_quantile_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + float_type threshold = sum_of_weights(args) + * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ); + + std::size_t n = 0; + Weight sum = Weight(0); + + while (sum < threshold) + { + if (n < static_cast(tail_weights(args).size())) + { + sum += *(tail_weights(args).begin() + n); + n++; + } + else + { + if (std::numeric_limits::has_quiet_NaN) + { + return std::numeric_limits::quiet_NaN(); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + return Sample(0); + } + } + } + + // Note that the cached samples of the left are sorted in ascending order, + // whereas the samples of the right tail are sorted in descending order + return *(boost::begin(tail(args)) + n - 1); + } + }; +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_tail_quantile<> +// +namespace tag +{ + template + struct weighted_tail_quantile + : depends_on > + { + /// INTERNAL ONLY + typedef accumulators::impl::weighted_tail_quantile_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_tail_quantile +// +namespace extract +{ + extractor const weighted_tail_quantile = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_tail_quantile) +} + +using extract::weighted_tail_quantile; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/weighted_tail_variate_means.hpp b/external/boost/accumulators/statistics/weighted_tail_variate_means.hpp new file mode 100644 index 000000000..b1133109e --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_tail_variate_means.hpp @@ -0,0 +1,246 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_tail_variate_means.hpp +// +// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4127) // conditional expression is constant +#endif + +namespace boost +{ + // for _BinaryOperatrion2 in std::inner_product below + // multiplies two values and promotes the result to double + namespace numeric { namespace functional + { + /////////////////////////////////////////////////////////////////////////////// + // numeric::functional::multiply_and_promote_to_double + template + struct multiply_and_promote_to_double + : multiplies + { + }; + }} +} + +namespace boost { namespace accumulators +{ + +namespace impl +{ + /** + @brief Estimation of the absolute and relative weighted tail variate means (for both left and right tails) + + For all \f$j\f$-th variates associated to the + + \f[ + \lambda = \inf\left\{ l \left| \frac{1}{\bar{w}_n}\sum_{i=1}^{l} w_i \geq \alpha \right. \right\} + \f] + + smallest samples (left tail) or the weighted mean of the + + \f[ + n + 1 - \rho = n + 1 - \sup\left\{ r \left| \frac{1}{\bar{w}_n}\sum_{i=r}^{n} w_i \geq (1 - \alpha) \right. \right\} + \f] + + largest samples (right tail), the absolute weighted tail means \f$\widehat{ATM}_{n,\alpha}(X, j)\f$ + are computed and returned as an iterator range. Alternatively, the relative weighted tail means + \f$\widehat{RTM}_{n,\alpha}(X, j)\f$ are returned, which are the absolute weighted tail means + normalized with the weighted (non-coherent) sample tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$. + + \f[ + \widehat{ATM}_{n,\alpha}^{\mathrm{right}}(X, j) = + \frac{1}{\sum_{i=\rho}^n w_i} + \sum_{i=\rho}^n w_i \xi_{j,i} + \f] + + \f[ + \widehat{ATM}_{n,\alpha}^{\mathrm{left}}(X, j) = + \frac{1}{\sum_{i=1}^{\lambda}} + \sum_{i=1}^{\lambda} w_i \xi_{j,i} + \f] + + \f[ + \widehat{RTM}_{n,\alpha}^{\mathrm{right}}(X, j) = + \frac{\sum_{i=\rho}^n w_i \xi_{j,i}} + {\sum_{i=\rho}^n w_i \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X)} + \f] + + \f[ + \widehat{RTM}_{n,\alpha}^{\mathrm{left}}(X, j) = + \frac{\sum_{i=1}^{\lambda} w_i \xi_{j,i}} + {\sum_{i=1}^{\lambda} w_i \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X)} + \f] + */ + + /////////////////////////////////////////////////////////////////////////////// + // weighted_tail_variate_means_impl + // by default: absolute weighted_tail_variate_means + template + struct weighted_tail_variate_means_impl + : accumulator_base + { + typedef typename numeric::functional::fdiv::result_type float_type; + typedef typename numeric::functional::fdiv::result_type, Weight>::result_type array_type; + // for boost::result_of + typedef iterator_range result_type; + + weighted_tail_variate_means_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + float_type threshold = sum_of_weights(args) + * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ); + + std::size_t n = 0; + Weight sum = Weight(0); + + while (sum < threshold) + { + if (n < static_cast(tail_weights(args).size())) + { + sum += *(tail_weights(args).begin() + n); + n++; + } + else + { + if (std::numeric_limits::has_quiet_NaN) + { + std::fill( + this->tail_means_.begin() + , this->tail_means_.end() + , std::numeric_limits::quiet_NaN() + ); + } + else + { + std::ostringstream msg; + msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; + boost::throw_exception(std::runtime_error(msg.str())); + } + } + } + + std::size_t num_variates = tail_variate(args).begin()->size(); + + this->tail_means_.clear(); + this->tail_means_.resize(num_variates, Sample(0)); + + this->tail_means_ = std::inner_product( + tail_variate(args).begin() + , tail_variate(args).begin() + n + , tail_weights(args).begin() + , this->tail_means_ + , numeric::functional::plus() + , numeric::functional::multiply_and_promote_to_double() + ); + + float_type factor = sum * ( (is_same::value) ? non_coherent_weighted_tail_mean(args) : 1. ); + + std::transform( + this->tail_means_.begin() + , this->tail_means_.end() + , this->tail_means_.begin() +#ifdef BOOST_NO_CXX98_BINDERS + , std::bind(numeric::functional::divides(), std::placeholders::_1, factor) +#else + , std::bind2nd(numeric::functional::divides(), factor) +#endif + ); + + return make_iterator_range(this->tail_means_); + } + + private: + + mutable array_type tail_means_; + + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::absolute_weighted_tail_variate_means +// tag::relative_weighted_tail_variate_means +// +namespace tag +{ + template + struct absolute_weighted_tail_variate_means + : depends_on, tail_variate, tail_weights > + { + typedef accumulators::impl::weighted_tail_variate_means_impl impl; + }; + template + struct relative_weighted_tail_variate_means + : depends_on, tail_variate, tail_weights > + { + typedef accumulators::impl::weighted_tail_variate_means_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_tail_variate_means +// extract::relative_weighted_tail_variate_means +// +namespace extract +{ + extractor const weighted_tail_variate_means = {}; + extractor const relative_weighted_tail_variate_means = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_tail_variate_means) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(relative_weighted_tail_variate_means) +} + +using extract::weighted_tail_variate_means; +using extract::relative_weighted_tail_variate_means; + +// weighted_tail_variate_means(absolute) -> absolute_weighted_tail_variate_means +template +struct as_feature(absolute)> +{ + typedef tag::absolute_weighted_tail_variate_means type; +}; + +// weighted_tail_variate_means(relative) -> relative_weighted_tail_variate_means +template +struct as_feature(relative)> +{ + typedef tag::relative_weighted_tail_variate_means type; +}; + +}} // namespace boost::accumulators + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/accumulators/statistics/weighted_variance.hpp b/external/boost/accumulators/statistics/weighted_variance.hpp new file mode 100644 index 000000000..bc199affa --- /dev/null +++ b/external/boost/accumulators/statistics/weighted_variance.hpp @@ -0,0 +1,186 @@ +/////////////////////////////////////////////////////////////////////////////// +// weighted_variance.hpp +// +// Copyright 2005 Daniel Egloff, Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_VARIANCE_HPP_EAN_28_10_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_VARIANCE_HPP_EAN_28_10_2005 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace impl +{ + //! Lazy calculation of variance of weighted samples. + /*! + The default implementation of the variance of weighted samples is based on the second moment + \f$\widehat{m}_n^{(2)}\f$ (weighted_moment<2>) and the mean\f$ \hat{\mu}_n\f$ (weighted_mean): + \f[ + \hat{\sigma}_n^2 = \widehat{m}_n^{(2)}-\hat{\mu}_n^2, + \f] + where \f$n\f$ is the number of samples. + */ + template + struct lazy_weighted_variance_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + lazy_weighted_variance_impl(dont_care) {} + + template + result_type result(Args const &args) const + { + extractor const some_mean = {}; + result_type tmp = some_mean(args); + return accumulators::weighted_moment<2>(args) - tmp * tmp; + } + }; + + //! Iterative calculation of variance of weighted samples. + /*! + Iterative calculation of variance of weighted samples: + \f[ + \hat{\sigma}_n^2 = + \frac{\bar{w}_n - w_n}{\bar{w}_n}\hat{\sigma}_{n - 1}^2 + + \frac{w_n}{\bar{w}_n - w_n}\left(X_n - \hat{\mu}_n\right)^2 + ,\quad n\ge2,\quad\hat{\sigma}_0^2 = 0. + \f] + where \f$\bar{w}_n\f$ is the sum of the \f$n\f$ weights \f$w_i\f$ and \f$\hat{\mu}_n\f$ + the estimate of the mean of the weighted samples. Note that the sample variance is not defined for + \f$n <= 1\f$. + */ + template + struct weighted_variance_impl + : accumulator_base + { + typedef typename numeric::functional::multiplies::result_type weighted_sample; + // for boost::result_of + typedef typename numeric::functional::fdiv::result_type result_type; + + template + weighted_variance_impl(Args const &args) + : weighted_variance(numeric::fdiv(args[sample | Sample()], numeric::one::value)) + { + } + + template + void operator ()(Args const &args) + { + std::size_t cnt = count(args); + + if(cnt > 1) + { + extractor const some_mean = {}; + + result_type tmp = args[parameter::keyword::get()] - some_mean(args); + + this->weighted_variance = + numeric::fdiv(this->weighted_variance * (sum_of_weights(args) - args[weight]), sum_of_weights(args)) + + numeric::fdiv(tmp * tmp * args[weight], sum_of_weights(args) - args[weight] ); + } + } + + result_type result(dont_care) const + { + return this->weighted_variance; + } + + private: + result_type weighted_variance; + }; + +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// tag::weighted_variance +// tag::immediate_weighted_variance +// +namespace tag +{ + struct lazy_weighted_variance + : depends_on, weighted_mean> + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::lazy_weighted_variance_impl impl; + }; + + struct weighted_variance + : depends_on + { + /// INTERNAL ONLY + /// + typedef accumulators::impl::weighted_variance_impl impl; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// extract::weighted_variance +// extract::immediate_weighted_variance +// +namespace extract +{ + extractor const lazy_weighted_variance = {}; + extractor const weighted_variance = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_weighted_variance) + BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_variance) +} + +using extract::lazy_weighted_variance; +using extract::weighted_variance; + +// weighted_variance(lazy) -> lazy_weighted_variance +template<> +struct as_feature +{ + typedef tag::lazy_weighted_variance type; +}; + +// weighted_variance(immediate) -> weighted_variance +template<> +struct as_feature +{ + typedef tag::weighted_variance type; +}; + +//////////////////////////////////////////////////////////////////////////// +//// droppable_accumulator +//// need to specialize droppable lazy weighted_variance to cache the result at the +//// point the accumulator is dropped. +///// INTERNAL ONLY +///// +//template +//struct droppable_accumulator > +// : droppable_accumulator_base< +// with_cached_result > +// > +//{ +// template +// droppable_accumulator(Args const &args) +// : droppable_accumulator::base(args) +// { +// } +//}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics/with_error.hpp b/external/boost/accumulators/statistics/with_error.hpp new file mode 100644 index 000000000..adafc8e0d --- /dev/null +++ b/external/boost/accumulators/statistics/with_error.hpp @@ -0,0 +1,44 @@ +/////////////////////////////////////////////////////////////////////////////// +// with_error.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_WITH_ERROR_HPP_EAN_01_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_WITH_ERROR_HPP_EAN_01_11_2005 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +namespace detail +{ + template + struct error_of_tag + { + typedef tag::error_of type; + }; +} + +/////////////////////////////////////////////////////////////////////////////// +// with_error +// +template +struct with_error + : mpl::transform_view< + mpl::vector + , detail::error_of_tag + > +{ +}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/accumulators/statistics_fwd.hpp b/external/boost/accumulators/statistics_fwd.hpp new file mode 100644 index 000000000..61904f30b --- /dev/null +++ b/external/boost/accumulators/statistics_fwd.hpp @@ -0,0 +1,432 @@ +/////////////////////////////////////////////////////////////////////////////// +// statistics_fwd.hpp +// +// Copyright 2005 Eric Niebler. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ACCUMULATORS_STATISTICS_STATISTICS_FWD_HPP_EAN_23_11_2005 +#define BOOST_ACCUMULATORS_STATISTICS_STATISTICS_FWD_HPP_EAN_23_11_2005 + +#include // for mpl::na +#include +#include +#include +#include +#include + +namespace boost { namespace accumulators +{ + +/////////////////////////////////////////////////////////////////////////////// +// base struct and base extractor for quantiles +namespace tag +{ + struct quantile + : depends_on<> + { + typedef mpl::print impl; + }; +} +namespace extract +{ + extractor const quantile = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(quantile) +} +using extract::quantile; + +/////////////////////////////////////////////////////////////////////////////// +// base struct and base extractor for *coherent* tail means +namespace tag +{ + struct tail_mean + : depends_on<> + { + typedef mpl::print impl; + }; +} +namespace extract +{ + extractor const tail_mean = {}; + + BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_mean) +} +using extract::tail_mean; + +namespace tag +{ + /////////////////////////////////////////////////////////////////////////////// + // Variates tags + struct weights; + struct covariate1; + struct covariate2; + + /////////////////////////////////////////////////////////////////////////////// + // Statistic tags + struct count; + template + struct covariance; + struct density; + template + struct error_of; + struct extended_p_square; + struct extended_p_square_quantile; + struct extended_p_square_quantile_quadratic; + struct kurtosis; + struct max; + struct mean; + struct immediate_mean; + struct mean_of_weights; + struct immediate_mean_of_weights; + template + struct mean_of_variates; + template + struct immediate_mean_of_variates; + struct median; + struct with_density_median; + struct with_p_square_cumulative_distribution_median; + struct min; + template + struct moment; + template + struct peaks_over_threshold; + template + struct peaks_over_threshold_prob; + template + struct pot_tail_mean; + template + struct pot_tail_mean_prob; + template + struct pot_quantile; + template + struct pot_quantile_prob; + struct p_square_cumulative_distribution; + struct p_square_quantile; + struct p_square_quantile_for_median; + struct skewness; + struct sum; + struct sum_of_weights; + template + struct sum_of_variates; + struct sum_kahan; + struct sum_of_weights_kahan; + template + struct sum_of_variates_kahan; + template + struct tail; + template + struct coherent_tail_mean; + template + struct non_coherent_tail_mean; + template + struct tail_quantile; + template + struct tail_variate; + template + struct tail_weights; + template + struct right_tail_variate; + template + struct left_tail_variate; + template + struct tail_variate_means; + template + struct absolute_tail_variate_means; + template + struct relative_tail_variate_means; + struct lazy_variance; + struct variance; + template + struct weighted_covariance; + struct weighted_density; + struct weighted_kurtosis; + struct weighted_mean; + struct immediate_weighted_mean; + template + struct weighted_mean_of_variates; + template + struct immediate_weighted_mean_of_variates; + struct weighted_median; + struct with_density_weighted_median; + struct with_p_square_cumulative_distribution_weighted_median; + struct weighted_extended_p_square; + struct weighted_extended_p_square_quantile; + struct weighted_extended_p_square_quantile_quadratic; + template + struct weighted_moment; + template + struct weighted_peaks_over_threshold; + template + struct weighted_peaks_over_threshold_prob; + template + struct weighted_pot_quantile; + template + struct weighted_pot_quantile_prob; + template + struct weighted_pot_tail_mean; + template + struct weighted_pot_tail_mean_prob; + struct weighted_p_square_cumulative_distribution; + struct weighted_p_square_quantile; + struct weighted_p_square_quantile_for_median; + struct weighted_skewness; + template + struct weighted_tail_quantile; + template + struct non_coherent_weighted_tail_mean; + template + struct weighted_tail_quantile; + template + struct weighted_tail_variate_means; + template + struct absolute_weighted_tail_variate_means; + template + struct relative_weighted_tail_variate_means; + struct lazy_weighted_variance; + struct weighted_variance; + struct weighted_sum; + template + struct weighted_sum_of_variates; + struct rolling_window_plus1; + struct rolling_window; + struct rolling_sum; + struct rolling_count; + struct rolling_mean; +} // namespace tag + +namespace impl +{ + /////////////////////////////////////////////////////////////////////////////// + // Statistics impls + struct count_impl; + + template + struct covariance_impl; + + template + struct density_impl; + + template + struct error_of_impl; + + template + struct error_of_mean_impl; + + template + struct extended_p_square_impl; + + template + struct extended_p_square_quantile_impl; + + template + struct kurtosis_impl; + + template + struct max_impl; + + template + struct median_impl; + + template + struct with_density_median_impl; + + template + struct with_p_square_cumulative_distribution_median_impl; + + template + struct min_impl; + + template + struct mean_impl; + + template + struct immediate_mean_impl; + + template + struct moment_impl; + + template + struct peaks_over_threshold_prob_impl; + + template + struct pot_quantile_impl; + + template + struct pot_tail_mean_impl; + + template + struct p_square_cumulative_distribution_impl; + + template + struct p_square_quantile_impl; + + template + struct skewness_impl; + + template + struct sum_impl; + + template + struct sum_kahan_impl; + + template + struct tail_impl; + + template + struct coherent_tail_mean_impl; + + template + struct non_coherent_tail_mean_impl; + + template + struct tail_quantile_impl; + + template + struct tail_variate_impl; + + template + struct tail_variate_means_impl; + + template + struct lazy_variance_impl; + + template + struct variance_impl; + + template + struct weighted_covariance_impl; + + template + struct weighted_density_impl; + + template + struct weighted_kurtosis_impl; + + template + struct weighted_median_impl; + + template + struct with_density_weighted_median_impl; + + template + struct with_p_square_cumulative_distribution_weighted_median_impl; + + template + struct weighted_mean_impl; + + template + struct immediate_weighted_mean_impl; + + template + struct weighted_peaks_over_threshold_impl; + + template + struct weighted_peaks_over_threshold_prob_impl; + + template + struct with_p_square_cumulative_distribution_weighted_median_impl; + + template + struct weighted_extended_p_square_impl; + + template + struct weighted_moment_impl; + + template + struct weighted_p_square_cumulative_distribution_impl; + + template + struct weighted_p_square_quantile_impl; + + template + struct weighted_skewness_impl; + + template + struct weighted_sum_impl; + + template + struct weighted_sum_kahan_impl; + + template + struct non_coherent_weighted_tail_mean_impl; + + template + struct weighted_tail_quantile_impl; + + template + struct weighted_tail_variate_means_impl; + + template + struct lazy_weighted_variance_impl; + + template + struct weighted_variance_impl; + + template + struct rolling_window_plus1_impl; + + template + struct rolling_window_impl; + + template + struct rolling_sum_impl; + + template + struct rolling_count_impl; + + template + struct rolling_mean_impl; +} // namespace impl + +/////////////////////////////////////////////////////////////////////////////// +// stats +// A more descriptive name for an MPL sequence of statistics. +template +struct stats; + +template +struct with_error; + +// modifiers for the mean and variance stats +struct lazy {}; +struct immediate {}; + +// modifiers for the variance stat +// struct fast {}; +// struct accurate {}; + +// modifiers for order +struct right {}; +struct left {}; +// typedef right default_order_tag_type; + +// modifiers for the tail_variate_means stat +struct absolute {}; +struct relative {}; + +// modifiers for median and weighted_median stats +struct with_density {}; +struct with_p_square_cumulative_distribution {}; +struct with_p_square_quantile {}; + +// modifiers for peaks_over_threshold stat +struct with_threshold_value {}; +struct with_threshold_probability {}; + +// modifiers for extended_p_square_quantile and weighted_extended_p_square_quantile stats +struct weighted {}; +struct unweighted {}; +struct linear {}; +struct quadratic {}; + +// modifiers for p_square_quantile +struct regular {}; +struct for_median {}; + +// modifier for sum_kahan, sum_of_weights_kahan, sum_of_variates_kahan, weighted_sum_kahan +struct kahan {}; + +}} // namespace boost::accumulators + +#endif diff --git a/external/boost/fusion/adapted.hpp b/external/boost/fusion/adapted.hpp new file mode 100644 index 000000000..5bc33899c --- /dev/null +++ b/external/boost/fusion/adapted.hpp @@ -0,0 +1,26 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ADAPTED_30122005_1420) +#define BOOST_FUSION_ADAPTED_30122005_1420 + +#include +#include +#include +#include +#include +#include +#include +#include + +// The std_tuple_iterator adaptor only supports implementations +// using variadic templates +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif + +#endif diff --git a/external/boost/fusion/adapted/adt.hpp b/external/boost/fusion/adapted/adt.hpp new file mode 100644 index 000000000..d70cf8238 --- /dev/null +++ b/external/boost/fusion/adapted/adt.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_HPP +#define BOOST_FUSION_ADAPTED_ADT_HPP + +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/adt/adapt_adt.hpp b/external/boost/fusion/adapted/adt/adapt_adt.hpp new file mode 100644 index 000000000..2ebc76c36 --- /dev/null +++ b/external/boost/fusion/adapted/adt/adapt_adt.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2009-2010 Hartmut Kaiser + Copyright (c) 2010-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_HPP +#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_ADT_C( \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ + BOOST_FUSION_ADAPT_ADT_C_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + I, \ + BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 4)) \ + +#define BOOST_FUSION_ADAPT_TPL_ADT(TEMPLATE_PARAMS_SEQ, NAME_SEQ , ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (1)TEMPLATE_PARAMS_SEQ, \ + (1)NAME_SEQ, \ + struct_tag, \ + 0, \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ADT_C) + +#define BOOST_FUSION_ADAPT_ADT(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + struct_tag, \ + 0, \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ADT_C) + +#define BOOST_FUSION_ADAPT_ADT_AS_VIEW(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + struct_tag, \ + 1, \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ADT_C) + +#endif diff --git a/external/boost/fusion/adapted/adt/adapt_adt_named.hpp b/external/boost/fusion/adapted/adt/adapt_adt_named.hpp new file mode 100644 index 000000000..617e2f184 --- /dev/null +++ b/external/boost/fusion/adapted/adt/adapt_adt_named.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2009-2010 Hartmut Kaiser + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP +#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP + +#include +#include +#include + +#define BOOST_FUSION_ADAPT_ADT_NAMED_NS( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ + \ + BOOST_FUSION_ADAPT_ADT_AS_VIEW( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ + ATTRIBUTES) + +#define BOOST_FUSION_ADAPT_ADT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_ADT_NAMED_NS( \ + WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) + +#endif diff --git a/external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp b/external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp new file mode 100644 index 000000000..bd451a32e --- /dev/null +++ b/external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp @@ -0,0 +1,95 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2007 Dan Marsden + Copyright (c) 2010-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_HPP +#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_HPP + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_C( \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ + \ + BOOST_FUSION_ADAPT_ADT_C_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + I, \ + BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 5)) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct struct_assoc_key \ + { \ + typedef BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type;\ + }; + +#define BOOST_FUSION_ADAPT_ASSOC_TPL_ADT( \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, ATTRIBUTES) \ + \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (1)TEMPLATE_PARAMS_SEQ, \ + (1)NAME_SEQ, \ + assoc_struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ASSOC_ADT_C) + +#define BOOST_FUSION_ADAPT_ASSOC_ADT(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + assoc_struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ASSOC_ADT_C) + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_AS_VIEW(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + assoc_struct_tag, \ + 1, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ASSOC_ADT_C) + +#endif diff --git a/external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp b/external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp new file mode 100644 index 000000000..a420e5d3c --- /dev/null +++ b/external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP +#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP + +#include +#include +#include + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED_NS( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ + \ + BOOST_FUSION_ADAPT_ASSOC_ADT_AS_VIEW( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ + ATTRIBUTES) + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED_NS( \ + WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) + +#endif diff --git a/external/boost/fusion/adapted/adt/detail/adapt_base.hpp b/external/boost/fusion/adapted/adt/detail/adapt_base.hpp new file mode 100644 index 000000000..0ef6fcd92 --- /dev/null +++ b/external/boost/fusion/adapted/adt/detail/adapt_base.hpp @@ -0,0 +1,301 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP +#define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL(TEMPLATE_PARAMS_SEQ) \ + typename detail::get_identity< \ + lvalue \ + , BOOST_PP_SEQ_ELEM(1,TEMPLATE_PARAMS_SEQ) \ + >::type + +#define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL( \ + TEMPLATE_PARAMS_SEQ) \ + \ + boost::remove_const::type>::type + +#define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ + BOOST_PP_IF(DEDUCE_TYPE, 0, 2), ATTRIBUTE) + +#define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ + BOOST_PP_IF(DEDUCE_TYPE, 1, 3), ATTRIBUTE) + +#ifdef BOOST_MSVC +# define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef \ + BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ + typename) \ + BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ + ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, 1)) type; \ + }; + +#else +# define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ + ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, 1)) type; \ + }; + +#endif + +#define BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + BOOST_FUSION_DEDUCED_ATTR_TYPE( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + typedef \ + BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ + typename) \ + boost::remove_const< \ + BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ + typename) \ + deduced_attr_type::type \ + >::type type; \ + \ + typedef \ + BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ + typename) \ + boost::add_const< \ + BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ + typename) \ + deduced_attr_type::type \ + >::type const_type; + +#define BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 0, ATTRIBUTE) type; \ + typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 1, ATTRIBUTE) const_type; + + +#define BOOST_FUSION_ADAPT_ADT_C_BASE( \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,PREFIX, \ + ATTRIBUTE,ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + > \ + { \ + \ + BOOST_PP_IF(DEDUCE_TYPE, \ + BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF, \ + BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE)( \ + NAME_SEQ, \ + ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, \ + PREFIX, \ + TEMPLATE_PARAMS_SEQ) \ + \ + template \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static void \ + boost_fusion_adapt_adt_impl_set( \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj, \ + Val const& val) \ + { \ + PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE); \ + } \ + \ + BOOST_FUSION_GPU_ENABLED \ + static type \ + boost_fusion_adapt_adt_impl_get( \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj) \ + { \ + return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE); \ + } \ + \ + BOOST_FUSION_GPU_ENABLED \ + static const_type \ + boost_fusion_adapt_adt_impl_get( \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& obj) \ + { \ + return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE); \ + } \ + }; \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct adt_attribute_proxy< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + , true \ + > \ + { \ + typedef \ + BOOST_PP_EXPR_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename) \ + access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + >::const_type type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + explicit \ + adt_attribute_proxy( \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& o) \ + : obj(&o) \ + {} \ + \ + BOOST_FUSION_GPU_ENABLED \ + type get() const \ + { \ + return access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + >::boost_fusion_adapt_adt_impl_get(*obj); \ + } \ + \ + BOOST_FUSION_GPU_ENABLED \ + operator type() const \ + { \ + return get(); \ + } \ + \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const* obj; \ + }; \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct adt_attribute_proxy< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + , false \ + > \ + { \ + typedef \ + BOOST_PP_EXPR_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename) \ + access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + >::type type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + explicit \ + adt_attribute_proxy( \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& o) \ + : obj(&o) \ + {} \ + \ + template \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + adt_attribute_proxy& \ + operator=(Val const& val) \ + { \ + access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + >::boost_fusion_adapt_adt_impl_set(*obj, val); \ + return *this; \ + } \ + \ + BOOST_FUSION_GPU_ENABLED \ + type get() const \ + { \ + return access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + >::boost_fusion_adapt_adt_impl_get(*obj); \ + } \ + \ + BOOST_FUSION_GPU_ENABLED \ + operator type() const \ + { \ + return get(); \ + } \ + \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)* obj; \ + }; \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct access::struct_member< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + > \ + { \ + typedef BOOST_PP_EXPR_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), \ + typename) \ + adt_attribute_proxy< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + , false \ + >::type lvalue; \ + \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + \ + typedef \ + BOOST_PP_IF( \ + BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), \ + BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL, \ + BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL)( \ + TEMPLATE_PARAMS_SEQ) \ + type; \ + \ + template \ + struct apply \ + { \ + typedef \ + adt_attribute_proxy< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + , is_const::value \ + > \ + type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type \ + call(Seq& obj) \ + { \ + return type(obj); \ + } \ + }; \ + }; + +#endif diff --git a/external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp b/external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp new file mode 100644 index 000000000..daa73063a --- /dev/null +++ b/external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp @@ -0,0 +1,64 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP + +#include + +#include +#include + +#include + +#include +#include +#include +#include + +#if BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(...) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(...) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(...) \ + ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) + +#else // BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ + BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, A), \ + ((3, (C,D,E))), \ + ((5, (A,B,C,D,E))) \ + ) + +#endif // BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0_END +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1_END + + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM( \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_DEC(BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE)), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE)) + +#endif diff --git a/external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp b/external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp new file mode 100644 index 000000000..dc9e2c3b1 --- /dev/null +++ b/external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp @@ -0,0 +1,92 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP + +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) + +#define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) + +#if BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0(...) \ + BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ADT_FILLER_1 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_1(...) \ + BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ADT_FILLER_0 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0_END +# define BOOST_FUSION_ADAPT_ADT_FILLER_1_END + +// MSVC don't compile when using BOOST_PP_BITOR instead of BOOST_PP_OR. +# define BOOST_FUSION_ADAPT_ADT_FILLER(...) \ + BOOST_PP_IIF( \ + BOOST_PP_OR( \ + BOOST_MPL_PP_TOKEN_EQUAL(auto, \ + BOOST_PP_VARIADIC_ELEM(0, __VA_ARGS__)), \ + BOOST_MPL_PP_TOKEN_EQUAL(auto, \ + BOOST_PP_VARIADIC_ELEM(1, __VA_ARGS__))), \ + \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR( \ + BOOST_PP_VARIADIC_ELEM(2, __VA_ARGS__), \ + BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(__VA_ARGS__) \ + ), \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(__VA_ARGS__)) + +# define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(...) \ + ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) + +# define BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(...) \ + BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REST_N( \ + BOOST_PP_DEC(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)), \ + BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))) + +#else // BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0(A, B, C, D) \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ + BOOST_FUSION_ADAPT_ADT_FILLER_1 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_1(A, B, C, D) \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ + BOOST_FUSION_ADAPT_ADT_FILLER_0 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0_END +# define BOOST_FUSION_ADAPT_ADT_FILLER_1_END + +# define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A, B, C, D) \ + BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, A), \ + ((2, (C,D))), \ + ((4, (A,B,C,D))) \ + ) + +#endif // BOOST_PP_VARIADICS + +#endif diff --git a/external/boost/fusion/adapted/adt/detail/extension.hpp b/external/boost/fusion/adapted/adt/detail/extension.hpp new file mode 100644 index 000000000..c7d258953 --- /dev/null +++ b/external/boost/fusion/adapted/adt/detail/extension.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP +#define BOOST_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace detail + { + template + struct get_identity + : remove_const::type> + {}; + } + + namespace extension + { + // Overload as_const() to unwrap adt_attribute_proxy. + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename adt_attribute_proxy::type as_const(const adt_attribute_proxy& proxy) + { + return proxy.get(); + } + } +}} + +#endif diff --git a/external/boost/fusion/adapted/array.hpp b/external/boost/fusion/adapted/array.hpp new file mode 100644 index 000000000..b95081786 --- /dev/null +++ b/external/boost/fusion/adapted/array.hpp @@ -0,0 +1,27 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ARRAY_27122005_1035) +#define BOOST_FUSION_ARRAY_27122005_1035 + +//For backwards compatibility +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/array/at_impl.hpp b/external/boost/fusion/adapted/array/at_impl.hpp new file mode 100644 index 000000000..369c8e2e0 --- /dev/null +++ b/external/boost/fusion/adapted/array/at_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP + +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename + add_reference::type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return seq[N::value]; + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/begin_impl.hpp b/external/boost/fusion/adapted/array/begin_impl.hpp new file mode 100644 index 000000000..8ea5a00ec --- /dev/null +++ b/external/boost/fusion/adapted/array/begin_impl.hpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef + basic_iterator< + po_array_iterator_tag + , random_access_traversal_tag + , Seq + , 0 + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/category_of_impl.hpp b/external/boost/fusion/adapted/array/category_of_impl.hpp new file mode 100644 index 000000000..0a633a455 --- /dev/null +++ b/external/boost/fusion/adapted/array/category_of_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef random_access_traversal_tag type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/array/deref_impl.hpp b/external/boost/fusion/adapted/array/deref_impl.hpp new file mode 100644 index 000000000..a5719c3a7 --- /dev/null +++ b/external/boost/fusion/adapted/array/deref_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP + +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + add_reference< + typename remove_extent::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return (*it.seq)[It::index::value]; + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/end_impl.hpp b/external/boost/fusion/adapted/array/end_impl.hpp new file mode 100644 index 000000000..e4ab63cef --- /dev/null +++ b/external/boost/fusion/adapted/array/end_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef + basic_iterator< + po_array_iterator_tag + , random_access_traversal_tag + , Seq + , extent::value-1>::value + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/is_sequence_impl.hpp b/external/boost/fusion/adapted/array/is_sequence_impl.hpp new file mode 100644 index 000000000..0f5d31fad --- /dev/null +++ b/external/boost/fusion/adapted/array/is_sequence_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply + : mpl::true_ + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/is_view_impl.hpp b/external/boost/fusion/adapted/array/is_view_impl.hpp new file mode 100644 index 000000000..7cf69d8a0 --- /dev/null +++ b/external/boost/fusion/adapted/array/is_view_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply + : mpl::false_ + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/size_impl.hpp b/external/boost/fusion/adapted/array/size_impl.hpp new file mode 100644 index 000000000..d208da147 --- /dev/null +++ b/external/boost/fusion/adapted/array/size_impl.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP + +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct size_impl; + + template<> + struct size_impl + { + template + struct apply + : extent::value-1> + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/tag_of.hpp b/external/boost/fusion/adapted/array/tag_of.hpp new file mode 100644 index 000000000..d62fe65b8 --- /dev/null +++ b/external/boost/fusion/adapted/array/tag_of.hpp @@ -0,0 +1,73 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP + +#include +#include +#include + +namespace boost +{ + namespace fusion + { + struct po_array_tag; + struct po_array_iterator_tag; + struct random_access_traversal_tag; + struct fusion_sequence_tag; + + namespace traits + { +#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS + template + struct tag_of + { + typedef po_array_tag type; + }; + + template + struct tag_of + { + typedef po_array_tag type; + }; +#else + template + struct tag_of + { + typedef po_array_tag type; + }; + + template + struct tag_of + { + typedef po_array_tag type; + }; +#endif + } + } + + namespace mpl + { + template + struct sequence_tag; + + template + struct sequence_tag + { + typedef fusion::po_array_tag type; + }; + + template + struct sequence_tag + { + typedef fusion::po_array_tag type; + }; + } +} + +#endif diff --git a/external/boost/fusion/adapted/array/value_at_impl.hpp b/external/boost/fusion/adapted/array/value_at_impl.hpp new file mode 100644 index 000000000..9aab11b52 --- /dev/null +++ b/external/boost/fusion/adapted/array/value_at_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + : remove_extent + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/array/value_of_impl.hpp b/external/boost/fusion/adapted/array/value_of_impl.hpp new file mode 100644 index 000000000..3f91e8013 --- /dev/null +++ b/external/boost/fusion/adapted/array/value_of_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + : remove_extent + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array.hpp b/external/boost/fusion/adapted/boost_array.hpp new file mode 100644 index 000000000..eb6c0af37 --- /dev/null +++ b/external/boost/fusion/adapted/boost_array.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BOOST_ARRAY_27122005_1035) +#define BOOST_FUSION_BOOST_ARRAY_27122005_1035 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/boost_array/array_iterator.hpp b/external/boost/fusion/adapted/boost_array/array_iterator.hpp new file mode 100644 index 000000000..ca8da0a22 --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/array_iterator.hpp @@ -0,0 +1,121 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ARRAY_ITERATOR_26122005_2250) +#define BOOST_FUSION_ARRAY_ITERATOR_26122005_2250 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + template + struct array_iterator + : iterator_facade, random_access_traversal_tag> + { + BOOST_MPL_ASSERT_RELATION(Pos, >=, 0); + BOOST_MPL_ASSERT_RELATION(Pos, <=, static_cast(Array::static_size)); + + typedef mpl::int_ index; + typedef Array array_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + array_iterator(Array& a) + : array(a) {} + + Array& array; + + template + struct value_of + { + typedef typename Iterator::array_type array_type; + typedef typename array_type::value_type type; + }; + + template + struct deref + { + typedef typename Iterator::array_type array_type; + typedef typename + mpl::if_< + is_const + , typename array_type::const_reference + , typename array_type::reference + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const & it) + { + return it.array[Iterator::index::value]; + } + }; + + template + struct advance + { + typedef typename Iterator::index index; + typedef typename Iterator::array_type array_type; + typedef array_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.array); + } + }; + + template + struct next : advance > {}; + + template + struct prior : advance > {}; + + template + struct distance : mpl::minus + { + typedef typename + mpl::minus< + typename I2::index, typename I1::index + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(I1 const&, I2 const&) + { + return type(); + } + }; + + private: + + array_iterator& operator=(array_iterator const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::array_iterator > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/at_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/at_impl.hpp new file mode 100644 index 000000000..e355d0224 --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/at_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_IMPL_27122005_1241) +#define BOOST_FUSION_AT_IMPL_27122005_1241 + +#include +#include + +#include + +namespace boost { namespace fusion { + + struct boost_array_tag; + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename mpl::if_< + is_const, + typename Sequence::const_reference, + typename Sequence::reference>::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return seq[N::value]; + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp new file mode 100644 index 000000000..8481b765a --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BEGIN_IMPL_27122005_1117) +#define BOOST_FUSION_BEGIN_IMPL_27122005_1117 + +#include +#include + +namespace boost { namespace fusion { + + struct boost_array_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef array_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp new file mode 100644 index 000000000..038f6db9d --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044) +#define BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044 + +#include +#include + +namespace boost { namespace fusion { + + struct boost_array_tag; + struct random_access_traversal_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef random_access_traversal_tag type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/end_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/end_impl.hpp new file mode 100644 index 000000000..7574b3640 --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/end_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_END_IMPL_27122005_1120) +#define BOOST_FUSION_END_IMPL_27122005_1120 + +#include +#include + +namespace boost { namespace fusion { + + struct boost_array_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef array_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp new file mode 100644 index 000000000..ac52e720e --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648) +#define BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648 + +#include +#include + +namespace boost { namespace fusion { + + struct boost_array_tag; + + namespace extension + { + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply : mpl::true_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp new file mode 100644 index 000000000..0a84aa0ae --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_VIEW_IMPL_27042006_2221) +#define BOOST_FUSION_IS_VIEW_IMPL_27042006_2221 + +#include +#include + +namespace boost { namespace fusion +{ + struct boost_array_tag; + + namespace extension + { + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply : mpl::false_ + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/size_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/size_impl.hpp new file mode 100644 index 000000000..c04ab93c6 --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/size_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SIZE_IMPL_27122005_1251) +#define BOOST_FUSION_SIZE_IMPL_27122005_1251 + +namespace boost { namespace fusion { + + struct boost_array_tag; + + namespace extension + { + template + struct size_impl; + + template<> + struct size_impl + { + template + struct apply : mpl::int_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp new file mode 100644 index 000000000..9f80f73b3 --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VALUE_AT_IMPL_27122005_1256) +#define BOOST_FUSION_VALUE_AT_IMPL_27122005_1256 + +namespace boost { namespace fusion { + + struct boost_array_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef typename Sequence::value_type type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_array/tag_of.hpp b/external/boost/fusion/adapted/boost_array/tag_of.hpp new file mode 100644 index 000000000..d93fed1d3 --- /dev/null +++ b/external/boost/fusion/adapted/boost_array/tag_of.hpp @@ -0,0 +1,59 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_TAG_OF_27122005_1030) +#define FUSION_SEQUENCE_TAG_OF_27122005_1030 + +#include +#include + +#include + +namespace boost +{ + template + class array; +} + +namespace boost { namespace fusion +{ + struct boost_array_tag; + struct fusion_sequence_tag; + + namespace traits + { + template +#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) + struct tag_of, void > +#else + struct tag_of > +#endif + { + typedef boost_array_tag type; + }; + } +}} + +namespace boost { namespace mpl +{ + template + struct sequence_tag; + + template + struct sequence_tag > + { + typedef fusion::fusion_sequence_tag type; + }; + + template + struct sequence_tag const> + { + typedef fusion::fusion_sequence_tag type; + }; +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple.hpp b/external/boost/fusion/adapted/boost_tuple.hpp new file mode 100644 index 000000000..7ef65686b --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BOOST_TUPLE_09272006_0732) +#define BOOST_FUSION_BOOST_TUPLE_09272006_0732 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp b/external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp new file mode 100644 index 000000000..850eef5fa --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp @@ -0,0 +1,221 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BOOST_TUPLE_ITERATOR_09262006_1851) +#define FUSION_BOOST_TUPLE_ITERATOR_09262006_1851 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct forward_traversal_tag; + + namespace detail + { + template + struct boost_tuple_is_empty : mpl::false_ {}; + + template <> + struct boost_tuple_is_empty : mpl::true_ {}; + + template <> + struct boost_tuple_is_empty : mpl::true_ {}; + + template <> + struct boost_tuple_is_empty > : mpl::true_ {}; + + template <> + struct boost_tuple_is_empty const> : mpl::true_ {}; + } + + template + struct boost_tuple_iterator_identity; + + template + struct boost_tuple_iterator + : iterator_facade, forward_traversal_tag> + { + typedef Cons cons_type; + + typedef boost_tuple_iterator_identity< + typename add_const::type> identity; + + BOOST_FUSION_GPU_ENABLED + explicit boost_tuple_iterator(Cons& in_cons) + : cons(in_cons) {} + Cons& cons; + + template + struct value_of : mpl::identity {}; + + template + struct deref + { + typedef typename value_of::type element; + + typedef typename + mpl::if_< + is_const + , typename tuples::access_traits::const_type + , typename tuples::access_traits::non_const_type + >::type + type; + + BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& iter) + { + return iter.cons.get_head(); + } + }; + + template + struct next + { + typedef typename Iterator::cons_type cons_type; + typedef typename cons_type::tail_type tail_type; + + typedef boost_tuple_iterator< + typename mpl::eval_if< + is_const + , add_const + , mpl::identity + >::type> + type; + + BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& iter) + { + return type(iter.cons.get_tail()); + } + }; + + template + struct distance; + + // detail + template + struct lazy_next_distance + { + typedef + typename mpl::plus< + mpl::int_<1>, + typename distance< + typename next::type, + I2 + >::type + >::type type; + }; + + template + struct distance + { + typedef typename mpl::eval_if< + boost::is_same, + mpl::int_<0>, + lazy_next_distance + >::type type; + + BOOST_FUSION_GPU_ENABLED + static type + call(I1 const&, I2 const&) + { + return type(); + } + }; + + template + struct equal_to + : is_same + {}; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + boost_tuple_iterator& operator= (boost_tuple_iterator const&); + }; + + template + struct boost_tuple_null_iterator + : iterator_facade, forward_traversal_tag> + { + typedef Null cons_type; + + typedef boost_tuple_iterator_identity< + typename add_const::type> identity; + + template + struct equal_to + : mpl::or_< + is_same + , mpl::and_< + detail::boost_tuple_is_empty + , detail::boost_tuple_is_empty + > + > + {}; + }; + + template <> + struct boost_tuple_iterator + : boost_tuple_null_iterator + { + template + BOOST_FUSION_GPU_ENABLED + explicit boost_tuple_iterator(Cons const&) {} + }; + + template <> + struct boost_tuple_iterator + : boost_tuple_null_iterator + { + template + BOOST_FUSION_GPU_ENABLED + explicit boost_tuple_iterator(Cons const&) {} + }; + + template <> + struct boost_tuple_iterator > + : boost_tuple_null_iterator > + { + template + BOOST_FUSION_GPU_ENABLED + explicit boost_tuple_iterator(Cons const&) {} + }; + + template <> + struct boost_tuple_iterator const> + : boost_tuple_null_iterator const> + { + template + BOOST_FUSION_GPU_ENABLED + explicit boost_tuple_iterator(Cons const&) {} + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::boost_tuple_iterator > + { }; +} +#endif + +#endif + + diff --git a/external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp new file mode 100644 index 000000000..32ca5bec5 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_IMPL_09262006_1920) +#define BOOST_FUSION_AT_IMPL_09262006_1920 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef typename + tuples::element::type + element; + + typedef typename + mpl::if_< + is_const + , typename tuples::access_traits::const_type + , typename tuples::access_traits::non_const_type + >::type + type; + + BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return tuples::get(seq); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp new file mode 100644 index 000000000..1fbbb19c1 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BEGIN_IMPL_09272006_0719) +#define BOOST_FUSION_BEGIN_IMPL_09272006_0719 + +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef boost_tuple_iterator type; + + BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp b/external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp new file mode 100644 index 000000000..216fb0a61 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp @@ -0,0 +1,59 @@ +/*============================================================================= + Copyright (c) 2012-2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_CONS_10172012_0130) +#define BOOST_FUSION_BUILD_CONS_10172012_0130 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template < + typename First + , typename Last + , bool is_empty = result_of::equal_to::value> + struct build_tuple_cons; + + template + struct build_tuple_cons + { + typedef boost::tuples::null_type type; + + BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + + template + struct build_tuple_cons + { + typedef + build_tuple_cons::type, Last> + next_build_tuple_cons; + + typedef boost::tuples::cons< + typename result_of::value_of::type + , typename next_build_tuple_cons::type> + type; + + BOOST_FUSION_GPU_ENABLED + static type + call(First const& f, Last const& l) + { + typename result_of::value_of::type v = *f; + return type(v, next_build_tuple_cons::call(fusion::next(f), l)); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp new file mode 100644 index 000000000..9b52c98a8 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_09272006_0726) +#define BOOST_FUSION_CATEGORY_OF_IMPL_09272006_0726 + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + struct forward_traversal_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef forward_traversal_tag type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp new file mode 100644 index 000000000..8f2fbeec8 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2012-2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CONVERT_IMPL_10172012_0120) +#define BOOST_FUSION_CONVERT_IMPL_10172012_0120 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename + detail::build_tuple_cons< + typename result_of::begin::type + , typename result_of::end::type + > + build_tuple_cons; + + typedef typename build_tuple_cons::type type; + + BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return build_tuple_cons::call(fusion::begin(seq), fusion::end(seq)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp new file mode 100644 index 000000000..9f7f07c3a --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp @@ -0,0 +1,56 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_END_IMPL_09272006_0721) +#define BOOST_FUSION_END_IMPL_09272006_0721 + +#include +#include +#include +#include + +namespace boost { namespace tuples +{ + struct null_type; +}} + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef + boost_tuple_iterator< + typename mpl::if_< + is_const + , tuples::null_type const + , tuples::null_type + >::type + > + type; + + BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return type(seq); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp new file mode 100644 index 000000000..eb4a1185e --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726) +#define BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726 + +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply : mpl::true_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp new file mode 100644 index 000000000..638441103 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_VIEW_IMPL_09272006_0725) +#define BOOST_FUSION_IS_VIEW_IMPL_09272006_0725 + +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply : mpl::false_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp new file mode 100644 index 000000000..371627867 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SIZE_IMPL_09272006_0724) +#define BOOST_FUSION_SIZE_IMPL_09272006_0724 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply : mpl::int_::value> {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp new file mode 100644 index 000000000..399927136 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VALUE_AT_IMPL_09262006_1926) +#define BOOST_FUSION_VALUE_AT_IMPL_09262006_1926 + +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply : tuples::element {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp b/external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp new file mode 100644 index 000000000..1cca019c6 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2012 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CLEAR_10172012_0100) +#define BOOST_FUSION_CLEAR_10172012_0100 + +#include +#include + +namespace boost { namespace fusion { namespace detail { + + template + struct clear; + + template <> + struct clear : mpl::identity > {}; + +}}} + +#endif diff --git a/external/boost/fusion/adapted/boost_tuple/tag_of.hpp b/external/boost/fusion/adapted/boost_tuple/tag_of.hpp new file mode 100644 index 000000000..cf24ffbf8 --- /dev/null +++ b/external/boost/fusion/adapted/boost_tuple/tag_of.hpp @@ -0,0 +1,115 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_TAG_OF_09262006_1900) +#define BOOST_FUSION_TAG_OF_09262006_1900 + +#include +#include + +namespace boost { namespace tuples +{ + struct null_type; + + template < + class T0, class T1, class T2, class T3, class T4, + class T5, class T6, class T7, class T8, class T9 + > + class tuple; + + template + struct cons; +}} + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + struct fusion_sequence_tag; + + namespace traits + { + template < + class T0, class T1, class T2, class T3, class T4, + class T5, class T6, class T7, class T8, class T9 + > +#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) + struct tag_of, void > +#else + struct tag_of > +#endif + { + typedef boost_tuple_tag type; + }; + + template +#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) + struct tag_of, void > +#else + struct tag_of > +#endif + { + typedef boost_tuple_tag type; + }; + + template <> + struct tag_of + { + typedef boost_tuple_tag type; + }; + } +}} + +namespace boost { namespace mpl +{ + template + struct sequence_tag; + + template < + class T0, class T1, class T2, class T3, class T4, + class T5, class T6, class T7, class T8, class T9 + > + struct sequence_tag > + { + typedef fusion::fusion_sequence_tag type; + }; + + template < + class T0, class T1, class T2, class T3, class T4, + class T5, class T6, class T7, class T8, class T9 + > + struct sequence_tag< + tuples::tuple const + > + { + typedef fusion::fusion_sequence_tag type; + }; + + template + struct sequence_tag > + { + typedef fusion::fusion_sequence_tag type; + }; + + template + struct sequence_tag const> + { + typedef fusion::fusion_sequence_tag type; + }; + + template <> + struct sequence_tag + { + typedef fusion::fusion_sequence_tag type; + }; + + template <> + struct sequence_tag + { + typedef fusion::fusion_sequence_tag type; + }; +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl.hpp b/external/boost/fusion/adapted/mpl.hpp new file mode 100644 index 000000000..3eca0320a --- /dev/null +++ b/external/boost/fusion/adapted/mpl.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MPL_31122005_1152) +#define BOOST_FUSION_MPL_31122005_1152 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/at_impl.hpp b/external/boost/fusion/adapted/mpl/detail/at_impl.hpp new file mode 100644 index 000000000..232ca4df5 --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/at_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_IMPL_31122005_1642) +#define BOOST_FUSION_AT_IMPL_31122005_1642 + +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef typename mpl::at::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence) + { + return type(); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/begin_impl.hpp b/external/boost/fusion/adapted/mpl/detail/begin_impl.hpp new file mode 100644 index 000000000..3f087bda4 --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/begin_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BEGIN_IMPL_31122005_1209) +#define BOOST_FUSION_BEGIN_IMPL_31122005_1209 + +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct mpl_sequence_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef typename mpl::begin< + typename remove_const::type + >::type iterator; + typedef mpl_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence) + { + return type(); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp b/external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp new file mode 100644 index 000000000..8cf2f88bf --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141) +#define BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + namespace detail + { + template + struct mpl_sequence_category_of + { + // assumes T is an mpl sequence + // there should be no way this will ever be + // called where T is an mpl iterator + + BOOST_STATIC_ASSERT(mpl::is_sequence::value); + typedef typename + mpl_iterator_category< + typename mpl::begin::type::category + >::type + type; + }; + } + + struct mpl_sequence_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + : detail::mpl_sequence_category_of + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/empty_impl.hpp b/external/boost/fusion/adapted/mpl/detail/empty_impl.hpp new file mode 100644 index 000000000..4e385ff51 --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/empty_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_EMPTY_IMPL_31122005_1554) +#define BOOST_FUSION_EMPTY_IMPL_31122005_1554 + +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct empty_impl; + + template <> + struct empty_impl + { + template + struct apply : mpl::empty {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/end_impl.hpp b/external/boost/fusion/adapted/mpl/detail/end_impl.hpp new file mode 100644 index 000000000..7ef13fb4f --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/end_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_END_IMPL_31122005_1237) +#define BOOST_FUSION_END_IMPL_31122005_1237 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef typename mpl::end< + typename remove_const::type + >::type iterator; + typedef mpl_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence) + { + return type(); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp b/external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp new file mode 100644 index 000000000..9e5a1dc4d --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_HAS_KEY_IMPL_31122005_1647) +#define BOOST_FUSION_HAS_KEY_IMPL_31122005_1647 + +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct has_key_impl; + + template <> + struct has_key_impl + { + template + struct apply : mpl::has_key {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp new file mode 100644 index 000000000..caed9e62d --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505) +#define BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505 + +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply : mpl::true_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp b/external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp new file mode 100644 index 000000000..b49424897 --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_VIEW_IMPL_03202006_0048) +#define BOOST_FUSION_IS_VIEW_IMPL_03202006_0048 + +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply : mpl::true_ + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/size_impl.hpp b/external/boost/fusion/adapted/mpl/detail/size_impl.hpp new file mode 100644 index 000000000..379b97dca --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/size_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SIZE_IMPL_31122005_1508) +#define BOOST_FUSION_SIZE_IMPL_31122005_1508 + +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply : mpl::size {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp b/external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp new file mode 100644 index 000000000..0d3eb6524 --- /dev/null +++ b/external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VALUE_AT_IMPL_31122005_1621) +#define BOOST_FUSION_VALUE_AT_IMPL_31122005_1621 + +#include +#include + +namespace boost { namespace fusion +{ + struct mpl_sequence_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply : mpl::at {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/mpl/mpl_iterator.hpp b/external/boost/fusion/adapted/mpl/mpl_iterator.hpp new file mode 100644 index 000000000..87de32ada --- /dev/null +++ b/external/boost/fusion/adapted/mpl/mpl_iterator.hpp @@ -0,0 +1,128 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MPL_ITERATOR_05052005_0731) +#define FUSION_MPL_ITERATOR_05052005_0731 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct mpl_iterator + : iterator_facade< + mpl_iterator + , typename detail::mpl_iterator_category::type + > + { + typedef typename remove_const::type iterator_type; + + template + struct value_of : mpl::deref {}; + + template + struct deref + { + typedef typename mpl::deref< + typename Iterator::iterator_type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator) + { + return type(); + } + }; + + template + struct next + { + typedef mpl_iterator< + typename mpl::next::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator) + { + return type(); + } + }; + + template + struct prior + { + typedef mpl_iterator< + typename mpl::prior::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator) + { + return type(); + } + }; + + template + struct advance + { + typedef mpl_iterator< + typename mpl::advance::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& /*i*/) + { + return type(); + } + }; + + template + struct distance : + mpl::distance< + typename I1::iterator_type + , typename I2::iterator_type> + { + typedef typename + mpl::distance< + typename I1::iterator_type + , typename I2::iterator_type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(I1 const&, I2 const&) + { + return type(); + } + }; + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::mpl_iterator > + { }; +} +#endif + +#endif + + diff --git a/external/boost/fusion/adapted/std_array.hpp b/external/boost/fusion/adapted/std_array.hpp new file mode 100644 index 000000000..64ae6460c --- /dev/null +++ b/external/boost/fusion/adapted/std_array.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY__01062013_1700) +#define BOOST_FUSION_STD_ARRAY__01062013_1700 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/array_size.hpp b/external/boost/fusion/adapted/std_array/detail/array_size.hpp new file mode 100644 index 000000000..013d3d7b7 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/array_size.hpp @@ -0,0 +1,25 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_ARRAY_SIZE_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_ARRAY_SIZE_01062013_1700 + +#include +#include + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct std_array_size; + + template class Array, typename T, std::size_t N> + struct std_array_size > : boost::integral_constant {}; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/at_impl.hpp b/external/boost/fusion/adapted/std_array/detail/at_impl.hpp new file mode 100644 index 000000000..6086264a9 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/at_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_AT_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_AT_IMPL_01062013_1700 + +#include + +#include + +namespace boost { namespace fusion { + + struct std_array_tag; + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename mpl::if_< + is_const, + typename Sequence::const_reference, + typename Sequence::reference>::type type; + + static type + call(Sequence& seq) + { + return seq[N::value]; + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/begin_impl.hpp b/external/boost/fusion/adapted/std_array/detail/begin_impl.hpp new file mode 100644 index 000000000..c84082e34 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/begin_impl.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_BEGIN_OF_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_BEGIN_OF_IMPL_01062013_1700 + +#include + +namespace boost { namespace fusion { + + struct std_array_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef std_array_iterator type; + + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp b/external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp new file mode 100644 index 000000000..b5fa09350 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_CATEGORY_OF_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_CATEGORY_OF_IMPL_01062013_1700 + +#include + +namespace boost { namespace fusion { + + struct std_array_tag; + struct random_access_traversal_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef random_access_traversal_tag type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/end_impl.hpp b/external/boost/fusion/adapted/std_array/detail/end_impl.hpp new file mode 100644 index 000000000..b7b789ef5 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/end_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_END_OF_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_END_OF_IMPL_01062013_1700 + +#include +#include +#include + +namespace boost { namespace fusion { + + struct std_array_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef typename remove_const::type seq_type; + static int const size = std_array_size::value; + typedef std_array_iterator type; + + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp new file mode 100644 index 000000000..8308e838c --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_IS_SEQUENCE_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_IS_SEQUENCE_IMPL_01062013_1700 + +#include + +namespace boost { namespace fusion { + + struct std_array_tag; + + namespace extension + { + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply : mpl::true_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp b/external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp new file mode 100644 index 000000000..89cd04cf2 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_IS_VIEW_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_IS_VIEW_IMPL_01062013_1700 + +#include + +namespace boost { namespace fusion +{ + struct std_array_tag; + + namespace extension + { + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply : mpl::false_ + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/size_impl.hpp b/external/boost/fusion/adapted/std_array/detail/size_impl.hpp new file mode 100644 index 000000000..7df51b2a5 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/size_impl.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_SIZE_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_SIZE_IMPL_01062013_1700 + +#include +#include + +namespace boost { namespace fusion { + + struct std_array_tag; + + namespace extension + { + template + struct size_impl; + + template<> + struct size_impl + { + template + struct apply + : mpl::int_ + < + std_array_size + < + typename remove_const::type + >::value + > + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp b/external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp new file mode 100644 index 000000000..3d7871a7d --- /dev/null +++ b/external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_VALUE_AT_IMPL_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_VALUE_AT_IMPL_01062013_1700 + +namespace boost { namespace fusion { + + struct std_array_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef typename Sequence::value_type type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/std_array_iterator.hpp b/external/boost/fusion/adapted/std_array/std_array_iterator.hpp new file mode 100644 index 000000000..29584512b --- /dev/null +++ b/external/boost/fusion/adapted/std_array/std_array_iterator.hpp @@ -0,0 +1,109 @@ +/*============================================================================= + Copyright (c) 2013 Mateusz Loskot + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_ARRAY_ITERATOR_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_ARRAY_ITERATOR_01062013_1700 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + template + struct std_array_iterator + : iterator_facade, random_access_traversal_tag> + { + BOOST_MPL_ASSERT_RELATION(Pos, >=, 0); + BOOST_MPL_ASSERT_RELATION(Pos, <=, std::tuple_size::value); + + typedef mpl::int_ index; + typedef Array array_type; + + std_array_iterator(Array& a) + : array(a) {} + + Array& array; + + template + struct value_of + { + typedef typename Iterator::array_type array_type; + typedef typename array_type::value_type type; + }; + + template + struct deref + { + typedef typename Iterator::array_type array_type; + typedef typename + mpl::if_< + is_const + , typename array_type::const_reference + , typename array_type::reference + >::type + type; + + static type + call(Iterator const & it) + { + return it.array[Iterator::index::value]; + } + }; + + template + struct advance + { + typedef typename Iterator::index index; + typedef typename Iterator::array_type array_type; + typedef std_array_iterator type; + + static type + call(Iterator const& i) + { + return type(i.array); + } + }; + + template + struct next : advance > {}; + + template + struct prior : advance > {}; + + template + struct distance : mpl::minus + { + typedef typename + mpl::minus< + typename I2::index, typename I1::index + >::type + type; + + static type + call(I1 const&, I2 const&) + { + return type(); + } + }; + + private: + + std_array_iterator& operator=(std_array_iterator const&); + }; +}} + +#endif diff --git a/external/boost/fusion/adapted/std_array/tag_of.hpp b/external/boost/fusion/adapted/std_array/tag_of.hpp new file mode 100644 index 000000000..543c5bb46 --- /dev/null +++ b/external/boost/fusion/adapted/std_array/tag_of.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STD_ARRAY_TAG_OF_01062013_1700) +#define BOOST_FUSION_STD_ARRAY_TAG_OF_01062013_1700 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct std_array_tag; + struct fusion_sequence_tag; + + namespace traits + { + template +#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) + struct tag_of, void > +#else + struct tag_of > +#endif + { + typedef std_array_tag type; + }; + } +}} + +namespace boost { namespace mpl +{ + template + struct sequence_tag; + + template + struct sequence_tag > + { + typedef fusion::fusion_sequence_tag type; + }; + + template + struct sequence_tag const> + { + typedef fusion::fusion_sequence_tag type; + }; +}} + +#endif diff --git a/external/boost/fusion/adapted/std_pair.hpp b/external/boost/fusion/adapted/std_pair.hpp new file mode 100644 index 000000000..79de3d44f --- /dev/null +++ b/external/boost/fusion/adapted/std_pair.hpp @@ -0,0 +1,20 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STD_PAIR_HPP +#define BOOST_FUSION_ADAPTED_STD_PAIR_HPP + +#include +#include +#include + +BOOST_FUSION_ADAPT_TPL_STRUCT( + (T1)(T2),(std::pair)(T1)(T2),(T1, first)(T2, second)) + +#endif diff --git a/external/boost/fusion/adapted/std_tuple.hpp b/external/boost/fusion/adapted/std_tuple.hpp new file mode 100644 index 000000000..b7e847916 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple.hpp @@ -0,0 +1,24 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BOOST_TUPLE_09242011_1744) +#define BOOST_FUSION_BOOST_TUPLE_09242011_1744 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp new file mode 100644 index 000000000..47a20a25e --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_IMPL_09242011_1744) +#define BOOST_FUSION_AT_IMPL_09242011_1744 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef typename remove_const::type seq_type; + typedef typename std::tuple_element::type element; + + typedef typename + mpl::if_< + is_const + , typename fusion::detail::cref_result::type + , typename fusion::detail::ref_result::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return std::get(seq); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp new file mode 100644 index 000000000..1d5d392ba --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BEGIN_IMPL_09242011_1744) +#define BOOST_FUSION_BEGIN_IMPL_09242011_1744 + +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef std_tuple_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp b/external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp new file mode 100644 index 000000000..b60dc76fc --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp @@ -0,0 +1,88 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_STD_TUPLE_05292014_0100) +#define BOOST_FUSION_BUILD_STD_TUPLE_05292014_0100 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template ::value> + struct build_std_tuple; + + template + struct build_std_tuple + { + typedef std::tuple<> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + + template + struct push_front_std_tuple; + + template + struct push_front_std_tuple > + { + typedef std::tuple type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + indexed_call(T const& first, std::tuple const& rest, index_sequence) + { + return type(first, std::get(rest)...); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(T const& first, std::tuple const& rest) + { + typedef typename make_index_sequence::type gen; + return indexed_call(first, rest, gen()); + } + }; + + template + struct build_std_tuple + { + typedef + build_std_tuple::type, Last> + next_build_std_tuple; + + typedef push_front_std_tuple< + typename result_of::value_of::type + , typename next_build_std_tuple::type> + push_front; + + typedef typename push_front::type type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& f, Last const& l) + { + typename result_of::value_of::type v = *f; + return push_front::call( + v, next_build_std_tuple::call(fusion::next(f), l)); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp new file mode 100644 index 000000000..b41e84181 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_04202013_0940) +#define BOOST_FUSION_CATEGORY_OF_IMPL_04202013_0940 + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + struct random_access_traversal_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef random_access_traversal_tag type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp new file mode 100644 index 000000000..96b67b11f --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2012-2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CONVERT_IMPL_10172012_0940) +#define BOOST_FUSION_CONVERT_IMPL_10172012_0940 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef detail::build_std_tuple< + typename result_of::begin::type + , typename result_of::end::type + > gen; + + typedef typename gen::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return gen::call(begin(seq), end(seq)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp new file mode 100644 index 000000000..500b0491e --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_END_IMPL_09242011_1744) +#define BOOST_FUSION_END_IMPL_09242011_1744 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef typename remove_const::type seq_type; + static int const size = std::tuple_size::value; + typedef std_tuple_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp new file mode 100644 index 000000000..672072654 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_09242011_1744) +#define BOOST_FUSION_IS_SEQUENCE_IMPL_09242011_1744 + +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply : mpl::true_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp new file mode 100644 index 000000000..e161984f2 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_VIEW_IMPL_09242011_1744) +#define BOOST_FUSION_IS_VIEW_IMPL_09242011_1744 + +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply : mpl::false_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp new file mode 100644 index 000000000..11c294e57 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SIZE_IMPL_09242011_1744) +#define BOOST_FUSION_SIZE_IMPL_09242011_1744 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply : + mpl::int_::type>::value + > + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp new file mode 100644 index 000000000..e3e853ca4 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VALUE_AT_IMPL_09242011_1744) +#define BOOST_FUSION_VALUE_AT_IMPL_09242011_1744 + +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply : std::tuple_element {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/mpl/clear.hpp b/external/boost/fusion/adapted/std_tuple/mpl/clear.hpp new file mode 100644 index 000000000..871231643 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/mpl/clear.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2012 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CLEAR_10172012_0940) +#define BOOST_FUSION_CLEAR_10172012_0940 + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct clear; + + template <> + struct clear : mpl::identity > {}; + +}}} + +#endif diff --git a/external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp b/external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp new file mode 100644 index 000000000..a3421e0f9 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp @@ -0,0 +1,121 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_STD_TUPLE_ITERATOR_09112011_1905) +#define FUSION_STD_TUPLE_ITERATOR_09112011_1905 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + template + struct std_tuple_iterator_identity; + + template + struct std_tuple_iterator + : iterator_facade< + std_tuple_iterator + , random_access_traversal_tag> + { + typedef Tuple tuple_type; + static int const index = Index; + typedef std_tuple_iterator_identity< + typename add_const::type, Index> + identity; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit std_tuple_iterator(Tuple& tuple) + : tuple(tuple) {} + + Tuple& tuple; + + template + struct value_of + : std::tuple_element::type> {}; + + template + struct deref + { + typedef typename value_of::type element; + typedef typename + mpl::if_< + is_const + , typename fusion::detail::cref_result::type + , typename fusion::detail::ref_result::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& iter) + { + return std::get(iter.tuple); + } + }; + + template + struct advance + { + static int const index = Iterator::index; + typedef typename Iterator::tuple_type tuple_type; + typedef std_tuple_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.tuple); + } + }; + + template + struct next : advance> {}; + + template + struct prior : advance> {}; + + template + struct equal_to + : is_same {}; + + template + struct distance + { + typedef mpl::int_ type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::std_tuple_iterator > + { }; +} +#endif + +#endif + + diff --git a/external/boost/fusion/adapted/std_tuple/tag_of.hpp b/external/boost/fusion/adapted/std_tuple/tag_of.hpp new file mode 100644 index 000000000..e14533544 --- /dev/null +++ b/external/boost/fusion/adapted/std_tuple/tag_of.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_TAG_OF_09112011_1842) +#define BOOST_FUSION_TAG_OF_09112011_1842 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + struct fusion_sequence_tag; + + namespace traits + { + template + struct tag_of> + { + typedef std_tuple_tag type; + }; + } +}} + +namespace boost { namespace mpl +{ + template + struct sequence_tag; + + template + struct sequence_tag> + { + typedef fusion::fusion_sequence_tag type; + }; + + template + struct sequence_tag const> + { + typedef fusion::fusion_sequence_tag type; + }; +}} + +#endif diff --git a/external/boost/fusion/adapted/struct.hpp b/external/boost/fusion/adapted/struct.hpp new file mode 100644 index 000000000..3f159038a --- /dev/null +++ b/external/boost/fusion/adapted/struct.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_HPP + +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp b/external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp new file mode 100644 index 000000000..c8659fdfe --- /dev/null +++ b/external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp @@ -0,0 +1,102 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2007 Dan Marsden + Copyright (c) 2009-2011 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,PREFIX,ATTRIBUTE) \ + \ + BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + IS_VIEW, \ + I, \ + BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE),3)) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct struct_assoc_key \ + { \ + typedef \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type; \ + }; + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C( \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, I, ATTRIBUTE) \ + \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,BOOST_PP_EMPTY,ATTRIBUTE) + + +#define BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, ATTRIBUTES) \ + \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (1)TEMPLATE_PARAMS_SEQ, \ + (1)NAME_SEQ, \ + assoc_struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + assoc_struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + assoc_struct_tag, \ + 1, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) + +#endif diff --git a/external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp b/external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp new file mode 100644 index 000000000..0d97db5c6 --- /dev/null +++ b/external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2010-2011 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP + +#include +#include +#include + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ + \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ + ATTRIBUTES) + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ + WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) + +#endif diff --git a/external/boost/fusion/adapted/struct/adapt_struct.hpp b/external/boost/fusion/adapted/struct/adapt_struct.hpp new file mode 100644 index 000000000..66710b47f --- /dev/null +++ b/external/boost/fusion/adapted/struct/adapt_struct.hpp @@ -0,0 +1,125 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2009-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_STRUCT_C( \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ + BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + IS_VIEW, \ + I, \ + BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), 2)) + + + +#if BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ...) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (1)TEMPLATE_PARAMS_SEQ, \ + (1)NAME_SEQ, \ + struct_tag, \ + 0, \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ + BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT(...) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(BOOST_PP_SEQ_HEAD(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + struct_tag, \ + 0, \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ + BOOST_PP_SEQ_TAIL(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(...) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(BOOST_PP_SEQ_HEAD(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + struct_tag, \ + 1, \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ + BOOST_PP_SEQ_TAIL(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +#else // BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_TPL_STRUCT( \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (1)TEMPLATE_PARAMS_SEQ, \ + (1)NAME_SEQ, \ + struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ + _END), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + struct_tag, \ + 1, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ + _END), \ + BOOST_FUSION_ADAPT_STRUCT_C) + + +#endif // BOOST_PP_VARIADICS + +#endif diff --git a/external/boost/fusion/adapted/struct/adapt_struct_named.hpp b/external/boost/fusion/adapted/struct/adapt_struct_named.hpp new file mode 100644 index 000000000..0c61b42a9 --- /dev/null +++ b/external/boost/fusion/adapted/struct/adapt_struct_named.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2009-2010 Hartmut Kaiser + Copyright (c) 2010-2011 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP + +#include +#include +#include +#include + +#ifdef BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ...) \ + \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ + \ + BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ + (0)NAMESPACE_SEQ)NAME, \ + __VA_ARGS__) + +# define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ...) \ + BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,__VA_ARGS__) + + +#else // BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ + \ + BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ + (0)NAMESPACE_SEQ)NAME, \ + ATTRIBUTES) + +# define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) + +#endif + +#endif diff --git a/external/boost/fusion/adapted/struct/define_assoc_struct.hpp b/external/boost/fusion/adapted/struct/define_assoc_struct.hpp new file mode 100644 index 000000000..faea077fb --- /dev/null +++ b/external/boost/fusion/adapted/struct/define_assoc_struct.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2010-2011 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP + +#include +#include +#include +#include + +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ + ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1 +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ + ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0 +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0_END +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1_END + +#define BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT( \ + TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ + TEMPLATE_PARAMS_SEQ, \ + (0)NAMESPACE_SEQ, \ + NAME, \ + BOOST_PP_CAT( \ + BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ + 3) \ + \ + BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ + TEMPLATE_PARAMS_SEQ, \ + (BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME)\ + TEMPLATE_PARAMS_SEQ, \ + ATTRIBUTES) + +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT(NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + BOOST_FUSION_DEFINE_STRUCT_IMPL( \ + (0)NAMESPACE_SEQ, \ + NAME, \ + BOOST_PP_CAT( \ + BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ + 3) \ + \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME, \ + ATTRIBUTES) + +#endif diff --git a/external/boost/fusion/adapted/struct/define_struct.hpp b/external/boost/fusion/adapted/struct/define_struct.hpp new file mode 100644 index 000000000..c9ae42297 --- /dev/null +++ b/external/boost/fusion/adapted/struct/define_struct.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2010-2011 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP + +#include +#include +#include +#include + +#define BOOST_FUSION_DEFINE_TPL_STRUCT( \ + TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ + TEMPLATE_PARAMS_SEQ, \ + (0)NAMESPACE_SEQ, \ + NAME, \ + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ + 2) \ + \ + BOOST_FUSION_ADAPT_TPL_STRUCT( \ + TEMPLATE_PARAMS_SEQ, \ + (BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME)\ + TEMPLATE_PARAMS_SEQ, \ + ATTRIBUTES) + +#define BOOST_FUSION_DEFINE_STRUCT(NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + BOOST_FUSION_DEFINE_STRUCT_IMPL( \ + (0)NAMESPACE_SEQ, \ + NAME, \ + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ + 2) \ + \ + BOOST_FUSION_ADAPT_STRUCT( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME, \ + ATTRIBUTES) + +#endif diff --git a/external/boost/fusion/adapted/struct/define_struct_inline.hpp b/external/boost/fusion/adapted/struct/define_struct_inline.hpp new file mode 100644 index 000000000..5986c0d44 --- /dev/null +++ b/external/boost/fusion/adapted/struct/define_struct_inline.hpp @@ -0,0 +1,26 @@ +/*============================================================================= + Copyright (c) 2012 Nathan Ridge + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP + +#include +#include +#include + +#define BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE_IMPL( \ + TEMPLATE_PARAMS_SEQ, \ + NAME, \ + ATTRIBUTES) + +#define BOOST_FUSION_DEFINE_STRUCT_INLINE(NAME, ATTRIBUTES) \ + BOOST_FUSION_DEFINE_STRUCT_INLINE_IMPL(NAME, ATTRIBUTES) \ + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_auto.hpp b/external/boost/fusion/adapted/struct/detail/adapt_auto.hpp new file mode 100644 index 000000000..71a542c7a --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/adapt_auto.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP + +#define BOOST_FUSION_ADAPT_AUTO auto +#define BOOST_MPL_PP_TOKEN_EQUAL_auto(x) x + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_base.hpp b/external/boost/fusion/adapted/struct/detail/adapt_base.hpp new file mode 100644 index 000000000..84b9302c4 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/adapt_base.hpp @@ -0,0 +1,309 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \ + BOOST_PP_SEQ_HEAD(SEQ) \ + BOOST_PP_EMPTY() + +#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(SEQ) \ + BOOST_PP_IF( \ + BOOST_PP_SEQ_HEAD(SEQ), \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS, \ + BOOST_PP_SEQ_HEAD)(BOOST_PP_SEQ_TAIL(SEQ)) + +#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C(R, _, ELEM) \ + (typename ELEM) +#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL(SEQ) \ + BOOST_PP_SEQ_ENUM( \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C, \ + _, \ + BOOST_PP_SEQ_TAIL(SEQ))) +#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(SEQ) \ + BOOST_PP_IF( \ + BOOST_PP_SEQ_HEAD(SEQ), \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL, \ + BOOST_PP_TUPLE_EAT(1))(SEQ) + +#ifdef BOOST_MSVC +# define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ + BOOST_TYPEOF( PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ + 0, ATTRIBUTE)) \ + type; \ + }; \ + \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ + deduced_attr_type::type attribute_type; + +#else +# define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef BOOST_TYPEOF( \ + PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 0, ATTRIBUTE)) \ + type; \ + }; \ + \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ + deduced_attr_type::type attribute_type; + +#endif + +#define BOOST_FUSION_ATTRIBUTE_GIVENTYPE( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + typedef \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 0, ATTRIBUTE) attribute_type; + + +#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS +# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ + MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct tag_of< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER \ + , void \ + > \ + { \ + typedef TAG type; \ + }; +#else +# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ + MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct tag_of \ + { \ + typedef TAG type; \ + }; +#endif + +#define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(4,0,DATA)( \ + BOOST_PP_TUPLE_ELEM(4,1,DATA), \ + BOOST_PP_TUPLE_ELEM(4,2,DATA), \ + BOOST_PP_TUPLE_ELEM(4,3,DATA), \ + I, \ + ATTRIBUTE) + +#ifdef BOOST_MSVC +# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM(R,_,ELEM) \ + typedef ELEM ELEM; +# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL(SEQ) \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM, \ + _, \ + BOOST_PP_SEQ_TAIL(SEQ)) +# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) \ + BOOST_PP_IF( \ + BOOST_PP_SEQ_HEAD(SEQ), \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL, \ + BOOST_PP_TUPLE_EAT(1))(SEQ) +#else +# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) +#endif + +#define BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, \ + I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPLE_SIZE, \ + DEDUCE_TYPE) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct access::struct_member< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + > \ + { \ + BOOST_PP_IF(DEDUCE_TYPE, \ + BOOST_FUSION_ATTRIBUTE_TYPEOF, BOOST_FUSION_ATTRIBUTE_GIVENTYPE)( \ + NAME_SEQ, \ + ATTRIBUTE, \ + ATTRIBUTE_TUPLE_SIZE, \ + PREFIX, \ + TEMPLATE_PARAMS_SEQ) \ + \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + \ + typedef attribute_type type; \ + \ + template \ + struct apply \ + { \ + typedef typename \ + add_reference< \ + typename mpl::eval_if< \ + is_const \ + , add_const \ + , mpl::identity \ + >::type \ + >::type \ + type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type \ + call(Seq& seq) \ + { \ + return seq.PREFIX() \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ + BOOST_PP_NOT(DEDUCE_TYPE), ATTRIBUTE); \ + } \ + }; \ + }; \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ + > \ + struct struct_member_name< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + > \ + { \ + typedef char const* type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type \ + call() \ + { \ + return BOOST_PP_STRINGIZE( \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ + BOOST_PP_NOT(DEDUCE_TYPE), ATTRIBUTE)); \ + } \ + }; + +#define BOOST_FUSION_ADAPT_STRUCT_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + TAG, \ + IS_VIEW, \ + ATTRIBUTES_SEQ, \ + ATTRIBUTES_CALLBACK) \ + \ +namespace boost \ +{ \ + namespace fusion \ + { \ + namespace traits \ + { \ + BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ + BOOST_PP_EMPTY(), TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ + BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ + const, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ + } \ + \ + namespace extension \ + { \ + BOOST_PP_IF( \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ + BOOST_PP_SEQ_FOR_EACH_I_R, \ + BOOST_PP_TUPLE_EAT(4))( \ + 1, \ + BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL, \ + (ATTRIBUTES_CALLBACK,TEMPLATE_PARAMS_SEQ,NAME_SEQ, IS_VIEW),\ + BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ)) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + > \ + struct struct_size \ + : mpl::int_ \ + {}; \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + > \ + struct struct_is_view< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + > \ + : mpl::BOOST_PP_IIF(IS_VIEW,true_,false_) \ + {}; \ + } \ + } \ + \ + namespace mpl \ + { \ + template \ + struct sequence_tag; \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + > \ + struct sequence_tag \ + { \ + typedef fusion::fusion_sequence_tag type; \ + }; \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + > \ + struct sequence_tag< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const \ + > \ + { \ + typedef fusion::fusion_sequence_tag type; \ + }; \ + } \ +} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp b/external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp new file mode 100644 index 000000000..8c4801111 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp @@ -0,0 +1,73 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP + +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include + +#if BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(...) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(...) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(...) \ + BOOST_PP_IIF( \ + BOOST_MPL_PP_TOKEN_EQUAL(auto, BOOST_PP_VARIADIC_ELEM(0, __VA_ARGS__)), \ + ((2, \ + (BOOST_PP_VARIADIC_ELEM(1, __VA_ARGS__), \ + BOOST_PP_VARIADIC_ELEM(2, __VA_ARGS__)))), \ + ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \ + (__VA_ARGS__))) \ + ) + +#else // BOOST_PP_VARIADICS + + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ + BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, X), \ + ((2, (Y,Z))), \ + ((3, (X,Y,Z))) \ + ) + +#endif // BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END + + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM( \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_DEC(BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE)), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE)) + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp b/external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp new file mode 100644 index 000000000..3755bc367 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp @@ -0,0 +1,70 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP + +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0(X, Y) \ + BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_1 + +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1(X, Y) \ + BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0 + +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0_END +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1_END + +#define BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X, Y) \ + BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, BOOST_PP_EXPAND(X)), \ + ((1, (Y))), \ + ((2, (X,Y))) \ + ) + +#define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) + +#define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) + + +#if BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP(r, unused, elem) \ + BOOST_PP_IIF(BOOST_FUSION_PP_IS_SEQ(elem), \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 elem ,_END), \ + BOOST_PP_EXPR_IIF(BOOST_PP_COMPL(BOOST_PP_IS_EMPTY(elem)), \ + BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(auto, elem))) + +# define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(VA_ARGS_SEQ) \ + BOOST_PP_SEQ_PUSH_FRONT( \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP, \ + unused, VA_ARGS_SEQ), \ + (0,0)) + +#endif // BOOST_PP_VARIADICS + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp b/external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp new file mode 100644 index 000000000..8430262f8 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP + +#include + +#define BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ) \ + BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/at_impl.hpp b/external/boost/fusion/adapted/struct/detail/at_impl.hpp new file mode 100644 index 000000000..52ed847d6 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/at_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + : access::struct_member< + typename remove_const::type + , N::value + >::template apply + {}; + }; + + template <> + struct at_impl + : at_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/begin_impl.hpp b/external/boost/fusion/adapted/struct/detail/begin_impl.hpp new file mode 100644 index 000000000..f67df3a72 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/begin_impl.hpp @@ -0,0 +1,70 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef + basic_iterator< + struct_iterator_tag + , random_access_traversal_tag + , Seq + , 0 + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; + + template <> + struct begin_impl + { + template + struct apply + { + typedef + basic_iterator< + struct_iterator_tag + , assoc_struct_category + , Seq + , 0 + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/category_of_impl.hpp b/external/boost/fusion/adapted/struct/detail/category_of_impl.hpp new file mode 100644 index 000000000..b98e82420 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/category_of_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef random_access_traversal_tag type; + }; + }; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef assoc_struct_category type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/define_struct.hpp b/external/boost/fusion/adapted/struct/detail/define_struct.hpp new file mode 100644 index 000000000..cb52ddff9 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/define_struct.hpp @@ -0,0 +1,479 @@ +/*============================================================================= + Copyright (c) 2010-2011 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP +#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_0(X, Y) \ + ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_1 +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_1(X, Y) \ + ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_0 +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_0_END +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_1_END + +#ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + +#define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ + \ + BOOST_PP_COMMA_IF(I) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)( \ + other_self.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)) + +#define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + NAME(self_type const& other_self) \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + {} + +// Use templated version instead. +#define BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I_, ATTRIBUTE) \ + \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)= \ + other.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE); + +#define BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_OP( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + self_type& operator=(self_type const& other) \ + { \ + BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + \ + return *this; \ + } + +#else // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + +#define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED NAME(self_type const&) = default; + +#define BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_OP( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED self_type& operator=(self_type const&) = default; + +#endif // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + +#define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I_, ATTRIBUTE) \ + \ + BOOST_PP_EXPR_IF( \ + I_, \ + typedef typename \ + boost::fusion::result_of::next< \ + BOOST_PP_CAT(I,BOOST_PP_DEC(I_)) \ + >::type \ + BOOST_PP_CAT(I,I_); \ + BOOST_PP_CAT(I,I_) BOOST_PP_CAT(i,I_)= \ + boost::fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(I_))); \ + ) \ + \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)= \ + boost::fusion::deref(BOOST_PP_CAT(i,I_)); + +#define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + template \ + BOOST_FUSION_GPU_ENABLED \ + self_type& \ + operator=(Seq const& seq) \ + { \ + typedef typename \ + boost::fusion::result_of::begin::type \ + I0; \ + I0 i0=boost::fusion::begin(seq); \ + \ + BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + \ + return *this; \ + } + +#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES + +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR(NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP(ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) + +#else // BOOST_NO_CXX11_RVALUE_REFERENCES + +#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) \ + || BOOST_WORKAROUND(BOOST_GCC, < 40500) \ + || BOOST_WORKAROUND(BOOST_MSVC, == 1800) + +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ + \ + BOOST_PP_COMMA_IF(I) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)(std::move( \ + other_self.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE))) + +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + NAME(self_type&& other_self) \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + {} + +#else // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED NAME(self_type&&) = default; + +#endif // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + +#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) \ + || BOOST_WORKAROUND(BOOST_GCC, < 40600) \ + || BOOST_WORKAROUND(BOOST_MSVC, == 1800) + +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I_, ATTRIBUTE) \ + \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)=std::move( \ + other.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)); + +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + self_type& operator=(self_type&& other) \ + { \ + BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + \ + return *this; \ + } + +#else // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + +#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED self_type& operator=(self_type&&) = default; + +#endif // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + +#endif // BOOST_NO_CXX11_RVALUE_REFERENCES + +#define BOOST_FUSION_DEFINE_STRUCT_ATTR_I(R, ATTRIBUTE_TUPLE_SIZE, ATTRIBUTE) \ + \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,0,ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE); + +#define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ + \ + BOOST_PP_COMMA_IF(I) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)( \ + boost::fusion::deref(boost::fusion::advance_c(boost::fusion::begin( \ + seq)))) + +#define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + , typename boost::disable_if< \ + boost::is_convertible< \ + Seq const& \ + , BOOST_PP_TUPLE_ELEM( \ + ATTRIBUTE_TUPLE_SIZE, \ + 0, \ + BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ + > \ + >::type* =0 + +#define BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ + \ + BOOST_PP_COMMA_IF(I) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)() + +#define BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_PP_SEQ_FOR_EACH_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_ATTR_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + \ + BOOST_FUSION_GPU_ENABLED \ + NAME() \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + {} \ + \ + BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + template \ + BOOST_FUSION_GPU_ENABLED \ + NAME(Seq const& seq \ + BOOST_PP_IF( \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ + BOOST_PP_TUPLE_EAT(2), \ + BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER)( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + ) \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + {} \ + \ + BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_OP( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP( \ + ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP(ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) + +#define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + explicit \ + NAME(boost::call_traits< \ + BOOST_PP_TUPLE_ELEM( \ + ATTRIBUTE_TUPLE_SIZE,0,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ + >::param_type arg) \ + : BOOST_PP_TUPLE_ELEM( \ + ATTRIBUTE_TUPLE_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ + {} + +#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + explicit \ + NAME(typename boost::call_traits< \ + typename boost::fusion::detail::get_first_arg< \ + BOOST_PP_TUPLE_ELEM( \ + ATTRIBUTE_TUPLE_SIZE, \ + 0, \ + BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ + , BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ + >::type \ + >::param_type arg) \ + : BOOST_PP_TUPLE_ELEM( \ + ATTRIBUTE_TUPLE_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ + {} + +#define BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ + \ + BOOST_PP_COMMA_IF(I) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)(BOOST_PP_CAT(_,I)) + +#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I(R, DATA, I, ATTRIBUTE) \ + \ + BOOST_PP_COMMA_IF(I) \ + typename boost::call_traits< \ + typename boost::fusion::detail::get_first_arg< \ + BOOST_PP_TUPLE_ELEM( \ + BOOST_PP_TUPLE_ELEM(3,0,DATA), \ + 0, \ + ATTRIBUTE) \ + , BOOST_PP_TUPLE_ELEM(3,2,DATA) \ + >::type \ + >::param_type BOOST_PP_CAT(_,I) + +#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \ + ( \ + ATTRIBUTE_TUPLE_SIZE, \ + BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ), \ + BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ + ), \ + ATTRIBUTES_SEQ)) \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + {} + +#define BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I( \ + R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ + \ + BOOST_PP_COMMA_IF(I) \ + boost::call_traits< \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,0,ATTRIBUTE) \ + >::param_type BOOST_PP_CAT(_,I) + +#define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_GPU_ENABLED \ + NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ)) \ + : BOOST_PP_SEQ_FOR_EACH_I_R( \ + 1, \ + BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ + ATTRIBUTE_TUPLE_SIZE, \ + ATTRIBUTES_SEQ) \ + {} + +#define BOOST_FUSION_DEFINE_STRUCT_CTOR( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ + BOOST_FUSION_DEFINE_STRUCT_CTOR_N, \ + BOOST_FUSION_DEFINE_STRUCT_CTOR_1)( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) + +#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ + BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N, \ + BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1)( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) + +#define BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ + NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_DEFINE_STRUCT_CTOR( \ + NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE) + +#define BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) + +#define BOOST_FUSION_DEFINE_STRUCT_IMPL( \ + NAMESPACE_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ + \ + struct NAME \ + { \ + typedef NAME self_type; \ + \ + BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ + BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL, \ + BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL)( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + }; \ + \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) + +#define BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ + NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ + TEMPLATE_PARAMS_SEQ, \ + NAME, \ + BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), \ + ATTRIBUTE_TUPLE_SIZE) + +#define BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) + +#define BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ + TEMPLATE_PARAMS_SEQ, \ + NAMESPACE_SEQ, \ + NAME, \ + ATTRIBUTES_SEQ, \ + ATTRIBUTE_TUPLE_SIZE) \ + \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ + \ + template< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL( \ + (0)TEMPLATE_PARAMS_SEQ) \ + > \ + struct NAME \ + { \ + typedef NAME self_type; \ + \ + BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ + BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL, \ + BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL)( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE)\ + }; \ + \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) + +namespace boost { namespace fusion { namespace detail +{ + template + struct get_first_arg + { + typedef A1 type; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp new file mode 100644 index 000000000..1db1a2efe --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp @@ -0,0 +1,529 @@ +/*============================================================================= + Copyright (c) 2012 Nathan Ridge + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// MSVC and GCC <= 4.4 have a bug that affects partial specializations of +// nested templates under some circumstances. This affects the implementation +// of BOOST_FUSION_DEFINE_STRUCT_INLINE, which uses such specializations for +// the iterator class's 'deref' and 'value_of' metafunctions. On these compilers +// an alternate implementation for these metafunctions is used that does not +// require such specializations. The alternate implementation takes longer +// to compile so its use is restricted to the offending compilers. +// For MSVC, the bug was reported at https://connect.microsoft.com/VisualStudio/feedback/details/757891/c-compiler-error-involving-partial-specializations-of-nested-templates +// For GCC, 4.4 and earlier are no longer maintained so there is no need +// to report a bug. +#if defined(BOOST_MSVC) || (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 4))) + #define BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND +#endif + +#ifdef BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND +#include +#include +#include +#include +#include +#endif + + +#define BOOST_FUSION_MAKE_DEFAULT_INIT_LIST_ENTRY(R, DATA, N, ATTRIBUTE) \ + BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE)() + +#define BOOST_FUSION_MAKE_DEFAULT_INIT_LIST(ATTRIBUTES_SEQ) \ + : BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_FUSION_MAKE_DEFAULT_INIT_LIST_ENTRY, \ + ~, \ + ATTRIBUTES_SEQ) \ + +#define BOOST_FUSION_IGNORE_2(ARG1, ARG2) + +#define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \ + BOOST_FUSION_GPU_ENABLED \ + NAME(BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_FUSION_MAKE_CONST_REF_PARAM, \ + ~, \ + ATTRIBUTES_SEQ)) \ + : BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_FUSION_MAKE_INIT_LIST_ENTRY, \ + ~, \ + ATTRIBUTES_SEQ) \ + { \ + } \ + +#define BOOST_FUSION_MAKE_CONST_REF_PARAM(R, DATA, N, ATTRIBUTE) \ + BOOST_PP_COMMA_IF(N) \ + BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) const& \ + BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) + +#define BOOST_FUSION_MAKE_INIT_LIST_ENTRY_I(NAME) NAME(NAME) + +#define BOOST_FUSION_MAKE_INIT_LIST_ENTRY(R, DATA, N, ATTRIBUTE) \ + BOOST_PP_COMMA_IF(N) \ + BOOST_FUSION_MAKE_INIT_LIST_ENTRY_I(BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE)) + +#define BOOST_FUSION_ITERATOR_NAME(NAME) \ + BOOST_PP_CAT(boost_fusion_detail_, BOOST_PP_CAT(NAME, _iterator)) + +// Note: all template parameter names need to be uglified, otherwise they might +// shadow a template parameter of the struct when used with +// BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE + +#define BOOST_FUSION_MAKE_ITERATOR_VALUE_OF_SPECS(Z, N, NAME) \ + template \ + struct value_of< \ + BOOST_FUSION_ITERATOR_NAME(NAME) \ + > \ + : boost::mpl::identity< \ + typename boost_fusion_detail_Sq::t##N##_type \ + > \ + { \ + }; + +#define BOOST_FUSION_MAKE_ITERATOR_DEREF_SPEC( \ + SPEC_TYPE, CALL_ARG_TYPE, TYPE_QUAL, ATTRIBUTE, N) \ + \ + template \ + struct deref > \ + { \ + typedef typename boost_fusion_detail_Sq::t##N##_type TYPE_QUAL& type; \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(CALL_ARG_TYPE, N> const& iter) \ + { \ + return iter.seq_.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ + } \ + }; + +#define BOOST_FUSION_MAKE_ITERATOR_DEREF_SPECS(R, NAME, N, ATTRIBUTE) \ + BOOST_FUSION_MAKE_ITERATOR_DEREF_SPEC( \ + BOOST_FUSION_ITERATOR_NAME(NAME) \ + struct value_at > \ + { \ + typedef typename boost_fusion_detail_Sq::t##N##_type type; \ + }; + +#define BOOST_FUSION_MAKE_AT_SPECS(R, DATA, N, ATTRIBUTE) \ + template \ + struct at > \ + { \ + typedef typename boost::mpl::if_< \ + boost::is_const, \ + typename boost_fusion_detail_Sq::t##N##_type const&, \ + typename boost_fusion_detail_Sq::t##N##_type& \ + >::type type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_Sq& sq) \ + { \ + return sq. BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ + } \ + }; + +#define BOOST_FUSION_MAKE_TYPEDEF(R, DATA, N, ATTRIBUTE) \ + typedef BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) t##N##_type; + +#define BOOST_FUSION_MAKE_DATA_MEMBER(R, DATA, N, ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); + +#ifdef BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND + +#define BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTE_SEQ_SIZE) \ + template \ + struct value_of : boost::fusion::result_of::at_c< \ + ref_vec_t, \ + boost_fusion_detail_Iterator::index::value \ + > \ + { \ + }; + +#define BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ + template \ + struct deref \ + { \ + typedef typename boost::remove_const< \ + boost_fusion_detail_Iterator \ + >::type iterator_raw_type; \ + \ + static const int index = iterator_raw_type::index::value; \ + \ + typedef typename boost::fusion::result_of::at_c< \ + ref_vec_t, \ + index \ + >::type result_raw_type; \ + \ + typedef typename boost::mpl::if_< \ + boost::is_const, \ + typename boost::add_const::type, \ + result_raw_type \ + >::type type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(iterator_raw_type const& iter) \ + { \ + return boost::fusion::at_c(iter.ref_vec); \ + } \ + }; + +#define BOOST_FUSION_MAKE_ITERATOR_WKND_FIELD_NAME(R, DATA, N, ATTRIBUTE) \ + BOOST_PP_COMMA_IF(N) seq.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) + +#define BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES(ATTRIBUTES_SEQ) \ + , ref_vec(BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_FUSION_MAKE_ITERATOR_WKND_FIELD_NAME, \ + ~, \ + BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ))) + +#define BOOST_FUSION_MAKE_ITERATOR_WKND_REF(Z, N, DATA) \ + BOOST_PP_COMMA_IF(N) \ + typename boost::mpl::if_< \ + boost::is_const, \ + typename boost::add_const< \ + typename boost_fusion_detail_Seq::t##N##_type \ + >::type, \ + typename boost_fusion_detail_Seq::t##N##_type \ + >::type& + +#define BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) \ + typedef boost::fusion::vector< \ + BOOST_PP_REPEAT( \ + ATTRIBUTES_SEQ_SIZE, \ + BOOST_FUSION_MAKE_ITERATOR_WKND_REF, \ + ~) \ + > ref_vec_t; \ + \ + ref_vec_t ref_vec; + +#else + +#define BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTES_SEQ_SIZE) \ + template struct value_of; \ + BOOST_PP_REPEAT( \ + ATTRIBUTES_SEQ_SIZE, \ + BOOST_FUSION_MAKE_ITERATOR_VALUE_OF_SPECS, \ + NAME) + +#define BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ + template struct deref; \ + BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_FUSION_MAKE_ITERATOR_DEREF_SPECS, \ + NAME, \ + ATTRIBUTES_SEQ) + +#define BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES(ATTRIBUTES_SEQ) + +#define BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) + +#endif // BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND + +// Note: We can't nest the iterator inside the struct because we run into +// a MSVC10 bug involving partial specializations of nested templates. + +#define BOOST_FUSION_DEFINE_STRUCT_INLINE_IMPL(NAME, ATTRIBUTES) \ + BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ + struct NAME : boost::fusion::sequence_facade< \ + NAME, \ + boost::fusion::random_access_traversal_tag \ + > \ + { \ + BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ + }; + +#define BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE_IMPL( \ + TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ + \ + template < \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL( \ + (0)TEMPLATE_PARAMS_SEQ) \ + > \ + struct NAME : boost::fusion::sequence_facade< \ + NAME< \ + BOOST_PP_SEQ_ENUM(TEMPLATE_PARAMS_SEQ) \ + >, \ + boost::fusion::random_access_traversal_tag \ + > \ + { \ + BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ + }; + +#define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ + BOOST_FUSION_DEFINE_STRUCT_MEMBERS_IMPL( \ + NAME, \ + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) + +// Note: can't compute BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ) directly because +// ATTRIBUTES_SEQ may be empty and calling BOOST_PP_SEQ_SIZE on an empty +// sequence produces warnings on MSVC. +#define BOOST_FUSION_DEFINE_STRUCT_MEMBERS_IMPL(NAME, ATTRIBUTES_SEQ) \ + BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS_IMPL_IMPL( \ + NAME, \ + ATTRIBUTES_SEQ, \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((0)ATTRIBUTES_SEQ))) + +#define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ + BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL( \ + NAME, \ + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) + +#define BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL(NAME, ATTRIBUTES_SEQ) \ + BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \ + NAME, \ + ATTRIBUTES_SEQ, \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((0)ATTRIBUTES_SEQ))) + +#define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \ + \ + template \ + struct BOOST_FUSION_ITERATOR_NAME(NAME) \ + : boost::fusion::iterator_facade< \ + BOOST_FUSION_ITERATOR_NAME(NAME), \ + boost::fusion::random_access_traversal_tag \ + > \ + { \ + typedef boost::mpl::int_ index; \ + typedef boost_fusion_detail_Seq sequence_type; \ + \ + BOOST_FUSION_GPU_ENABLED \ + BOOST_FUSION_ITERATOR_NAME(NAME)(boost_fusion_detail_Seq& seq) \ + : seq_(seq) \ + BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES( \ + (0)ATTRIBUTES_SEQ) \ + {} \ + \ + boost_fusion_detail_Seq& seq_; \ + \ + BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) \ + \ + BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTES_SEQ_SIZE) \ + \ + BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ + \ + template \ + struct next \ + { \ + typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ + typename boost_fusion_detail_It::sequence_type, \ + boost_fusion_detail_It::index::value + 1 \ + > type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_It const& it) \ + { \ + return type(it.seq_); \ + } \ + }; \ + \ + template \ + struct prior \ + { \ + typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ + typename boost_fusion_detail_It::sequence_type, \ + boost_fusion_detail_It::index::value - 1 \ + > type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_It const& it) \ + { \ + return type(it.seq_); \ + } \ + }; \ + \ + template < \ + typename boost_fusion_detail_It1, \ + typename boost_fusion_detail_It2 \ + > \ + struct distance \ + { \ + typedef typename boost::mpl::minus< \ + typename boost_fusion_detail_It2::index, \ + typename boost_fusion_detail_It1::index \ + >::type type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_It1 const& /* it1 */, \ + boost_fusion_detail_It2 const& /* it2 */) \ + { \ + return type(); \ + } \ + }; \ + \ + template < \ + typename boost_fusion_detail_It, \ + typename boost_fusion_detail_M \ + > \ + struct advance \ + { \ + typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ + typename boost_fusion_detail_It::sequence_type, \ + boost_fusion_detail_It::index::value \ + + boost_fusion_detail_M::value \ + > type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_It const& it) \ + { \ + return type(it.seq_); \ + } \ + }; \ + }; + + +#define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS_IMPL_IMPL( \ + NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \ + \ + NAME() \ + BOOST_PP_IF(ATTRIBUTES_SEQ_SIZE, \ + BOOST_FUSION_MAKE_DEFAULT_INIT_LIST, \ + BOOST_PP_EMPTY)(ATTRIBUTES_SEQ) \ + { \ + } \ + \ + BOOST_PP_IF( \ + ATTRIBUTES_SEQ_SIZE, \ + BOOST_FUSION_MAKE_COPY_CONSTRUCTOR, \ + BOOST_FUSION_IGNORE_2) \ + (NAME, ATTRIBUTES_SEQ) \ + \ + template \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + NAME(const boost_fusion_detail_Seq& rhs) \ + { \ + boost::fusion::copy(rhs, *this); \ + } \ + \ + template \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + NAME& operator=(const boost_fusion_detail_Seq& rhs) \ + { \ + boost::fusion::copy(rhs, *this); \ + return *this; \ + } \ + \ + template \ + struct begin \ + { \ + typedef BOOST_FUSION_ITERATOR_NAME(NAME) \ + type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_Sq& sq) \ + { \ + return type(sq); \ + } \ + }; \ + \ + template \ + struct end \ + { \ + typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ + boost_fusion_detail_Sq, \ + ATTRIBUTES_SEQ_SIZE \ + > type; \ + \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_Sq& sq) \ + { \ + return type(sq); \ + } \ + }; \ + \ + template \ + struct size : boost::mpl::int_ \ + { \ + }; \ + \ + template \ + struct empty : boost::mpl::bool_ \ + { \ + }; \ + \ + template < \ + typename boost_fusion_detail_Sq, \ + typename boost_fusion_detail_N \ + > \ + struct value_at : value_at< \ + boost_fusion_detail_Sq, \ + boost::mpl::int_ \ + > \ + { \ + }; \ + \ + BOOST_PP_REPEAT( \ + ATTRIBUTES_SEQ_SIZE, \ + BOOST_FUSION_MAKE_VALUE_AT_SPECS, \ + ~) \ + \ + template < \ + typename boost_fusion_detail_Sq, \ + typename boost_fusion_detail_N \ + > \ + struct at : at< \ + boost_fusion_detail_Sq, \ + boost::mpl::int_ \ + > \ + { \ + }; \ + \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_MAKE_AT_SPECS, ~, ATTRIBUTES_SEQ) \ + \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_MAKE_TYPEDEF, ~, ATTRIBUTES_SEQ) \ + \ + BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_FUSION_MAKE_DATA_MEMBER, \ + ~, \ + ATTRIBUTES_SEQ) + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp b/external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp new file mode 100644 index 000000000..d3b6ced6c --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_DATA_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + : deref_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/deref_impl.hpp b/external/boost/fusion/adapted/struct/detail/deref_impl.hpp new file mode 100644 index 000000000..c53b51a32 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/deref_impl.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + access::struct_member< + typename remove_const::type + , It::index::value + >::template apply + impl; + + typedef typename impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return impl::call(*it.seq); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/end_impl.hpp b/external/boost/fusion/adapted/struct/detail/end_impl.hpp new file mode 100644 index 000000000..855be7a4e --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/end_impl.hpp @@ -0,0 +1,70 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef + basic_iterator< + struct_iterator_tag + , random_access_traversal_tag + , Seq + , struct_size::type>::value + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; + + template <> + struct end_impl + { + template + struct apply + { + typedef + basic_iterator< + struct_iterator_tag + , assoc_struct_category + , Seq + , struct_size::type>::value + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/extension.hpp b/external/boost/fusion/adapted/struct/detail/extension.hpp new file mode 100644 index 000000000..e63a0a453 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/extension.hpp @@ -0,0 +1,58 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP + +#include +#include + +namespace boost { namespace fusion +{ + struct struct_tag; + struct struct_iterator_tag; + struct assoc_struct_tag; + struct fusion_sequence_tag; + + struct assoc_struct_category + : random_access_traversal_tag, associative_tag + {}; + + namespace extension + { + struct no_such_member; + + struct access + { + template + struct struct_member; + + template + struct adt_attribute_access; + }; + + template + struct adt_attribute_proxy; + + template + struct struct_member_name; + + template + struct struct_size; + + template + struct struct_is_view; + + template + struct struct_assoc_key; + + } +}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp new file mode 100644 index 000000000..afcbe5ba4 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply + : mpl::true_ + {}; + }; + + template <> + struct is_sequence_impl + : is_sequence_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/is_view_impl.hpp b/external/boost/fusion/adapted/struct/detail/is_view_impl.hpp new file mode 100644 index 000000000..71d284077 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/is_view_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply + : struct_is_view::type> + {}; + }; + + template <> + struct is_view_impl + : is_view_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/key_of_impl.hpp b/external/boost/fusion/adapted/struct/detail/key_of_impl.hpp new file mode 100644 index 000000000..d24a24b1b --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/key_of_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_KEY_OF_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : extension::struct_assoc_key< + typename remove_const::type + , It::index::value + > + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/namespace.hpp b/external/boost/fusion/adapted/struct/detail/namespace.hpp new file mode 100644 index 000000000..2ad509df8 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/namespace.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2009-2010 Hartmut Kaiser + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP +#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP + +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_BEGIN_I(R,DATA,ELEM) \ + namespace ELEM { +#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_END_I(Z,I,DATA) } +#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION_I(Z,I,ELEM) ELEM:: + +#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ + BOOST_PP_IF( \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ + BOOST_PP_SEQ_FOR_EACH_R, \ + BOOST_PP_TUPLE_EAT(4))( \ + 1, \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_BEGIN_I, \ + _, \ + BOOST_PP_SEQ_TAIL(NAMESPACE_SEQ)) + +#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) \ + BOOST_PP_REPEAT_1( \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_END_I, \ + _) + +#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION(NAMESPACE_SEQ) \ + BOOST_PP_IF( \ + BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ + BOOST_PP_SEQ_FOR_EACH_R, \ + BOOST_PP_TUPLE_EAT(4))( \ + 1, \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION_I, \ + _, \ + BOOST_PP_SEQ_TAIL(NAMESPACE_SEQ)) + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp b/external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp new file mode 100644 index 000000000..00371ca5b --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + BOOST_PP_VARIADICS version of BOOST_PP_IS_SEQ inspired from + boost/mpl/aux_/preprocessor/is_seq.hpp, original copyrights goes to : + + Copyright Paul Mensonides 2003 + Copyright Aleksey Gurtovoy 2003-2004 + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP + +#include +#include +#include + +#if BOOST_PP_VARIADICS + +#define BOOST_FUSION_PP_IS_SEQ(seq) BOOST_PP_CAT(BOOST_FUSION_PP_IS_SEQ_, \ + BOOST_FUSION_PP_IS_SEQ_0 seq BOOST_PP_RPAREN()) + +#define BOOST_FUSION_PP_IS_SEQ_0(...) \ + BOOST_FUSION_PP_IS_SEQ_1(__VA_ARGS__ + +#define BOOST_FUSION_PP_IS_SEQ_ALWAYS_0(...) \ + 0 + +#define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_0 \ + BOOST_FUSION_PP_IS_SEQ_ALWAYS_0( + +#define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_1(...) \ + 1 + +#endif // BOOST_PP_VARIADICS + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/proxy_type.hpp b/external/boost/fusion/adapted/struct/detail/proxy_type.hpp new file mode 100644 index 000000000..b4cb55bb4 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/proxy_type.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2009-2010 Hartmut Kaiser + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP +#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP + +#include +#include + +#define BOOST_FUSION_PROXY_PREFIX() obj. + +#define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,NAMESPACE_SEQ,NAME) \ + \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ + \ + struct NAME \ + { \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + NAME(WRAPPED_TYPE& in_obj) \ + : obj(in_obj) \ + {} \ + \ + WRAPPED_TYPE& obj; \ + \ + private: \ + NAME& operator= (NAME const&); \ + }; \ + \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) + +#define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME) \ + \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE, (0)NAMESPACE_SEQ, NAME) + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/size_impl.hpp b/external/boost/fusion/adapted/struct/detail/size_impl.hpp new file mode 100644 index 000000000..baf411bd0 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/size_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + : struct_size::type> + {}; + }; + + template <> + struct size_impl + : size_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/value_at_impl.hpp b/external/boost/fusion/adapted/struct/detail/value_at_impl.hpp new file mode 100644 index 000000000..f82047532 --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/value_at_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + : access::struct_member::type, N::value> + {}; + }; + + template <> + struct value_at_impl + : value_at_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp b/external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp new file mode 100644 index 000000000..4528b854a --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_DATA_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + : value_of_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/adapted/struct/detail/value_of_impl.hpp b/external/boost/fusion/adapted/struct/detail/value_of_impl.hpp new file mode 100644 index 000000000..63dcbe52f --- /dev/null +++ b/external/boost/fusion/adapted/struct/detail/value_of_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + : access::struct_member< + typename remove_const::type + , It::index::value + > + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/algorithm.hpp b/external/boost/fusion/algorithm.hpp new file mode 100644 index 000000000..f698ff977 --- /dev/null +++ b/external/boost/fusion/algorithm.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ALGORITHM_10022005_0549) +#define FUSION_ALGORITHM_10022005_0549 + +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/algorithm/auxiliary.hpp b/external/boost/fusion/algorithm/auxiliary.hpp new file mode 100644 index 000000000..313c81f81 --- /dev/null +++ b/external/boost/fusion/algorithm/auxiliary.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ALGORITHM_AUXILIARY_02192011_0907) +#define FUSION_ALGORITHM_AUXILIARY_02192011_0907 + +#include +#include +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +#include +#endif + +#endif diff --git a/external/boost/fusion/algorithm/auxiliary/copy.hpp b/external/boost/fusion/algorithm/auxiliary/copy.hpp new file mode 100644 index 000000000..ec240bae6 --- /dev/null +++ b/external/boost/fusion/algorithm/auxiliary/copy.hpp @@ -0,0 +1,91 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_COPY_02162011_2308) +#define FUSION_COPY_02162011_2308 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4100) // unreferenced formal parameter +#endif + +namespace boost { namespace fusion +{ + namespace detail + { + template + struct sequence_copy + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void + call(I1 const&, I2 const&, mpl::true_) + { + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void + call(I1 const& src, I2 const& dest, mpl::false_) + { + *dest = *src; + call(fusion::next(src), fusion::next(dest)); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void + call(I1 const& src, I2 const& dest) + { + typename result_of::equal_to::type eq; + return call(src, dest, eq); + } + }; + } + + namespace result_of + { + template + struct copy + : enable_if, + traits::is_sequence + > > {}; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::copy::type + copy(Seq1 const& src, Seq2& dest) + { + BOOST_STATIC_ASSERT( + result_of::size::value <= result_of::size::value); + + detail::sequence_copy< + Seq1 const, Seq2>:: + call(fusion::begin(src), fusion::begin(dest)); + } +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/fusion/algorithm/auxiliary/move.hpp b/external/boost/fusion/algorithm/auxiliary/move.hpp new file mode 100644 index 000000000..68552829b --- /dev/null +++ b/external/boost/fusion/algorithm/auxiliary/move.hpp @@ -0,0 +1,93 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MOVE_01192013_2225) +#define FUSION_MOVE_01192013_2225 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include // for std::move + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4100) // unreferenced formal parameter +#endif + +namespace boost { namespace fusion +{ + namespace detail + { + template + struct sequence_move + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void + call(I1 const&, I2 const&, mpl::true_) + { + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void + call(I1 const& src, I2 const& dest, mpl::false_) + { + *dest = std::move(*src); + call(fusion::next(src), fusion::next(dest)); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void + call(I1 const& src, I2 const& dest) + { + typename result_of::equal_to::type eq; + return call(src, dest, eq); + } + }; + } + + namespace result_of + { + template + struct move + : enable_if, + traits::is_sequence + > > {}; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::move::type + move(Seq1&& src, Seq2& dest) + { + BOOST_STATIC_ASSERT( + result_of::size::value <= result_of::size::value); + + detail::sequence_move< + Seq1, Seq2>:: + call(fusion::begin(src), fusion::begin(dest)); + } +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/fusion/algorithm/iteration.hpp b/external/boost/fusion/algorithm/iteration.hpp new file mode 100644 index 000000000..0b58a28ff --- /dev/null +++ b/external/boost/fusion/algorithm/iteration.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ALGORITHM_ITERATION_10022005_0549) +#define FUSION_ALGORITHM_ITERATION_10022005_0549 + +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/algorithm/iteration/accumulate.hpp b/external/boost/fusion/algorithm/iteration/accumulate.hpp new file mode 100644 index 000000000..7d524a15c --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/accumulate.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ACCUMULATE_09172005_1032) +#define FUSION_ACCUMULATE_09172005_1032 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template + struct accumulate + : result_of::fold + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::accumulate::type + accumulate(Sequence& seq, State const& state, F f) + { + return fusion::fold(seq, state, f); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::accumulate::type + accumulate(Sequence const& seq, State const& state, F f) + { + return fusion::fold(seq, state, f); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp b/external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp new file mode 100644 index 000000000..f00e67f96 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED) +#define BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED + +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct accumulate; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::accumulate::type + accumulate(Sequence& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::accumulate::type + accumulate(Sequence const& seq, State const& state, F f); +}} + +#endif + diff --git a/external/boost/fusion/algorithm/iteration/detail/fold.hpp b/external/boost/fusion/algorithm/iteration/detail/fold.hpp new file mode 100644 index 000000000..4c82b8002 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/fold.hpp @@ -0,0 +1,294 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#include + +#define FUSION_HASH # + +#ifdef BOOST_FUSION_REVERSE_FOLD +# ifdef BOOST_FUSION_ITER_FOLD +# define BOOST_FUSION_FOLD_NAME reverse_iter_fold +# else +# define BOOST_FUSION_FOLD_NAME reverse_fold +# endif + +# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION end +# define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION prior +# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) \ + typename fusion::result_of::prior::type +# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) fusion::prior(IT) +#else +# ifdef BOOST_FUSION_ITER_FOLD +# define BOOST_FUSION_FOLD_NAME iter_fold +# else +# define BOOST_FUSION_FOLD_NAME fold +# endif + +# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION begin +# define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION next +# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) IT +# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) IT +#endif +#ifdef BOOST_FUSION_ITER_FOLD +# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) IT& +# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) IT +#else +# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) \ + typename fusion::result_of::deref::type +# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) fusion::deref(IT) +#endif + +#if (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +FUSION_HASH if BOOST_WORKAROUND BOOST_PREVENT_MACRO_SUBSTITUTION (BOOST_MSVC, < 1500) +FUSION_HASH define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void +FUSION_HASH else +FUSION_HASH define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type +FUSION_HASH endif +#else +# if BOOST_WORKAROUND(BOOST_MSVC, < 1500) +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void +# else +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type +# endif +#endif + +namespace boost { namespace fusion +{ + namespace detail + { + template + struct BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME) + {}; + + template + struct BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)<0,It,State,F + , typename boost::enable_if_has_type::type +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if BOOST_WORKAROUND BOOST_PREVENT_MACRO_SUBSTITUTION (BOOST_MSVC, < 1500) +#endif +#if BOOST_WORKAROUND(BOOST_MSVC, < 1500) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + , true +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + > + { + typedef typename State::type type; + }; + + template + struct BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)= 1500) +#endif +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1500) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + // Following SFINAE enables to avoid MSVC 9's partial specialization + // ambiguous bug but MSVC 8 don't compile, and moreover MSVC 8 style + // workaround won't work with MSVC 9. + typename boost::disable_if_c::type::type +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH else + BOOST_FUSION_FOLD_IMPL_ENABLER(State) +#endif +#else + BOOST_FUSION_FOLD_IMPL_ENABLER(State) +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + >::type +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if BOOST_WORKAROUND BOOST_PREVENT_MACRO_SUBSTITUTION (BOOST_MSVC, < 1500) +#endif +#if BOOST_WORKAROUND(BOOST_MSVC, < 1500) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + , false +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + > + : BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< + SeqSize-1 + , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type + , boost::result_of< + F( + typename add_reference::type, + BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It const) + ) + > + , F + > + {}; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< + 0 + , It + , State + , F + >::type + BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)(mpl::int_<0>, It const&, typename State::type state, F&) + { + return state; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if_c< + SeqSize != 0 + , BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< + SeqSize + , It + , State + , F + > + >::type + BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)(mpl::int_, It const& it, typename State::type state, F& f) + { + return BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)< + typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type + , boost::result_of< + F( + typename add_reference::type, + BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It const) + ) + > + , F + >( + mpl::int_() + , fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it) + , f(state, BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it)) + , f + ); + } + + template::value + , bool = traits::is_segmented::value> + struct BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME) + {}; + + template + struct BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME) + : BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< + result_of::size::value + , BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM( + typename result_of::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION::type + ) + , add_reference + , F + > + {}; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME)::type + BOOST_FUSION_FOLD_NAME(Seq& seq, State& state, F& f) + { + return BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)< + BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM( + typename result_of::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION::type + ) + , add_reference + , F + >( + typename result_of::size::type() + , BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM( + fusion::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION(seq) + ) + , state + , f + ); + } + } + + namespace result_of + { + template + struct BOOST_FUSION_FOLD_NAME + : detail::BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME) + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::BOOST_FUSION_FOLD_NAME< + Seq + , State const + , F + >::type + BOOST_FUSION_FOLD_NAME(Seq& seq, State const& state, F f) + { + return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::BOOST_FUSION_FOLD_NAME< + Seq const + , State const + , F + >::type + BOOST_FUSION_FOLD_NAME(Seq const& seq, State const& state, F f) + { + return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::BOOST_FUSION_FOLD_NAME< + Seq + , State + , F + >::type + BOOST_FUSION_FOLD_NAME(Seq& seq, State& state, F f) + { + return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::BOOST_FUSION_FOLD_NAME< + Seq const + , State + , F + >::type + BOOST_FUSION_FOLD_NAME(Seq const& seq, State& state, F f) + { + return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); + } +}} + +#undef BOOST_FUSION_FOLD_NAME +#undef BOOST_FUSION_FOLD_IMPL_ENABLER +#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION +#undef BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION +#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM +#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM +#undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM +#undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM +#undef FUSION_HASH diff --git a/external/boost/fusion/algorithm/iteration/detail/for_each.hpp b/external/boost/fusion/algorithm/iteration/detail/for_each.hpp new file mode 100644 index 000000000..0bef5cec4 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/for_each.hpp @@ -0,0 +1,149 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FOR_EACH_05052005_1028) +#define FUSION_FOR_EACH_05052005_1028 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { +namespace detail +{ + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void + for_each_linear(First const&, Last const&, F const&, mpl::true_) + { + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void + for_each_linear(First const& first, Last const& last, F const& f, mpl::false_) + { + f(*first); + detail::for_each_linear(fusion::next(first), last, f, + result_of::equal_to::type, Last>()); + } + + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void + for_each_dispatch(Sequence& seq, F const& f, Tag) + { + detail::for_each_linear( + fusion::begin(seq) + , fusion::end(seq) + , f + , result_of::equal_to< + typename result_of::begin::type + , typename result_of::end::type>()); + } + + template + struct for_each_unrolled + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void call(I0 const& i0, F const& f) + { + f(*i0); + typedef typename result_of::next::type I1; + I1 i1(fusion::next(i0)); + f(*i1); + typedef typename result_of::next::type I2; + I2 i2(fusion::next(i1)); + f(*i2); + typedef typename result_of::next::type I3; + I3 i3(fusion::next(i2)); + f(*i3); + for_each_unrolled::call(fusion::next(i3), f); + } + }; + + template<> + struct for_each_unrolled<3> + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void call(I0 const& i0, F const& f) + { + f(*i0); + typedef typename result_of::next::type I1; + I1 i1(fusion::next(i0)); + f(*i1); + typedef typename result_of::next::type I2; + I2 i2(fusion::next(i1)); + f(*i2); + } + }; + + template<> + struct for_each_unrolled<2> + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void call(I0 const& i0, F const& f) + { + f(*i0); + typedef typename result_of::next::type I1; + I1 i1(fusion::next(i0)); + f(*i1); + } + }; + + template<> + struct for_each_unrolled<1> + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void call(I0 const& i0, F const& f) + { + f(*i0); + } + }; + + template<> + struct for_each_unrolled<0> + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static void call(It const&, F const&) + { + } + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void + for_each_dispatch(Sequence& seq, F const& f, random_access_traversal_tag) + { + typedef typename result_of::begin::type begin; + typedef typename result_of::end::type end; + for_each_unrolled::type::value>::call(fusion::begin(seq), f); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void + for_each(Sequence& seq, F const& f, mpl::false_) // unsegmented implementation + { + detail::for_each_dispatch(seq, f, typename traits::category_of::type()); + } +}}} + + +#endif + diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp new file mode 100644 index 000000000..c23ba16c2 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp @@ -0,0 +1,189 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void +# else +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type +# endif +namespace boost { namespace fusion +{ + namespace detail + { + template + struct result_of_it_fold + {}; + template + struct result_of_it_fold<0,It,State,F + , typename boost::enable_if_has_type::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , true +# endif + > + { + typedef typename State::type type; + }; + template + struct result_of_it_fold= 1500) + + + + typename boost::disable_if_c::type::type +# else + BOOST_FUSION_FOLD_IMPL_ENABLER(State) +# endif + >::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , false +# endif + > + : result_of_it_fold< + SeqSize-1 + , typename result_of::next::type + , boost::result_of< + F( + typename add_reference::type, + typename fusion::result_of::deref::type + ) + > + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_it_fold< + 0 + , It + , State + , F + >::type + it_fold(mpl::int_<0>, It const&, typename State::type state, F&) + { + return state; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if_c< + SeqSize != 0 + , result_of_it_fold< + SeqSize + , It + , State + , F + > + >::type + it_fold(mpl::int_, It const& it, typename State::type state, F& f) + { + return it_fold< + typename result_of::next::type + , boost::result_of< + F( + typename add_reference::type, + typename fusion::result_of::deref::type + ) + > + , F + >( + mpl::int_() + , fusion::next(it) + , f(state, fusion::deref(it)) + , f + ); + } + template::value + , bool = traits::is_segmented::value> + struct result_of_fold + {}; + template + struct result_of_fold + : result_of_it_fold< + result_of::size::value + , typename result_of::begin::type + , add_reference + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_fold::type + fold(Seq& seq, State& state, F& f) + { + return it_fold< + typename result_of::begin::type + , add_reference + , F + >( + typename result_of::size::type() + , fusion::begin(seq) + , state + , f + ); + } + } + namespace result_of + { + template + struct fold + : detail::result_of_fold + {}; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq + , State const + , F + >::type + fold(Seq& seq, State const& state, F f) + { + return detail::fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq const + , State const + , F + >::type + fold(Seq const& seq, State const& state, F f) + { + return detail::fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq + , State + , F + >::type + fold(Seq& seq, State& state, F f) + { + return detail::fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq const + , State + , F + >::type + fold(Seq const& seq, State& state, F f) + { + return detail::fold(seq, state, f); + } +}} diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp new file mode 100644 index 000000000..d49a86856 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp @@ -0,0 +1,188 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void +# else +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type +# endif +namespace boost { namespace fusion +{ + namespace detail + { + template + struct result_of_it_iter_fold + {}; + template + struct result_of_it_iter_fold<0,It,State,F + , typename boost::enable_if_has_type::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , true +# endif + > + { + typedef typename State::type type; + }; + template + struct result_of_it_iter_fold= 1500) + + + + typename boost::disable_if_c::type::type +# else + BOOST_FUSION_FOLD_IMPL_ENABLER(State) +# endif + >::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , false +# endif + > + : result_of_it_iter_fold< + SeqSize-1 + , typename result_of::next::type + , boost::result_of< + F( + typename add_reference::type, + It const& + ) + > + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_it_iter_fold< + 0 + , It + , State + , F + >::type + it_iter_fold(mpl::int_<0>, It const&, typename State::type state, F&) + { + return state; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if_c< + SeqSize != 0 + , result_of_it_iter_fold< + SeqSize + , It + , State + , F + > + >::type + it_iter_fold(mpl::int_, It const& it, typename State::type state, F& f) + { + return it_iter_fold< + typename result_of::next::type + , boost::result_of< + F( + typename add_reference::type, + It const& + ) + > + , F + >( + mpl::int_() + , fusion::next(it) + , f(state, it) + , f + ); + } + template::value + , bool = traits::is_segmented::value> + struct result_of_iter_fold + {}; + template + struct result_of_iter_fold + : result_of_it_iter_fold< + result_of::size::value + , typename result_of::begin::type + , add_reference + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_iter_fold::type + iter_fold(Seq& seq, State& state, F& f) + { + return it_iter_fold< + typename result_of::begin::type + , add_reference + , F + >( + typename result_of::size::type() + , fusion::begin(seq) + , state + , f + ); + } + } + namespace result_of + { + template + struct iter_fold + : detail::result_of_iter_fold + {}; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq + , State const + , F + >::type + iter_fold(Seq& seq, State const& state, F f) + { + return detail::iter_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq const + , State const + , F + >::type + iter_fold(Seq const& seq, State const& state, F f) + { + return detail::iter_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq + , State + , F + >::type + iter_fold(Seq& seq, State& state, F f) + { + return detail::iter_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq const + , State + , F + >::type + iter_fold(Seq const& seq, State& state, F f) + { + return detail::iter_fold(seq, state, f); + } +}} diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp new file mode 100644 index 000000000..4b3b3b1e0 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp @@ -0,0 +1,188 @@ +/*============================================================================= + Copyright (c) 2009-2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void +# else +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type +# endif +namespace boost { namespace fusion +{ + namespace detail + { + template + struct result_of_it_reverse_fold + {}; + template + struct result_of_it_reverse_fold<0,It,State,F + , typename boost::enable_if_has_type::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , true +# endif + > + { + typedef typename State::type type; + }; + template + struct result_of_it_reverse_fold= 1500) + + + + typename boost::disable_if_c::type::type +# else + BOOST_FUSION_FOLD_IMPL_ENABLER(State) +# endif + >::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , false +# endif + > + : result_of_it_reverse_fold< + SeqSize-1 + , typename result_of::prior::type + , boost::result_of< + F( + typename add_reference::type, + typename fusion::result_of::deref::type + ) + > + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_it_reverse_fold< + 0 + , It + , State + , F + >::type + it_reverse_fold(mpl::int_<0>, It const&, typename State::type state, F&) + { + return state; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if_c< + SeqSize != 0 + , result_of_it_reverse_fold< + SeqSize + , It + , State + , F + > + >::type + it_reverse_fold(mpl::int_, It const& it, typename State::type state, F& f) + { + return it_reverse_fold< + typename result_of::prior::type + , boost::result_of< + F( + typename add_reference::type, + typename fusion::result_of::deref::type + ) + > + , F + >( + mpl::int_() + , fusion::prior(it) + , f(state, fusion::deref(it)) + , f + ); + } + template::value + , bool = traits::is_segmented::value> + struct result_of_reverse_fold + {}; + template + struct result_of_reverse_fold + : result_of_it_reverse_fold< + result_of::size::value + , typename fusion::result_of::prior< typename result_of::end::type >::type + , add_reference + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_reverse_fold::type + reverse_fold(Seq& seq, State& state, F& f) + { + return it_reverse_fold< + typename fusion::result_of::prior< typename result_of::end::type >::type + , add_reference + , F + >( + typename result_of::size::type() + , fusion::prior( fusion::end(seq) ) + , state + , f + ); + } + } + namespace result_of + { + template + struct reverse_fold + : detail::result_of_reverse_fold + {}; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq + , State const + , F + >::type + reverse_fold(Seq& seq, State const& state, F f) + { + return detail::reverse_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq const + , State const + , F + >::type + reverse_fold(Seq const& seq, State const& state, F f) + { + return detail::reverse_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq + , State + , F + >::type + reverse_fold(Seq& seq, State& state, F f) + { + return detail::reverse_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq const + , State + , F + >::type + reverse_fold(Seq const& seq, State& state, F f) + { + return detail::reverse_fold(seq, state, f); + } +}} diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp new file mode 100644 index 000000000..10bd9c7d3 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp @@ -0,0 +1,188 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void +# else +# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type +# endif +namespace boost { namespace fusion +{ + namespace detail + { + template + struct result_of_it_reverse_iter_fold + {}; + template + struct result_of_it_reverse_iter_fold<0,It,State,F + , typename boost::enable_if_has_type::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , true +# endif + > + { + typedef typename State::type type; + }; + template + struct result_of_it_reverse_iter_fold= 1500) + + + + typename boost::disable_if_c::type::type +# else + BOOST_FUSION_FOLD_IMPL_ENABLER(State) +# endif + >::type +# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) + , false +# endif + > + : result_of_it_reverse_iter_fold< + SeqSize-1 + , typename result_of::prior::type + , boost::result_of< + F( + typename add_reference::type, + It const& + ) + > + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_it_reverse_iter_fold< + 0 + , It + , State + , F + >::type + it_reverse_iter_fold(mpl::int_<0>, It const&, typename State::type state, F&) + { + return state; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if_c< + SeqSize != 0 + , result_of_it_reverse_iter_fold< + SeqSize + , It + , State + , F + > + >::type + it_reverse_iter_fold(mpl::int_, It const& it, typename State::type state, F& f) + { + return it_reverse_iter_fold< + typename result_of::prior::type + , boost::result_of< + F( + typename add_reference::type, + It const& + ) + > + , F + >( + mpl::int_() + , fusion::prior(it) + , f(state, it) + , f + ); + } + template::value + , bool = traits::is_segmented::value> + struct result_of_reverse_iter_fold + {}; + template + struct result_of_reverse_iter_fold + : result_of_it_reverse_iter_fold< + result_of::size::value + , typename fusion::result_of::prior< typename result_of::end::type >::type + , add_reference + , F + > + {}; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of_reverse_iter_fold::type + reverse_iter_fold(Seq& seq, State& state, F& f) + { + return it_reverse_iter_fold< + typename fusion::result_of::prior< typename result_of::end::type >::type + , add_reference + , F + >( + typename result_of::size::type() + , fusion::prior( fusion::end(seq) ) + , state + , f + ); + } + } + namespace result_of + { + template + struct reverse_iter_fold + : detail::result_of_reverse_iter_fold + {}; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq + , State const + , F + >::type + reverse_iter_fold(Seq& seq, State const& state, F f) + { + return detail::reverse_iter_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq const + , State const + , F + >::type + reverse_iter_fold(Seq const& seq, State const& state, F f) + { + return detail::reverse_iter_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq + , State + , F + >::type + reverse_iter_fold(Seq& seq, State& state, F f) + { + return detail::reverse_iter_fold(seq, state, f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq const + , State + , F + >::type + reverse_iter_fold(Seq const& seq, State& state, F f) + { + return detail::reverse_iter_fold(seq, state, f); + } +}} diff --git a/external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp new file mode 100644 index 000000000..350bff75b --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp @@ -0,0 +1,64 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_FOLD_S_HPP_INCLUDED) +#define BOOST_FUSION_FOLD_S_HPP_INCLUDED + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct segmented_fold_fun + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit segmented_fold_fun(Fun const& f) + : fun(f) + {} + + Fun const& fun; + + template + struct apply + { + typedef typename result_of::fold::type type; + typedef mpl::true_ continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State const& state, Context const&, segmented_fold_fun const& fun) + { + return fusion::fold(seq, state, fun.fun); + } + }; + }; + + // The default implementation of this lives in detail/fold.hpp + template + struct result_of_fold; + + template + struct result_of_fold + { + typedef + typename result_of::segmented_fold_until< + Sequence, + State, + segmented_fold_fun + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State& state, Fun& fun) + { + return fusion::segmented_fold_until(seq, state, segmented_fold_fun(fun)); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp b/external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp new file mode 100644 index 000000000..a32d9dad0 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct segmented_for_each_fun + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit segmented_for_each_fun(Fun const& f) + : fun(f) + {} + + Fun const& fun; + + template + struct apply + { + typedef void_ type; + typedef mpl::true_ continue_type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State const&, Context const&, segmented_for_each_fun const& fun) + { + fusion::for_each(seq, fun.fun); + return void_(); + } + }; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void + for_each(Sequence& seq, F const& f, mpl::true_) // segmented implementation + { + fusion::segmented_fold_until(seq, void_(), segmented_for_each_fun(f)); + } +}}} + +#endif diff --git a/external/boost/fusion/algorithm/iteration/fold.hpp b/external/boost/fusion/algorithm/iteration/fold.hpp new file mode 100644 index 000000000..039e01c0c --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/fold.hpp @@ -0,0 +1,59 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/fold.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + Copyright (c) 2009-2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +#include + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#include + +#endif diff --git a/external/boost/fusion/algorithm/iteration/fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/fold_fwd.hpp new file mode 100644 index 000000000..0dbac7618 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/fold_fwd.hpp @@ -0,0 +1,56 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_FOLD_FWD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_FWD_HPP + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct fold; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq + , State const + , F + >::type + fold(Seq& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq const + , State const + , F + >::type + fold(Seq const& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq + , State + , F + >::type + fold(Seq& seq, State& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< + Seq const + , State + , F + >::type + fold(Seq const& seq, State& state, F f); +}} + +#endif diff --git a/external/boost/fusion/algorithm/iteration/for_each.hpp b/external/boost/fusion/algorithm/iteration/for_each.hpp new file mode 100644 index 000000000..a523c85eb --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/for_each.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_FOR_EACH_20070527_0943) +#define BOOST_FUSION_FOR_EACH_20070527_0943 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct for_each + { + typedef void type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , void + >::type + for_each(Sequence& seq, F const& f) + { + detail::for_each(seq, f, typename traits::is_segmented::type()); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , void + >::type + for_each(Sequence const& seq, F const& f) + { + detail::for_each(seq, f, typename traits::is_segmented::type()); + } +}} + +#endif diff --git a/external/boost/fusion/algorithm/iteration/for_each_fwd.hpp b/external/boost/fusion/algorithm/iteration/for_each_fwd.hpp new file mode 100644 index 000000000..13720eada --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/for_each_fwd.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED) +#define BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct for_each; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , void + >::type + for_each(Sequence& seq, F const& f); + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , void + >::type + for_each(Sequence const& seq, F const& f); +}} + +#endif diff --git a/external/boost/fusion/algorithm/iteration/iter_fold.hpp b/external/boost/fusion/algorithm/iteration/iter_fold.hpp new file mode 100644 index 000000000..cff5b4edf --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/iter_fold.hpp @@ -0,0 +1,60 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ITER_FOLD + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/iter_fold.hpp") +#endif + +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +#include + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef BOOST_FUSION_ITER_FOLD + +#endif diff --git a/external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp new file mode 100644 index 000000000..1d8543ca5 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp @@ -0,0 +1,56 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_FWD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_FWD_HPP + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct iter_fold; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq + , State const + , F + >::type + iter_fold(Seq& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq const + , State const + , F + >::type + iter_fold(Seq const& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq + , State + , F + >::type + iter_fold(Seq& seq, State& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< + Seq const + , State + , F + >::type + iter_fold(Seq const& seq, State& state, F f); +}} + +#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_fold.hpp b/external/boost/fusion/algorithm/iteration/reverse_fold.hpp new file mode 100644 index 000000000..252ad3083 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/reverse_fold.hpp @@ -0,0 +1,60 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_REVERSE_FOLD + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_fold.hpp") +#endif + +/*============================================================================= + Copyright (c) 2009-2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +#include + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef BOOST_FUSION_REVERSE_FOLD + +#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp new file mode 100644 index 000000000..c5e24b34a --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp @@ -0,0 +1,56 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct reverse_fold; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq + , State const + , F + >::type + reverse_fold(Seq& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq const + , State const + , F + >::type + reverse_fold(Seq const& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq + , State + , F + >::type + reverse_fold(Seq& seq, State& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< + Seq const + , State + , F + >::type + reverse_fold(Seq const& seq, State& state, F f); +}} + +#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp b/external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp new file mode 100644 index 000000000..3276bbde5 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_REVERSE_FOLD +#define BOOST_FUSION_ITER_FOLD + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_iter_fold.hpp") +#endif + +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +#include + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef BOOST_FUSION_REVERSE_FOLD +#undef BOOST_FUSION_ITER_FOLD + +#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp new file mode 100644 index 000000000..76f018639 --- /dev/null +++ b/external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp @@ -0,0 +1,56 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_FWD_HPP +#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_FWD_HPP + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct reverse_iter_fold; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq + , State const + , F + >::type + reverse_iter_fold(Seq& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq const + , State const + , F + >::type + reverse_iter_fold(Seq const& seq, State const& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq + , State + , F + >::type + reverse_iter_fold(Seq& seq, State& state, F f); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< + Seq const + , State + , F + >::type + reverse_iter_fold(Seq const& seq, State& state, F f); +}} + +#endif diff --git a/external/boost/fusion/algorithm/query.hpp b/external/boost/fusion/algorithm/query.hpp new file mode 100644 index 000000000..1e999b433 --- /dev/null +++ b/external/boost/fusion/algorithm/query.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ALGORITHM_QUERY_10022005_0549) +#define FUSION_ALGORITHM_QUERY_10022005_0549 + +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/algorithm/query/all.hpp b/external/boost/fusion/algorithm/query/all.hpp new file mode 100644 index 000000000..5122af582 --- /dev/null +++ b/external/boost/fusion/algorithm/query/all.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ALL_05052005_1238) +#define BOOST_FUSION_ALL_05052005_1238 + +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct all + { + typedef bool type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + all(Sequence const& seq, F f) + { + return detail::all(seq, f, typename traits::category_of::type()); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/query/any.hpp b/external/boost/fusion/algorithm/query/any.hpp new file mode 100644 index 000000000..e1aad08de --- /dev/null +++ b/external/boost/fusion/algorithm/query/any.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ANY_05052005_1230) +#define FUSION_ANY_05052005_1230 + +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct any + { + typedef bool type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + any(Sequence const& seq, F f) + { + return detail::any(seq, f, typename traits::category_of::type()); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/query/count.hpp b/external/boost/fusion/algorithm/query/count.hpp new file mode 100644 index 000000000..61fc05698 --- /dev/null +++ b/external/boost/fusion/algorithm/query/count.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_COUNT_09162005_0150) +#define BOOST_FUSION_COUNT_09162005_0150 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct count + { + typedef int type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , int + >::type + count(Sequence const& seq, T const& x) + { + detail::count_compare f(x); + return fusion::count_if(seq, f); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/query/count_if.hpp b/external/boost/fusion/algorithm/query/count_if.hpp new file mode 100644 index 000000000..8ef86b016 --- /dev/null +++ b/external/boost/fusion/algorithm/query/count_if.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_COUNT_IF_09162005_0137) +#define BOOST_FUSION_COUNT_IF_09162005_0137 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct count_if + { + typedef int type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , int + >::type + count_if(Sequence const& seq, F f) + { + return detail::count_if( + seq, f, typename traits::category_of::type()); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/query/detail/all.hpp b/external/boost/fusion/algorithm/query/detail/all.hpp new file mode 100644 index 000000000..e7e1535d4 --- /dev/null +++ b/external/boost/fusion/algorithm/query/detail/all.hpp @@ -0,0 +1,137 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ALL_05052005_1237) +#define FUSION_ALL_05052005_1237 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + linear_all(First const&, Last const&, F const&, mpl::true_) + { + return true; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + linear_all(First const& first, Last const& last, F& f, mpl::false_) + { + typename result_of::deref::type x = *first; + return f(x) && + detail::linear_all( + fusion::next(first) + , last + , f + , result_of::equal_to::type, Last>()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + all(Sequence const& seq, F f, Tag) + { + return detail::linear_all( + fusion::begin(seq) + , fusion::end(seq) + , f + , result_of::equal_to< + typename result_of::begin::type + , typename result_of::end::type>()); + } + + template + struct unrolled_all + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return + f(*it) && + f(*fusion::advance_c<1>(it))&& + f(*fusion::advance_c<2>(it)) && + f(*fusion::advance_c<3>(it)) && + detail::unrolled_all::call(fusion::advance_c<4>(it), f); + } + }; + + template<> + struct unrolled_all<3> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return + f(*it) && + f(*fusion::advance_c<1>(it)) && + f(*fusion::advance_c<2>(it)); + } + }; + + template<> + struct unrolled_all<2> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return + f(*it) && + f(*fusion::advance_c<1>(it)); + } + }; + + template<> + struct unrolled_all<1> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return f(*it); + } + }; + + template<> + struct unrolled_all<0> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& /*it*/, F /*f*/) + { + return true; + } + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + all(Sequence const& seq, F f, random_access_traversal_tag) + { + typedef typename result_of::begin::type begin; + typedef typename result_of::end::type end; + return detail::unrolled_all::type::value>::call( + fusion::begin(seq), f); + } +}}} + +#endif + diff --git a/external/boost/fusion/algorithm/query/detail/any.hpp b/external/boost/fusion/algorithm/query/detail/any.hpp new file mode 100644 index 000000000..43628eac8 --- /dev/null +++ b/external/boost/fusion/algorithm/query/detail/any.hpp @@ -0,0 +1,140 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ANY_05052005_1229) +#define FUSION_ANY_05052005_1229 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + struct random_access_traversal_tag; +namespace detail +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + linear_any(First const&, Last const&, F const&, mpl::true_) + { + return false; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + linear_any(First const& first, Last const& last, F& f, mpl::false_) + { + typename result_of::deref::type x = *first; + return f(x) || + detail::linear_any( + fusion::next(first) + , last + , f + , result_of::equal_to::type, Last>()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + any(Sequence const& seq, F f, Tag) + { + return detail::linear_any( + fusion::begin(seq) + , fusion::end(seq) + , f + , result_of::equal_to< + typename result_of::begin::type + , typename result_of::end::type>()); + } + + template + struct unrolled_any + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return + f(*it) || + f(*fusion::advance_c<1>(it))|| + f(*fusion::advance_c<2>(it)) || + f(*fusion::advance_c<3>(it)) || + detail::unrolled_any::call(fusion::advance_c<4>(it), f); + } + }; + + template<> + struct unrolled_any<3> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return + f(*it) || + f(*fusion::advance_c<1>(it)) || + f(*fusion::advance_c<2>(it)); + } + }; + + template<> + struct unrolled_any<2> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return + f(*it) || + f(*fusion::advance_c<1>(it)); + } + }; + + template<> + struct unrolled_any<1> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const& it, F f) + { + return f(*it); + } + }; + + template<> + struct unrolled_any<0> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool call(It const&, F) + { + return false; + } + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + any(Sequence const& seq, F f, random_access_traversal_tag) + { + typedef typename result_of::begin::type begin; + typedef typename result_of::end::type end; + return detail::unrolled_any::type::value>::call( + fusion::begin(seq), f); + } +}}} + +#endif + diff --git a/external/boost/fusion/algorithm/query/detail/count.hpp b/external/boost/fusion/algorithm/query/detail/count.hpp new file mode 100644 index 000000000..86714ff74 --- /dev/null +++ b/external/boost/fusion/algorithm/query/detail/count.hpp @@ -0,0 +1,83 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_COUNT_09162005_0158) +#define FUSION_COUNT_09162005_0158 + +#include +#include +#include +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion { namespace detail +{ + template + struct compare_convertible; + + // T1 is convertible to T2 or vice versa + template <> + struct compare_convertible + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(T1 const& x, T2 const& y) + { + return x == y; + } + }; + + // T1 is NOT convertible to T2 NOR vice versa + template <> + struct compare_convertible + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(T1 const&, T2 const&) + { + return false; + } + }; + + template + struct count_compare + { + typedef typename detail::call_param::type param; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + count_compare(param in_x) + : x(in_x) {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + bool + operator()(T2 const& y) const + { + return + compare_convertible< + mpl::or_< + is_convertible + , is_convertible + >::value + >::call(x, y); + } + + param x; + }; +}}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif + diff --git a/external/boost/fusion/algorithm/query/detail/count_if.hpp b/external/boost/fusion/algorithm/query/detail/count_if.hpp new file mode 100644 index 000000000..17c67a0ba --- /dev/null +++ b/external/boost/fusion/algorithm/query/detail/count_if.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_COUNT_IF_09162005_0141) +#define BOOST_FUSION_COUNT_IF_09162005_0141 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + struct random_access_traversal_tag; +namespace detail +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline int + linear_count_if(First const&, Last const&, F const&, mpl::true_) + { + return 0; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline int + linear_count_if(First const& first, Last const& last, F& f, mpl::false_) + { + int n = + detail::linear_count_if( + fusion::next(first) + , last + , f + , result_of::equal_to::type, Last>()); + if (f(*first)) + ++n; + return n; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline int + count_if(Sequence const& seq, F f, Tag) + { + return detail::linear_count_if( + fusion::begin(seq) + , fusion::end(seq) + , f + , result_of::equal_to< + typename result_of::begin::type + , typename result_of::end::type>()); + } + + template + struct unrolled_count_if + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static int call(I0 const& i0, F f) + { + int ct = unrolled_count_if:: + call(fusion::advance_c<4>(i0), f); + if(f(*i0)) + ++ct; + + typedef typename result_of::next::type I1; + I1 i1(fusion::next(i0)); + if(f(*i1)) + ++ct; + + typedef typename result_of::next::type I2; + I2 i2(fusion::next(i1)); + if(f(*i2)) + ++ct; + + typedef typename result_of::next::type I3; + I3 i3(fusion::next(i2)); + if(f(*i3)) + ++ct; + + return ct; + } + }; + + template<> + struct unrolled_count_if<3> + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static int call(I0 const& i0, F f) + { + int ct = 0; + if(f(*i0)) + ++ct; + + typedef typename result_of::next::type I1; + I1 i1(fusion::next(i0)); + if(f(*i1)) + ++ct; + + typedef typename result_of::next::type I2; + I2 i2(fusion::next(i1)); + if(f(*i2)) + ++ct; + + return ct; + } + }; + + template<> + struct unrolled_count_if<2> + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static int call(I0 const& i0, F f) + { + int ct = 0; + + if(f(*i0)) + ++ct; + + typedef typename result_of::next::type I1; + I1 i1(fusion::next(i0)); + if(f(*i1)) + ++ct; + + return ct; + } + }; + + template<> + struct unrolled_count_if<1> + { + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static int call(I0 const& i0, F f) + { + int ct = 0; + if(f(*i0)) + ++ct; + return ct; + } + }; + + + template<> + struct unrolled_count_if<0> + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static int call(I0 const&, F) + { + return 0; + } + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline int + count_if(Sequence const& seq, F f, random_access_traversal_tag) + { + typedef typename result_of::begin::type begin; + typedef typename result_of::end::type end; + return detail::unrolled_count_if::type::value>:: + call(fusion::begin(seq), f); + } +}}} + +#endif + diff --git a/external/boost/fusion/algorithm/query/detail/find_if.hpp b/external/boost/fusion/algorithm/query/detail/find_if.hpp new file mode 100644 index 000000000..b200794a4 --- /dev/null +++ b/external/boost/fusion/algorithm/query/detail/find_if.hpp @@ -0,0 +1,260 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FIND_IF_05052005_1107) +#define FUSION_FIND_IF_05052005_1107 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + struct random_access_traversal_tag; +namespace detail +{ + template + struct apply_filter + { + typedef typename mpl::apply1< + Pred, Iterator>::type type; + BOOST_STATIC_CONSTANT(int, value = type::value); + }; + + template + struct main_find_if; + + template + struct recursive_find_if + { + typedef typename + main_find_if< + typename result_of::next::type, Last, Pred + >::type + type; + }; + + template + struct main_find_if + { + typedef mpl::or_< + result_of::equal_to + , apply_filter > + filter; + + typedef typename + mpl::eval_if< + filter + , mpl::identity + , recursive_find_if + >::type + type; + }; + + template< + typename First, typename Last, + typename Pred, bool> + struct choose_find_if; + + template + struct choose_find_if + : main_find_if + {}; + + template + struct unroll_again; + + template + struct apply_offset_filter + { + typedef typename result_of::advance_c::type Shifted; + typedef typename + mpl::apply1< + Pred + , Shifted + >::type + type; + BOOST_STATIC_CONSTANT(int, value = type::value); + }; + + template + struct unrolled_find_if + { + typedef typename mpl::eval_if< + apply_filter, + mpl::identity, + mpl::eval_if< + apply_offset_filter, + result_of::advance_c, + mpl::eval_if< + apply_offset_filter, + result_of::advance_c, + mpl::eval_if< + apply_offset_filter, + result_of::advance_c, + unroll_again< + Iter, + Pred, + n, + 4> > > > >::type type; + }; + + template + struct unrolled_find_if + { + typedef typename mpl::eval_if< + apply_filter, + mpl::identity, + mpl::eval_if< + apply_offset_filter, + result_of::advance_c, + mpl::eval_if< + apply_offset_filter, + result_of::advance_c, + result_of::advance_c > > >::type type; + }; + + template + struct unrolled_find_if + { + typedef typename mpl::eval_if< + apply_filter, + mpl::identity, + mpl::eval_if< + apply_offset_filter, + result_of::advance_c, + result_of::advance_c > >::type type; + }; + + template + struct unrolled_find_if + { + typedef typename mpl::eval_if< + apply_filter, + mpl::identity, + result_of::advance_c >::type type; + }; + + template + struct unroll_again + { + typedef typename unrolled_find_if< + typename result_of::advance_c::type, + Pred, + n-unrolling>::type type; + }; + + template + struct unrolled_find_if + { + typedef Iter type; + }; + + template + struct choose_find_if + { + typedef typename result_of::distance::type N; + typedef typename unrolled_find_if::type type; + }; + + template + struct static_find_if + { + typedef typename + choose_find_if< + First + , Last + , typename mpl::lambda::type + , is_base_of::type>::value + >::type + type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + recursive_call(Iterator const& iter, mpl::true_) + { + return iter; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + recursive_call(Iterator const& iter, mpl::false_) + { + return recursive_call(fusion::next(iter)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + recursive_call(Iterator const& iter) + { + typedef result_of::equal_to found; + return recursive_call(iter, found()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + choose_call(Iterator const& iter, Tag) + { + return recursive_call(iter); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + choose_call(Iterator const& iter, random_access_traversal_tag) + { + typedef typename result_of::distance::type N; + return fusion::advance(iter); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + iter_call(Iterator const& iter) + { + return choose_call(iter, typename traits::category_of::type()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return iter_call(fusion::begin(seq)); + } + }; + + template + struct result_of_find_if + { + typedef + static_find_if< + typename result_of::begin::type + , typename result_of::end::type + , Pred + > + filter; + + typedef typename filter::type type; + }; +}}} + +#endif diff --git a/external/boost/fusion/algorithm/query/detail/segmented_find.hpp b/external/boost/fusion/algorithm/query/detail/segmented_find.hpp new file mode 100644 index 000000000..d8533afe1 --- /dev/null +++ b/external/boost/fusion/algorithm/query/detail/segmented_find.hpp @@ -0,0 +1,95 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct segmented_find_fun + { + template + struct apply + { + typedef + typename result_of::find::type + iterator_type; + + typedef + typename result_of::equal_to< + iterator_type + , typename result_of::end::type + >::type + continue_type; + + typedef + typename mpl::eval_if< + continue_type + , mpl::identity + , result_of::make_segmented_iterator< + iterator_type + , Context + > + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State const&state, Context const& context, segmented_find_fun) + { + return call_impl(seq, state, context, continue_type()); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) + { + return state; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) + { + return fusion::make_segmented_iterator(fusion::find(seq), context); + } + }; + }; + + template + struct result_of_segmented_find + { + struct filter + { + typedef + typename result_of::segmented_fold_until< + Sequence + , typename result_of::end::type + , segmented_find_fun + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return fusion::segmented_fold_until( + seq + , fusion::end(seq) + , detail::segmented_find_fun()); + } + }; + + typedef typename filter::type type; + }; +}}} + +#endif diff --git a/external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp b/external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp new file mode 100644 index 000000000..fd527c732 --- /dev/null +++ b/external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp @@ -0,0 +1,95 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_FIND_IF_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_FIND_IF_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct segmented_find_if_fun + { + template + struct apply + { + typedef + typename result_of::find_if::type + iterator_type; + + typedef + typename result_of::equal_to< + iterator_type + , typename result_of::end::type + >::type + continue_type; + + typedef + typename mpl::eval_if< + continue_type + , mpl::identity + , result_of::make_segmented_iterator< + iterator_type + , Context + > + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State const&state, Context const& context, segmented_find_if_fun) + { + return call_impl(seq, state, context, continue_type()); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) + { + return state; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) + { + return fusion::make_segmented_iterator(fusion::find_if(seq), context); + } + }; + }; + + template + struct result_of_segmented_find_if + { + struct filter + { + typedef + typename result_of::segmented_fold_until< + Sequence + , typename result_of::end::type + , segmented_find_if_fun + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return fusion::segmented_fold_until( + seq + , fusion::end(seq) + , segmented_find_if_fun()); + } + }; + + typedef typename filter::type type; + }; +}}} + +#endif diff --git a/external/boost/fusion/algorithm/query/find.hpp b/external/boost/fusion/algorithm/query/find.hpp new file mode 100644 index 000000000..41c22fb3d --- /dev/null +++ b/external/boost/fusion/algorithm/query/find.hpp @@ -0,0 +1,72 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FIND_05052005_1107) +#define FUSION_FIND_05052005_1107 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct find + : mpl::if_< + traits::is_segmented + , detail::result_of_segmented_find + , detail::result_of_find_if< + Sequence, + is_same< + typename mpl::if_< + traits::is_associative + , key_of + , value_of + >::type + , T + > + > + >::type + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::find + >::type const + find(Sequence& seq) + { + typedef typename result_of::find::filter filter; + return filter::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::find::type const + find(Sequence const& seq) + { + typedef typename result_of::find::filter filter; + return filter::call(seq); + } +}} + +#endif diff --git a/external/boost/fusion/algorithm/query/find_fwd.hpp b/external/boost/fusion/algorithm/query/find_fwd.hpp new file mode 100644 index 000000000..c4fc0a9f1 --- /dev/null +++ b/external/boost/fusion/algorithm/query/find_fwd.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_FIND_FWD_HPP_INCLUDED) +#define BOOST_FUSION_FIND_FWD_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct find; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::find + >::type const + find(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::find::type const + find(Sequence const& seq); +}} + +#endif diff --git a/external/boost/fusion/algorithm/query/find_if.hpp b/external/boost/fusion/algorithm/query/find_if.hpp new file mode 100644 index 000000000..38601ebfc --- /dev/null +++ b/external/boost/fusion/algorithm/query/find_if.hpp @@ -0,0 +1,67 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FIND_IF_05052005_1108) +#define FUSION_FIND_IF_05052005_1108 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct find_if + : mpl::if_< + traits::is_segmented + , detail::result_of_segmented_find_if + , detail::result_of_find_if< + Sequence, + mpl::bind1< + typename mpl::lambda::type + , mpl::bind1, mpl::_1> + > + > + >::type + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::find_if + >::type + find_if(Sequence& seq) + { + typedef typename result_of::find_if::filter filter; + return filter::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::find_if::type const + find_if(Sequence const& seq) + { + typedef typename result_of::find_if::filter filter; + return filter::call(seq); + } +}} + +#endif diff --git a/external/boost/fusion/algorithm/query/find_if_fwd.hpp b/external/boost/fusion/algorithm/query/find_if_fwd.hpp new file mode 100644 index 000000000..5c8abd5be --- /dev/null +++ b/external/boost/fusion/algorithm/query/find_if_fwd.hpp @@ -0,0 +1,38 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED) +#define BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED + +#include +#include +#include + +// Forward declaration of find_if algorithm +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct find_if; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::find_if + >::type + find_if(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::find_if::type const + find_if(Sequence const& seq); +}} + +#endif diff --git a/external/boost/fusion/algorithm/query/none.hpp b/external/boost/fusion/algorithm/query/none.hpp new file mode 100644 index 000000000..1fecdbfe7 --- /dev/null +++ b/external/boost/fusion/algorithm/query/none.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_NONE_07062005_1128) +#define BOOST_FUSION_NONE_07062005_1128 + +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct none + { + typedef bool type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + none(Sequence const& seq, F f) + { + return !fusion::any(seq, f); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation.hpp b/external/boost/fusion/algorithm/transformation.hpp new file mode 100644 index 000000000..b9534e80d --- /dev/null +++ b/external/boost/fusion/algorithm/transformation.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ALGORITHM_TRANSFORMATION_10022005_0551) +#define FUSION_ALGORITHM_TRANSFORMATION_10022005_0551 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/algorithm/transformation/clear.hpp b/external/boost/fusion/algorithm/transformation/clear.hpp new file mode 100644 index 000000000..d2e42fe05 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/clear.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CLEAR_09172005_1127) +#define FUSION_CLEAR_09172005_1127 + +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct clear + { + typedef vector0<> type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::clear::type + clear(Sequence const& /*seq*/) + { + return vector0<>(); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp new file mode 100644 index 000000000..4a596229d --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_ZIP_SEQUENCES <= 10 +#include +#elif FUSION_MAX_ZIP_SEQUENCES <= 20 +#include +#elif FUSION_MAX_ZIP_SEQUENCES <= 30 +#include +#elif FUSION_MAX_ZIP_SEQUENCES <= 40 +#include +#elif FUSION_MAX_ZIP_SEQUENCES <= 50 +#include +#else +#error "FUSION_MAX_ZIP_SEQUENCES out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp new file mode 100644 index 000000000..b04a7ef16 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp @@ -0,0 +1,216 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template + struct zip; + } + namespace result_of + { + template< typename T0 , typename T1 > + struct zip< T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1) + { + fusion::vector seqs( + t0 , t1); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 > + struct zip< T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2) + { + fusion::vector seqs( + t0 , t1 , t2); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 > + struct zip< T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + { + fusion::vector seqs( + t0 , t1 , t2 , t3); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > + struct zip< T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); + return typename result_of::zip::type( + seqs); + } +}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp new file mode 100644 index 000000000..506c485c2 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp @@ -0,0 +1,436 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template + struct zip; + } + namespace result_of + { + template< typename T0 , typename T1 > + struct zip< T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1) + { + fusion::vector seqs( + t0 , t1); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 > + struct zip< T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2) + { + fusion::vector seqs( + t0 , t1 , t2); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 > + struct zip< T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + { + fusion::vector seqs( + t0 , t1 , t2 , t3); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > + struct zip< T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); + return typename result_of::zip::type( + seqs); + } +}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp new file mode 100644 index 000000000..61437f374 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp @@ -0,0 +1,656 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template + struct zip; + } + namespace result_of + { + template< typename T0 , typename T1 > + struct zip< T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1) + { + fusion::vector seqs( + t0 , t1); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 > + struct zip< T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2) + { + fusion::vector seqs( + t0 , t1 , t2); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 > + struct zip< T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + { + fusion::vector seqs( + t0 , t1 , t2 , t3); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > + struct zip< T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29); + return typename result_of::zip::type( + seqs); + } +}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp new file mode 100644 index 000000000..77dbc9be5 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp @@ -0,0 +1,876 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template + struct zip; + } + namespace result_of + { + template< typename T0 , typename T1 > + struct zip< T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1) + { + fusion::vector seqs( + t0 , t1); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 > + struct zip< T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2) + { + fusion::vector seqs( + t0 , t1 , t2); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 > + struct zip< T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + { + fusion::vector seqs( + t0 , t1 , t2 , t3); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > + struct zip< T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 + , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 + , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 + , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 + , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 + , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 + , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39); + return typename result_of::zip::type( + seqs); + } +}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp new file mode 100644 index 000000000..ea4431794 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp @@ -0,0 +1,1096 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template + struct zip; + } + namespace result_of + { + template< typename T0 , typename T1 > + struct zip< T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1) + { + fusion::vector seqs( + t0 , t1); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 > + struct zip< T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2) + { + fusion::vector seqs( + t0 , t1 , t2); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 > + struct zip< T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + { + fusion::vector seqs( + t0 , t1 , t2 , t3); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > + struct zip< T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 + , void_ , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 + , void_ , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 + , void_ , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 + , void_ , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 + , void_ , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48); + return typename result_of::zip::type( + seqs); + } + namespace result_of + { + template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 > + struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 + , void_ + > + { + typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) + { + fusion::vector seqs( + t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49); + return typename result_of::zip::type( + seqs); + } +}} diff --git a/external/boost/fusion/algorithm/transformation/detail/replace.hpp b/external/boost/fusion/algorithm/transformation/detail/replace.hpp new file mode 100644 index 000000000..88c4faab0 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/replace.hpp @@ -0,0 +1,78 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REPLACE_08182005_0841) +#define FUSION_REPLACE_08182005_0841 + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct replacer_helper; + + template <> + struct replacer_helper + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static U& + call(U& x, T const&, T const&) + { + return x; + } + }; + + template <> + struct replacer_helper + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static U + call(U& x, T const& old_value, T const& new_value) + { + return (x == old_value) ? new_value : x; + } + }; + + template + struct replacer + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + replacer(T const& in_old_value, T const& in_new_value) + : old_value(in_old_value), new_value(in_new_value) {} + + template + struct result; + + template + struct result(U2)> + { + typedef typename remove_reference::type value; + typedef typename + mpl::if_, value, value const&>::type + type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(U const& x) const + { + return replacer_helper::value>:: + call(x, old_value, new_value); + } + + T old_value; + T new_value; + }; +}}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/detail/replace_if.hpp b/external/boost/fusion/algorithm/transformation/detail/replace_if.hpp new file mode 100644 index 000000000..2ecff6824 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/detail/replace_if.hpp @@ -0,0 +1,78 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REPLACE_IF_08182005_0946) +#define FUSION_REPLACE_IF_08182005_0946 + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct replacer_if_helper; + + template <> + struct replacer_if_helper + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static U& + call(U& x, F&, T const&) + { + return x; + } + }; + + template <> + struct replacer_if_helper + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static U + call(U& x, F& f, T const& new_value) + { + return f(x) ? new_value : x; + } + }; + + template + struct replacer_if + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + replacer_if(F in_f, T const& in_new_value) + : f(in_f), new_value(in_new_value) {} + + template + struct result; + + template + struct result(U)> + { + typedef typename remove_reference::type value; + typedef typename + mpl::if_, value, value const&>::type + type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(U const& x) const + { + return replacer_if_helper::value>:: + call(x, f, new_value); + } + + F f; + T new_value; + }; +}}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/erase.hpp b/external/boost/fusion/algorithm/transformation/erase.hpp new file mode 100644 index 000000000..8eebc357b --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/erase.hpp @@ -0,0 +1,140 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ERASE_07232005_0534) +#define FUSION_ERASE_07232005_0534 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct compute_erase_last // put this in detail!!! + { + typedef typename result_of::end::type seq_last_type; + typedef typename convert_iterator::type first_type; + typedef typename + mpl::if_< + result_of::equal_to + , first_type + , typename result_of::next::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& first, mpl::false_) + { + return fusion::next(convert_iterator::call(first)); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& first, mpl::true_) + { + return convert_iterator::call(first); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& first) + { + return call(first, result_of::equal_to()); + } + }; + + struct use_default; + + template + struct fusion_default_help + : mpl::if_< + is_same + , Default + , T + > + { + }; + + template < + typename Sequence + , typename First + , typename Last = use_default> + struct erase + { + typedef typename result_of::begin::type seq_first_type; + typedef typename result_of::end::type seq_last_type; + BOOST_STATIC_ASSERT((!result_of::equal_to::value)); + + typedef First FirstType; + typedef typename + fusion_default_help< + Last + , typename compute_erase_last::type + >::type + LastType; + + typedef typename convert_iterator::type first_type; + typedef typename convert_iterator::type last_type; + typedef iterator_range left_type; + typedef iterator_range right_type; + typedef joint_view type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , typename result_of::erase + >::type + erase(Sequence const& seq, First const& first) + { + typedef result_of::erase result_of; + typedef typename result_of::left_type left_type; + typedef typename result_of::right_type right_type; + typedef typename result_of::type result_type; + + left_type left( + fusion::begin(seq) + , convert_iterator::call(first)); + right_type right( + fusion::result_of::compute_erase_last::call(first) + , fusion::end(seq)); + return result_type(left, right); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::erase::type + erase(Sequence const& seq, First const& first, Last const& last) + { + typedef result_of::erase result_of; + typedef typename result_of::left_type left_type; + typedef typename result_of::right_type right_type; + typedef typename result_of::type result_type; + + left_type left(fusion::begin(seq), first); + right_type right(last, fusion::end(seq)); + return result_type(left, right); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/erase_key.hpp b/external/boost/fusion/algorithm/transformation/erase_key.hpp new file mode 100644 index 000000000..3757f46f8 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/erase_key.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ERASE_KEY_10022005_1851) +#define FUSION_ERASE_KEY_10022005_1851 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct erase_key + : erase::type> + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::erase_key::type + erase_key(Sequence const& seq) + { + return erase(seq, find(seq)); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/filter.hpp b/external/boost/fusion/algorithm/transformation/filter.hpp new file mode 100644 index 000000000..2fc627209 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/filter.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FILTER_02122005_1839) +#define FUSION_FILTER_02122005_1839 + +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct filter + { + typedef filter_view > type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::filter::type + filter(Sequence const& seq) + { + return filter_view >(seq); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/filter_if.hpp b/external/boost/fusion/algorithm/transformation/filter_if.hpp new file mode 100644 index 000000000..ca28e0e8a --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/filter_if.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FILTER_IF_07172005_0818) +#define FUSION_FILTER_IF_07172005_0818 + +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct filter_if + { + typedef filter_view type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::filter_if::type + filter_if(Sequence const& seq) + { + return filter_view(seq); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/flatten.hpp b/external/boost/fusion/algorithm/transformation/flatten.hpp new file mode 100644 index 000000000..43ac34dfe --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/flatten.hpp @@ -0,0 +1,46 @@ +/*============================================================================== + Copyright (c) 2013 Jamboree + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED +#define BOOST_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED + + +#include +#include +#include + + +namespace boost { namespace fusion { namespace result_of +{ + template + struct flatten + { + typedef flatten_view type; + }; +}}} + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::flatten::type + flatten(Sequence& view) + { + return flatten_view(view); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::flatten::type + flatten(Sequence const& view) + { + return flatten_view(view); + } +}} + + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/insert.hpp b/external/boost/fusion/algorithm/transformation/insert.hpp new file mode 100644 index 000000000..c6d5219d6 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/insert.hpp @@ -0,0 +1,69 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INSERT_07222005_0730) +#define FUSION_INSERT_07222005_0730 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct insert + { + typedef typename detail::as_fusion_element::type element_type; + typedef typename convert_iterator::type pos_type; + typedef typename result_of::begin::type first_type; + typedef typename result_of::end::type last_type; + + typedef iterator_range left_type; + typedef iterator_range right_type; + typedef fusion::single_view single_view; + typedef joint_view left_insert_type; + typedef joint_view type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::insert + >::type + insert(Sequence const& seq, Position const& pos, T const& x) + { + typedef result_of::insert< + Sequence const, Position, T> + result_of; + typedef typename result_of::left_type left_type; + typedef typename result_of::right_type right_type; + typedef typename result_of::single_view single_view; + typedef typename result_of::left_insert_type left_insert_type; + typedef typename result_of::type result; + + left_type left(fusion::begin(seq), convert_iterator::call(pos)); + right_type right(convert_iterator::call(pos), fusion::end(seq)); + single_view insert(x); + left_insert_type left_insert(left, insert); + return result(left_insert, right); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/insert_range.hpp b/external/boost/fusion/algorithm/transformation/insert_range.hpp new file mode 100644 index 000000000..57878309a --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/insert_range.hpp @@ -0,0 +1,56 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INSERT_RANGE_009172005_1147) +#define FUSION_INSERT_RANGE_009172005_1147 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct insert_range + { + typedef typename convert_iterator::type pos_type; + typedef typename result_of::begin::type first_type; + typedef typename result_of::end::type last_type; + + typedef iterator_range left_type; + typedef iterator_range right_type; + typedef joint_view left_insert_type; + typedef joint_view type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::insert_range::type + insert_range(Sequence const& seq, Position const& pos, Range const& range) + { + typedef result_of::insert_range result_of; + typedef typename result_of::left_type left_type; + typedef typename result_of::right_type right_type; + typedef typename result_of::left_insert_type left_insert_type; + typedef typename result_of::type result; + + left_type left(fusion::begin(seq), convert_iterator::call(pos)); + right_type right(convert_iterator::call(pos), fusion::end(seq)); + left_insert_type left_insert(left, range); + return result(left_insert, right); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/join.hpp b/external/boost/fusion/algorithm/transformation/join.hpp new file mode 100644 index 000000000..8be492240 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/join.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_JOIN_200601222109) +#define FUSION_JOIN_200601222109 + +#include +#include + +namespace boost { namespace fusion { + + namespace result_of + { + template + struct join + { + typedef joint_view type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::join::type + join(LhSequence const& lhs, RhSequence const& rhs) + { + return typename result_of::join::type( + lhs, rhs); + } +}} + +#endif diff --git a/external/boost/fusion/algorithm/transformation/pop_back.hpp b/external/boost/fusion/algorithm/transformation/pop_back.hpp new file mode 100644 index 000000000..2f55fa5e7 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/pop_back.hpp @@ -0,0 +1,172 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_POP_BACK_09172005_1038) +#define FUSION_POP_BACK_09172005_1038 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct pop_back_iterator + : iterator_adapter< + pop_back_iterator + , Iterator_> + { + typedef iterator_adapter< + pop_back_iterator + , Iterator_> + base_type; + + static bool const is_last = IsLast; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pop_back_iterator(Iterator_ const& iterator_base) + : base_type(iterator_base) {} + + template + struct make + { + typedef pop_back_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(BaseIterator const& i) + { + return type(i); + } + }; + + template + struct equal_to_helper + : mpl::identity + {}; + + template + struct equal_to_helper + : result_of::next< + typename I::iterator_base_type> + {}; + + template + struct equal_to + : result_of::equal_to< + typename equal_to_helper::type + , typename equal_to_helper::type + > + {}; + + template + struct distance + : mpl::minus< + typename result_of::distance< + typename First::iterator_base_type + , typename Last::iterator_base_type + >::type + , mpl::int_<(Last::is_last?1:0)> + >::type + {}; + + + template + struct prior_impl + { + typedef typename Iterator::iterator_base_type base_type; + + typedef typename + result_of::prior::type + base_prior; + + typedef pop_back_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::prior(i.iterator_base)); + } + }; + + template + struct prior_impl + { + // If this is the last iterator, we'll have to double back + typedef typename Iterator::iterator_base_type base_type; + + typedef typename + result_of::prior< + typename result_of::prior::type + >::type + base_prior; + + typedef pop_back_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::prior( + fusion::prior(i.iterator_base))); + } + }; + + template + struct prior : prior_impl + {}; + }; + + namespace result_of + { + template + struct pop_back + { + BOOST_MPL_ASSERT_NOT((result_of::empty)); + + typedef pop_back_iterator< + typename begin::type, false> + begin_type; + + typedef pop_back_iterator< + typename end::type, true> + end_type; + + typedef + iterator_range + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::pop_back::type + pop_back(Sequence const& seq) + { + typedef result_of::pop_back comp; + typedef typename comp::begin_type begin_type; + typedef typename comp::end_type end_type; + typedef typename comp::type result; + + return result( + begin_type(fusion::begin(seq)) + , end_type(fusion::end(seq)) + ); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/pop_front.hpp b/external/boost/fusion/algorithm/transformation/pop_front.hpp new file mode 100644 index 000000000..11b7f6ee1 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/pop_front.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_POP_FRONT_09172005_1115) +#define FUSION_POP_FRONT_09172005_1115 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct pop_front + { + typedef + iterator_range< + typename next< + typename begin::type + >::type + , typename end::type + > + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::pop_front::type + pop_front(Sequence const& seq) + { + typedef typename result_of::pop_front::type result; + return result(fusion::next(fusion::begin(seq)), fusion::end(seq)); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/push_back.hpp b/external/boost/fusion/algorithm/transformation/push_back.hpp new file mode 100644 index 000000000..51c2569d2 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/push_back.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PUSH_BACK_07162005_0235) +#define FUSION_PUSH_BACK_07162005_0235 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct push_back + { + typedef fusion::single_view::type> single_view; + typedef joint_view type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::push_back + >::type + push_back(Sequence const& seq, T const& x) + { + typedef typename result_of::push_back push_back; + typedef typename push_back::single_view single_view; + typedef typename push_back::type result; + single_view x_(x); + return result(seq, x_); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/push_front.hpp b/external/boost/fusion/algorithm/transformation/push_front.hpp new file mode 100644 index 000000000..a1b7b390c --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/push_front.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PUSH_FRONT_07162005_0749) +#define FUSION_PUSH_FRONT_07162005_0749 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct push_front + { + typedef fusion::single_view::type> single_view; + typedef joint_view type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::push_front + >::type + push_front(Sequence const& seq, T const& x) + { + typedef typename result_of::push_front push_front; + typedef typename push_front::single_view single_view; + typedef typename push_front::type result; + single_view x_(x); + return result(x_, seq); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/remove.hpp b/external/boost/fusion/algorithm/transformation/remove.hpp new file mode 100644 index 000000000..f8bebf709 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/remove.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REMOVE_07162005_0818) +#define FUSION_REMOVE_07162005_0818 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct remove + { + typedef filter_view > > type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::remove::type + remove(Sequence const& seq) + { + typedef typename result_of::remove::type result_type; + return result_type(seq); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/remove_if.hpp b/external/boost/fusion/algorithm/transformation/remove_if.hpp new file mode 100644 index 000000000..5497e3a37 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/remove_if.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REMOVE_IF_07162005_0818) +#define FUSION_REMOVE_IF_07162005_0818 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct remove_if + { + typedef filter_view > type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::remove_if::type + remove_if(Sequence const& seq) + { + typedef typename result_of::remove_if::type result_type; + return result_type(seq); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/replace.hpp b/external/boost/fusion/algorithm/transformation/replace.hpp new file mode 100644 index 000000000..4d754cc0f --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/replace.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REPLACE_08182005_0830) +#define FUSION_REPLACE_08182005_0830 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct replace + { + typedef transform_view > type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , typename result_of::replace::type + >::type + replace(Sequence const& seq, T const& old_value, T const& new_value) + { + typedef typename result_of::replace::type result; + detail::replacer f(old_value, new_value); + return result(seq, f); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/replace_if.hpp b/external/boost/fusion/algorithm/transformation/replace_if.hpp new file mode 100644 index 000000000..8a2bddc6e --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/replace_if.hpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REPLACE_IF_08182005_0939) +#define FUSION_REPLACE_IF_08182005_0939 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct replace_if + { + typedef transform_view > type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , typename result_of::replace_if::type + >::type + replace_if(Sequence const& seq, F pred, T const& new_value) + { + typedef typename result_of::replace_if::type result; + detail::replacer_if f(pred, new_value); + return result(seq, f); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/reverse.hpp b/external/boost/fusion/algorithm/transformation/reverse.hpp new file mode 100644 index 000000000..53de417a1 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/reverse.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REVERSE_07212005_1230) +#define FUSION_REVERSE_07212005_1230 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct reverse + { + typedef reverse_view type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + enable_if< + traits::is_sequence + , reverse_view + >::type + reverse(Sequence const& view) + { + return reverse_view(view); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/transform.hpp b/external/boost/fusion/algorithm/transformation/transform.hpp new file mode 100644 index 000000000..6a487ccc8 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/transform.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TRANSFORM_07052005_1057) +#define FUSION_TRANSFORM_07052005_1057 + +#include +#include + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template + struct transform + { + typedef transform_view type; + }; + + template +#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) + struct transform +#else + struct transform +#endif + { + typedef transform_view type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::transform::type + transform(Sequence const& seq, F f) + { + return transform_view(seq, f); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::transform::type + transform(Sequence1 const& seq1, Sequence2 const& seq2, F f) + { + return transform_view(seq1, seq2, f); + } +}} + +#endif + diff --git a/external/boost/fusion/algorithm/transformation/zip.hpp b/external/boost/fusion/algorithm/transformation/zip.hpp new file mode 100644 index 000000000..0775a4294 --- /dev/null +++ b/external/boost/fusion/algorithm/transformation/zip.hpp @@ -0,0 +1,118 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_ZIP_HPP_20060125_2058) +#define FUSION_ZIP_HPP_20060125_2058 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(FUSION_MAX_ZIP_SEQUENCES) +#define FUSION_MAX_ZIP_SEQUENCES 10 +#endif + +#define FUSION_MAX_ZIP_SEQUENCES_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_ZIP_SEQUENCES)) + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/zip" FUSION_MAX_ZIP_SEQUENCES_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template + struct zip; + } + +#define FUSION_TEXT(z, n, text) , text + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_ZIP_SEQUENCES) +#include BOOST_PP_ITERATE() + +#undef FUSION_TEXT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + +#else + +#define ZIP_ITERATION BOOST_PP_ITERATION() + + namespace result_of + { + template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T) > + struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) + BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, FUSION_TEXT, void_) + > + { + typedef mpl::vector< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > sequences; + typedef typename mpl::transform >::type ref_params; + typedef zip_view::type> type; + }; + } + +#define FUSION_REF_PARAM(z, n, data) const T ## n& + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::zip::type + zip(BOOST_PP_ENUM_BINARY_PARAMS(ZIP_ITERATION, T, const& t)) + { + fusion::vector seqs( + BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, t)); + return typename result_of::zip::type( + seqs); + } + +#undef FUSION_REF_PARAM +#undef ZIP_ITERATION + +#endif diff --git a/external/boost/fusion/container.hpp b/external/boost/fusion/container.hpp new file mode 100644 index 000000000..ab19e2cd1 --- /dev/null +++ b/external/boost/fusion/container.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_CLASS_10022005_0614) +#define FUSION_SEQUENCE_CLASS_10022005_0614 + +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/container/deque.hpp b/external/boost/fusion/container/deque.hpp new file mode 100644 index 000000000..c07de0304 --- /dev/null +++ b/external/boost/fusion/container/deque.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036) +#define BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036 + +#include +#include +#include +#include + +#endif + diff --git a/external/boost/fusion/container/deque/back_extended_deque.hpp b/external/boost/fusion/container/deque/back_extended_deque.hpp new file mode 100644 index 000000000..04b1d41f2 --- /dev/null +++ b/external/boost/fusion/container/deque/back_extended_deque.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209) +#define BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209 + +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct back_extended_deque + : detail::keyed_element + , sequence_base > + { + typedef detail::keyed_element base; + typedef typename Deque::next_down next_down; + typedef mpl::int_<(Deque::next_up::value + 1)> next_up; + typedef mpl::int_<(result_of::size::value + 1)> size; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + back_extended_deque(Deque const& deque, Arg const& val) + : base(val, deque) + {} + +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + back_extended_deque(Deque const& deque, Arg& val) + : base(val, deque) + {} +#else + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + back_extended_deque(Deque const& deque, Arg&& val) + : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) + {} +#endif + }; +}} + +#endif diff --git a/external/boost/fusion/container/deque/convert.hpp b/external/boost/fusion/container/deque/convert.hpp new file mode 100644 index 000000000..9a4bf01af --- /dev/null +++ b/external/boost/fusion/container/deque/convert.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_20061213_2207) +#define FUSION_CONVERT_20061213_2207 + +#include +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +/////////////////////////////////////////////////////////////////////////////// +// C++03 (non-variadic) implementation +/////////////////////////////////////////////////////////////////////////////// +#include + +#else +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic implementation +/////////////////////////////////////////////////////////////////////////////// +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_deque : + detail::build_deque< + typename result_of::begin::type + , typename result_of::end::type + > + { + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_deque::type + as_deque(Sequence& seq) + { + typedef result_of::as_deque gen; + return gen::call(fusion::begin(seq), fusion::end(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_deque::type + as_deque(Sequence const& seq) + { + typedef result_of::as_deque gen; + return gen::call(fusion::begin(seq), fusion::end(seq)); + } +}} + +#endif +#endif diff --git a/external/boost/fusion/container/deque/deque.hpp b/external/boost/fusion/container/deque/deque.hpp new file mode 100644 index 000000000..a282a7012 --- /dev/null +++ b/external/boost/fusion/container/deque/deque.hpp @@ -0,0 +1,189 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_26112006_1649) +#define BOOST_FUSION_DEQUE_26112006_1649 + +# include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + template + struct deque : detail::nil_keyed_element + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef mpl::int_<0> size; + typedef mpl::int_<0> next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(Sequence const&, + typename enable_if< + mpl::and_< + traits::is_sequence + , result_of::empty>, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} + }; + + template + struct deque + : detail::deque_keyed_values::type + , sequence_base> + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef typename detail::deque_keyed_values::type base; + typedef mpl::int_<(sizeof ...(Tail) + 1)> size; + typedef mpl::int_ next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() + {} + + template >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + + template >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque& seq) + : base(seq) + {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template >::type + > + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque&& seq) + : base(std::forward>(seq)) + {} +#endif + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque&& seq) + : base(std::forward(seq)) + {} +#endif + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type head + , typename detail::call_param::type... tail) + : base(detail::deque_keyed_values::construct(head, tail...)) + {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template >::type + > + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(Head_&& head, Tail_&&... tail) + : base(detail::deque_keyed_values + ::forward_(BOOST_FUSION_FWD_ELEM(Head_, head), BOOST_FUSION_FWD_ELEM(Tail_, tail)...)) + {} +#else + template >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(Head_ const& head, Tail_ const&... tail) + : base(detail::deque_keyed_values::construct(head, tail...)) + {} +#endif + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(Sequence const& seq + , typename disable_if, detail::enabler_>::type = detail::enabler + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base(base::from_iterator(fusion::begin(seq))) + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& operator=(deque const& rhs) + { + base::operator=(rhs); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& operator=(T const& rhs) + { + base::operator=(rhs); + return *this; + } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& operator=(T&& rhs) + { + base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); + return *this; + } +#endif + + }; +}} + +#endif +#endif diff --git a/external/boost/fusion/container/deque/deque_fwd.hpp b/external/boost/fusion/container/deque/deque_fwd.hpp new file mode 100644 index 000000000..5b8ea56fc --- /dev/null +++ b/external/boost/fusion/container/deque/deque_fwd.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEQUE_FORWARD_02092007_0749) +#define FUSION_DEQUE_FORWARD_02092007_0749 + +#include +#include + +#if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ + || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# undef BOOST_FUSION_HAS_VARIADIC_DEQUE +# endif +#else +# if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# define BOOST_FUSION_HAS_VARIADIC_DEQUE +# endif +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1910) +# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# undef BOOST_FUSION_HAS_VARIADIC_DEQUE +# endif +#endif + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +namespace boost { namespace fusion +{ + template + struct deque; +}} + +#endif +#endif diff --git a/external/boost/fusion/container/deque/deque_iterator.hpp b/external/boost/fusion/container/deque/deque_iterator.hpp new file mode 100644 index 000000000..c2203796f --- /dev/null +++ b/external/boost/fusion/container/deque/deque_iterator.hpp @@ -0,0 +1,130 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_ITERATOR_26112006_2154) +#define BOOST_FUSION_DEQUE_ITERATOR_26112006_2154 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct bidirectional_traversal_tag; + + template + struct deque_iterator + : iterator_facade, bidirectional_traversal_tag> + { + typedef Seq sequence; + typedef mpl::int_ index; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque_iterator(Seq& seq) + : seq_(seq) + {} + + template + struct value_of + : detail::keyed_element_value_at< + typename Iterator::sequence, typename Iterator::index> + {}; + + template + struct deref + { + typedef typename detail::keyed_element_value_at< + typename Iterator::sequence, typename Iterator::index>::type element_type; + + typedef typename add_reference< + typename mpl::eval_if< + is_const, + add_const, + mpl::identity >::type>::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& it) + { + return it.seq_.get(typename Iterator::index()); + } + }; + + template + struct advance + { + typedef typename Iterator::index index; + typedef typename Iterator::sequence sequence; + typedef deque_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.seq_); + } + }; + + template + struct next + : advance > + {}; + + template + struct prior + : advance > + {}; + + template + struct distance : mpl::minus + { + typedef typename + mpl::minus< + typename I2::index, typename I1::index + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(I1 const&, I2 const&) + { + return type(); + } + }; + + template + struct equal_to + : mpl::equal_to + {}; + + Seq& seq_; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + deque_iterator& operator= (deque_iterator const&); + }; + +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::deque_iterator > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/container/deque/detail/at_impl.hpp b/external/boost/fusion/container/deque/detail/at_impl.hpp new file mode 100644 index 000000000..3edf48293 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/at_impl.hpp @@ -0,0 +1,67 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017) +#define BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017 + +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename Sequence::next_up next_up; + typedef typename Sequence::next_down next_down; + BOOST_MPL_ASSERT_RELATION(next_down::value, !=, next_up::value); + + static int const offset = next_down::value + 1; + typedef mpl::int_<(N::value + offset)> adjusted_index; + typedef typename + detail::keyed_element_value_at::type + element_type; + + typedef typename + add_reference< + typename mpl::eval_if< + is_const, + add_const, + mpl::identity >::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return seq.get(adjusted_index()); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/begin_impl.hpp b/external/boost/fusion/container/deque/detail/begin_impl.hpp new file mode 100644 index 000000000..27b4f41b9 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/begin_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034) +#define BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034 + +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + namespace extension + { + template + struct begin_impl; + + template<> + struct begin_impl + { + template + struct apply + { + typedef + deque_iterator + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return type(seq); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/build_deque.hpp b/external/boost/fusion/container/deque/detail/build_deque.hpp new file mode 100644 index 000000000..4dd990aea --- /dev/null +++ b/external/boost/fusion/container/deque/detail/build_deque.hpp @@ -0,0 +1,78 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_DEQUE_02032013_1921) +#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template ::value> + struct build_deque; + + template + struct build_deque + { + typedef deque<> type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + + template + struct push_front_deque; + + template + struct push_front_deque> + { + typedef deque type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(T const& first, deque const& rest) + { + return type(front_extended_deque, T>(rest, first)); + } + }; + + template + struct build_deque + { + typedef + build_deque::type, Last> + next_build_deque; + + typedef push_front_deque< + typename result_of::value_of::type + , typename next_build_deque::type> + push_front; + + typedef typename push_front::type type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& f, Last const& l) + { + typename result_of::value_of::type v = *f; + return push_front::call( + v, next_build_deque::call(fusion::next(f), l)); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/convert_impl.hpp b/external/boost/fusion/container/deque/detail/convert_impl.hpp new file mode 100644 index 000000000..ede0cc48f --- /dev/null +++ b/external/boost/fusion/container/deque/detail/convert_impl.hpp @@ -0,0 +1,56 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_20061213_2207) +#define FUSION_CONVERT_IMPL_20061213_2207 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + namespace result_of + { + template + struct as_deque; + } + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef result_of::as_deque gen; + typedef typename gen::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq) +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) + , fusion::end(seq) +#endif + ); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp new file mode 100644 index 000000000..e95daf3a1 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp @@ -0,0 +1,140 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_AS_DEQUE_20061213_2210) +#define FUSION_AS_DEQUE_20061213_2210 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template + struct as_deque; + + template <> + struct as_deque<0> + { + template + struct apply + { + typedef deque<> type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator) + { + return deque<>(); + } + }; + +BOOST_FUSION_BARRIER_END +}}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + +#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::next::type \ + BOOST_PP_CAT(I, BOOST_PP_INC(n)); + +#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ + typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ + BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); + +#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::value_of::type \ + BOOST_PP_CAT(T, n); + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_NEXT_ITERATOR +#undef BOOST_FUSION_NEXT_CALL_ITERATOR +#undef BOOST_FUSION_VALUE_OF_ITERATOR + +BOOST_FUSION_BARRIER_END +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template <> + struct as_deque + { + template + struct apply + { + BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) + BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) + typedef deque type; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) + return result(BOOST_PP_ENUM_PARAMS(N, *i)); + } + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp new file mode 100644 index 000000000..587aa3b06 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_DEQUE_02032013_1921) +#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_deque + : detail::as_deque::value> + { + typedef typename + detail::as_deque::value> + gen; + typedef typename gen:: + template apply::type>::type + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_deque::type + as_deque(Sequence& seq) + { + typedef typename result_of::as_deque::gen gen; + return gen::call(fusion::begin(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_deque::type + as_deque(Sequence const& seq) + { + typedef typename result_of::as_deque::gen gen; + return gen::call(fusion::begin(seq)); + } +}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque.hpp new file mode 100644 index 000000000..9a130ecbd --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/deque.hpp @@ -0,0 +1,207 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_PP_FUSION_DEQUE_26112006_1649) +#define BOOST_PP_FUSION_DEQUE_26112006_1649 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +#define FUSION_HASH # + +namespace boost { namespace fusion { + + struct deque_tag; + + template + struct deque + : + detail::deque_keyed_values::type, + sequence_base > + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef typename detail::deque_keyed_values::type base; + typedef typename detail::deque_initial_size::type size; + typedef mpl::int_ next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + +#include + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) + : base(t0, detail::nil_keyed_element()) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque const& rhs) + : base(rhs) + {} + + template + BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + + template + BOOST_FUSION_GPU_ENABLED + deque(Sequence const& seq + , typename disable_if, detail::enabler_>::type = detail::enabler + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base(base::from_iterator(fusion::begin(seq))) + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T const& rhs) + { + base::operator=(rhs); + return *this; + } + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + template + BOOST_FUSION_GPU_ENABLED + explicit deque(T0_&& t0 + , typename enable_if, detail::enabler_>::type = detail::enabler + , typename disable_if_c< + boost::is_same::type const>::value + , detail::enabler_ + >::type = detail::enabler + ) + : base(BOOST_FUSION_FWD_ELEM(T0_, t0), detail::nil_keyed_element()) + {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque&& rhs) + : base(std::forward(rhs)) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + , detail::enabler_ + >::type = detail::enabler) + : base(std::forward>(seq)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T&& rhs) + { + base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); + return *this; + } + // This copy op= is required because move ctor deletes copy op=. + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(deque const& rhs) + { + base::operator=(static_cast(rhs)); + return *this; + } +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + + }; + + template <> + struct deque<> : detail::nil_keyed_element + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef mpl::int_<0> size; + typedef mpl::int_<0> next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(Sequence const&, + typename enable_if< + mpl::and_< + traits::is_sequence + , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} + }; + +}} + +#undef FUSION_HASH + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp new file mode 100644 index 000000000..eeaa29ffb --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp @@ -0,0 +1,69 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_PP_IS_ITERATING) +#if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212) +#define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#define FUSION_DEQUE_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(T_##n, t##n) + +#include +#include +#include + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_DEQUE_SIZE) +#include BOOST_PP_ITERATE() + +#undef FUSION_DEQUE_FORWARD_CTOR_FORWARD +#endif +#else + +#define N BOOST_PP_ITERATION() + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) + : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) +{} +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& t)) + : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) +{} + +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) + : base(detail::deque_keyed_values:: + forward_(BOOST_PP_ENUM(N, FUSION_DEQUE_FORWARD_CTOR_FORWARD, _))) +{} +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + +#undef N +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp new file mode 100644 index 000000000..0da8bd224 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PP_DEQUE_FORWARD_02092007_0749) +#define FUSION_PP_DEQUE_FORWARD_02092007_0749 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque" FUSION_MAX_DEQUE_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + template< + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_DEQUE_SIZE, typename T, void_)> + struct deque; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp new file mode 100644 index 000000000..5ac245d95 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp @@ -0,0 +1,64 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139) +#define BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct void_; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_initial_size" FUSION_MAX_DEQUE_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ + template + struct deque_initial_size + { + typedef mpl::vector args; + typedef typename mpl::find::type first_void; + typedef typename mpl::distance::type, first_void>::type type; + }; +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp new file mode 100644 index 000000000..fcbd74a7e --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp @@ -0,0 +1,112 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330) +#define BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#define FUSION_VOID(z, n, _) void_ + +namespace boost { namespace fusion +{ + struct void_; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_keyed_values" FUSION_MAX_DEQUE_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ + template + struct keyed_element; + + struct nil_keyed_element; + + template + struct deque_keyed_values_impl; + + template + struct deque_keyed_values_impl + { + typedef nil_keyed_element type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct() + { + return type(); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_() + { + return type(); + } + }; + + template + struct deque_keyed_values_impl + { + typedef mpl::int_ >::value> next_index; + + typedef typename deque_keyed_values_impl< + next_index, + BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_DEQUE_SIZE, T)>::type tail; + typedef keyed_element type; + +#include + + }; + + template + struct deque_keyed_values + : deque_keyed_values_impl, BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, T)> + {}; + +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef FUSION_VOID + +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp new file mode 100644 index 000000000..87f3714b5 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp @@ -0,0 +1,72 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_PP_IS_ITERATING) +#if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211) +#define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include +#include +#include +#include + +#define FUSION_HASH # +#define FUSION_DEQUE_KEYED_VALUES_FORWARD(z, n, _) \ + BOOST_FUSION_FWD_ELEM(BOOST_PP_CAT(T_, n), BOOST_PP_CAT(t, n)) + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) +#include BOOST_PP_ITERATE() + +#undef FUSION_DEQUE_KEYED_VALUES_FORWARD +#undef FUSION_HASH +#endif +#else + +#define N BOOST_PP_ITERATION() + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) + { + return type(t0, + deque_keyed_values_impl< + next_index + #if N > 1 + , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T) + #endif + >::construct(BOOST_PP_ENUM_SHIFTED_PARAMS(N, t))); + } + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) + { + return type(BOOST_FUSION_FWD_ELEM(T_0, t0), + deque_keyed_values_impl< + next_index + #if N > 1 + , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T_) + #endif + >::forward_(BOOST_PP_ENUM_SHIFTED(N, FUSION_DEQUE_KEYED_VALUES_FORWARD, _))); + } +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + +#undef N +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/limits.hpp b/external/boost/fusion/container/deque/detail/cpp03/limits.hpp new file mode 100644 index 000000000..16e25fa08 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/limits.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_LIMITS_26112006_1737) +#define BOOST_FUSION_DEQUE_LIMITS_26112006_1737 + +#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +#error "C++03 only! This file should not have been included" +#endif + +#include + +#if !defined(FUSION_MAX_DEQUE_SIZE) +# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE +#else +# if FUSION_MAX_DEQUE_SIZE < 3 +# undef FUSION_MAX_DEQUE_SIZE +# if (FUSION_MAX_VECTOR_SIZE > 10) +# define FUSION_MAX_DEQUE_SIZE 10 +# else +# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE +# endif +# endif +#endif + +#define FUSION_MAX_DEQUE_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_DEQUE_SIZE)) + +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp new file mode 100644 index 000000000..abc2890a2 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp new file mode 100644 index 000000000..3faf4be22 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp @@ -0,0 +1,223 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_deque<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_deque<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_deque<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_deque<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_deque<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_deque<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_deque<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_deque<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_deque<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_deque<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp new file mode 100644 index 000000000..81faaa0f3 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp @@ -0,0 +1,433 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_deque<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_deque<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_deque<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_deque<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_deque<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_deque<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_deque<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_deque<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_deque<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_deque<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_deque<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_deque<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_deque<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_deque<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_deque<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_deque<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_deque<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_deque<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_deque<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_deque<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp new file mode 100644 index 000000000..ce2b7b0ae --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp @@ -0,0 +1,643 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_deque<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_deque<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_deque<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_deque<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_deque<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_deque<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_deque<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_deque<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_deque<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_deque<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_deque<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_deque<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_deque<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_deque<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_deque<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_deque<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_deque<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_deque<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_deque<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_deque<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_deque<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_deque<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_deque<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_deque<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_deque<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_deque<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_deque<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_deque<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_deque<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_deque<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp new file mode 100644 index 000000000..41a5cd079 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp @@ -0,0 +1,853 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_deque<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_deque<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_deque<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_deque<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_deque<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_deque<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_deque<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_deque<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_deque<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_deque<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_deque<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_deque<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_deque<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_deque<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_deque<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_deque<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_deque<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_deque<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_deque<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_deque<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_deque<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_deque<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_deque<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_deque<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_deque<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_deque<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_deque<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_deque<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_deque<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_deque<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; + template <> + struct as_deque<31> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + }; + template <> + struct as_deque<32> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + }; + template <> + struct as_deque<33> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + }; + template <> + struct as_deque<34> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + }; + template <> + struct as_deque<35> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + }; + template <> + struct as_deque<36> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + }; + template <> + struct as_deque<37> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + }; + template <> + struct as_deque<38> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + }; + template <> + struct as_deque<39> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + }; + template <> + struct as_deque<40> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp new file mode 100644 index 000000000..d93ba945d --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp @@ -0,0 +1,1063 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_deque<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_deque<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_deque<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_deque<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_deque<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_deque<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_deque<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_deque<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_deque<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_deque<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_deque<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_deque<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_deque<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_deque<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_deque<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_deque<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_deque<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_deque<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_deque<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_deque<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_deque<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_deque<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_deque<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_deque<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_deque<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_deque<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_deque<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_deque<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_deque<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_deque<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; + template <> + struct as_deque<31> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + }; + template <> + struct as_deque<32> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + }; + template <> + struct as_deque<33> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + }; + template <> + struct as_deque<34> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + }; + template <> + struct as_deque<35> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + }; + template <> + struct as_deque<36> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + }; + template <> + struct as_deque<37> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + }; + template <> + struct as_deque<38> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + }; + template <> + struct as_deque<39> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + }; + template <> + struct as_deque<40> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + }; + template <> + struct as_deque<41> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); + } + }; + template <> + struct as_deque<42> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); + } + }; + template <> + struct as_deque<43> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); + } + }; + template <> + struct as_deque<44> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); + } + }; + template <> + struct as_deque<45> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); + } + }; + template <> + struct as_deque<46> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); + } + }; + template <> + struct as_deque<47> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); + } + }; + template <> + struct as_deque<48> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); + } + }; + template <> + struct as_deque<49> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); + } + }; + template <> + struct as_deque<50> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; + typedef deque type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp new file mode 100644 index 000000000..3a5a21e25 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp new file mode 100644 index 000000000..3eee06361 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp @@ -0,0 +1,280 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { + struct deque_tag; + template + struct deque + : + detail::deque_keyed_values::type, + sequence_base > + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef typename detail::deque_keyed_values::type base; + typedef typename detail::deque_initial_size::type size; + typedef mpl::int_ next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) +{} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) + : base(t0, detail::nil_keyed_element()) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque const& rhs) + : base(rhs) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(Sequence const& seq + , typename disable_if, detail::enabler_>::type = detail::enabler + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base(base::from_iterator(fusion::begin(seq))) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T const& rhs) + { + base::operator=(rhs); + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit deque(T0_&& t0 + , typename enable_if, detail::enabler_>::type = detail::enabler + , typename disable_if_c< + boost::is_same::type const>::value + , detail::enabler_ + >::type = detail::enabler + ) + : base(std::forward( t0), detail::nil_keyed_element()) + {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque&& rhs) + : base(std::forward(rhs)) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + , detail::enabler_ + >::type = detail::enabler) + : base(std::forward>(seq)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T&& rhs) + { + base::operator=(std::forward( rhs)); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(deque const& rhs) + { + base::operator=(static_cast(rhs)); + return *this; + } +# endif + }; + template <> + struct deque<> : detail::nil_keyed_element + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef mpl::int_<0> size; + typedef mpl::int_<0> next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(Sequence const&, + typename enable_if< + mpl::and_< + traits::is_sequence + , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} + }; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp new file mode 100644 index 000000000..4752e9643 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template< + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_> + struct deque; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp new file mode 100644 index 000000000..c2359e84c --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp @@ -0,0 +1,460 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { + struct deque_tag; + template + struct deque + : + detail::deque_keyed_values::type, + sequence_base > + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef typename detail::deque_keyed_values::type base; + typedef typename detail::deque_initial_size::type size; + typedef mpl::int_ next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) +{} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) + : base(t0, detail::nil_keyed_element()) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque const& rhs) + : base(rhs) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(Sequence const& seq + , typename disable_if, detail::enabler_>::type = detail::enabler + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base(base::from_iterator(fusion::begin(seq))) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T const& rhs) + { + base::operator=(rhs); + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit deque(T0_&& t0 + , typename enable_if, detail::enabler_>::type = detail::enabler + , typename disable_if_c< + boost::is_same::type const>::value + , detail::enabler_ + >::type = detail::enabler + ) + : base(std::forward( t0), detail::nil_keyed_element()) + {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque&& rhs) + : base(std::forward(rhs)) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + , detail::enabler_ + >::type = detail::enabler) + : base(std::forward>(seq)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T&& rhs) + { + base::operator=(std::forward( rhs)); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(deque const& rhs) + { + base::operator=(static_cast(rhs)); + return *this; + } +# endif + }; + template <> + struct deque<> : detail::nil_keyed_element + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef mpl::int_<0> size; + typedef mpl::int_<0> next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(Sequence const&, + typename enable_if< + mpl::and_< + traits::is_sequence + , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} + }; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp new file mode 100644 index 000000000..c53618811 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template< + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_> + struct deque; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp new file mode 100644 index 000000000..40f05f302 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp @@ -0,0 +1,640 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { + struct deque_tag; + template + struct deque + : + detail::deque_keyed_values::type, + sequence_base > + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef typename detail::deque_keyed_values::type base; + typedef typename detail::deque_initial_size::type size; + typedef mpl::int_ next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) +{} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) + : base(t0, detail::nil_keyed_element()) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque const& rhs) + : base(rhs) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(Sequence const& seq + , typename disable_if, detail::enabler_>::type = detail::enabler + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base(base::from_iterator(fusion::begin(seq))) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T const& rhs) + { + base::operator=(rhs); + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit deque(T0_&& t0 + , typename enable_if, detail::enabler_>::type = detail::enabler + , typename disable_if_c< + boost::is_same::type const>::value + , detail::enabler_ + >::type = detail::enabler + ) + : base(std::forward( t0), detail::nil_keyed_element()) + {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque&& rhs) + : base(std::forward(rhs)) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + , detail::enabler_ + >::type = detail::enabler) + : base(std::forward>(seq)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T&& rhs) + { + base::operator=(std::forward( rhs)); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(deque const& rhs) + { + base::operator=(static_cast(rhs)); + return *this; + } +# endif + }; + template <> + struct deque<> : detail::nil_keyed_element + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef mpl::int_<0> size; + typedef mpl::int_<0> next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(Sequence const&, + typename enable_if< + mpl::and_< + traits::is_sequence + , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} + }; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp new file mode 100644 index 000000000..d7abffcb8 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template< + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_> + struct deque; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp new file mode 100644 index 000000000..9df30bf3c --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp @@ -0,0 +1,820 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { + struct deque_tag; + template + struct deque + : + detail::deque_keyed_values::type, + sequence_base > + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef typename detail::deque_keyed_values::type base; + typedef typename detail::deque_initial_size::type size; + typedef mpl::int_ next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) +{} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) + : base(t0, detail::nil_keyed_element()) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque const& rhs) + : base(rhs) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(Sequence const& seq + , typename disable_if, detail::enabler_>::type = detail::enabler + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base(base::from_iterator(fusion::begin(seq))) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T const& rhs) + { + base::operator=(rhs); + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit deque(T0_&& t0 + , typename enable_if, detail::enabler_>::type = detail::enabler + , typename disable_if_c< + boost::is_same::type const>::value + , detail::enabler_ + >::type = detail::enabler + ) + : base(std::forward( t0), detail::nil_keyed_element()) + {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque&& rhs) + : base(std::forward(rhs)) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + , detail::enabler_ + >::type = detail::enabler) + : base(std::forward>(seq)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T&& rhs) + { + base::operator=(std::forward( rhs)); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(deque const& rhs) + { + base::operator=(static_cast(rhs)); + return *this; + } +# endif + }; + template <> + struct deque<> : detail::nil_keyed_element + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef mpl::int_<0> size; + typedef mpl::int_<0> next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(Sequence const&, + typename enable_if< + mpl::and_< + traits::is_sequence + , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} + }; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp new file mode 100644 index 000000000..72f2b9c24 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template< + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_> + struct deque; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp new file mode 100644 index 000000000..d4a62206a --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp @@ -0,0 +1,1000 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { + struct deque_tag; + template + struct deque + : + detail::deque_keyed_values::type, + sequence_base > + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef typename detail::deque_keyed_values::type base; + typedef typename detail::deque_initial_size::type size; + typedef mpl::int_ next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1) + : base(detail::deque_keyed_values::construct(t0 , t1)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))) +{} +# endif +# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) +{} +# endif +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) + : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) +{} +template +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) + : base(detail::deque_keyed_values:: + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))) +{} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) + : base(t0, detail::nil_keyed_element()) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque const& rhs) + : base(rhs) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) + : base(seq) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(Sequence const& seq + , typename disable_if, detail::enabler_>::type = detail::enabler + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base(base::from_iterator(fusion::begin(seq))) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T const& rhs) + { + base::operator=(rhs); + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit deque(T0_&& t0 + , typename enable_if, detail::enabler_>::type = detail::enabler + , typename disable_if_c< + boost::is_same::type const>::value + , detail::enabler_ + >::type = detail::enabler + ) + : base(std::forward( t0), detail::nil_keyed_element()) + {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(deque&& rhs) + : base(std::forward(rhs)) + {} + template + BOOST_FUSION_GPU_ENABLED + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + , detail::enabler_ + >::type = detail::enabler) + : base(std::forward>(seq)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(T&& rhs) + { + base::operator=(std::forward( rhs)); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque& + operator=(deque const& rhs) + { + base::operator=(static_cast(rhs)); + return *this; + } +# endif + }; + template <> + struct deque<> : detail::nil_keyed_element + { + typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; + typedef mpl::int_<0> size; + typedef mpl::int_<0> next_up; + typedef mpl::int_<-1> next_down; + typedef mpl::false_ is_view; + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(Sequence const&, + typename enable_if< + mpl::and_< + traits::is_sequence + , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} + }; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp new file mode 100644 index 000000000..d46a2c758 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template< + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_> + struct deque; +}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp new file mode 100644 index 000000000..9a770b9ef --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp new file mode 100644 index 000000000..9431abe2b --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp new file mode 100644 index 000000000..5bf08d560 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct deque_initial_size + { + typedef mpl::vector args; + typedef typename mpl::find::type first_void; + typedef typename mpl::distance::type, first_void>::type type; + }; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp new file mode 100644 index 000000000..a48c33ac4 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct deque_initial_size + { + typedef mpl::vector args; + typedef typename mpl::find::type first_void; + typedef typename mpl::distance::type, first_void>::type type; + }; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp new file mode 100644 index 000000000..53e805201 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct deque_initial_size + { + typedef mpl::vector args; + typedef typename mpl::find::type first_void; + typedef typename mpl::distance::type, first_void>::type type; + }; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp new file mode 100644 index 000000000..3a613b8f7 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct deque_initial_size + { + typedef mpl::vector args; + typedef typename mpl::find::type first_void; + typedef typename mpl::distance::type, first_void>::type type; + }; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp new file mode 100644 index 000000000..2a31a72bd --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct deque_initial_size + { + typedef mpl::vector args; + typedef typename mpl::find::type first_void; + typedef typename mpl::distance::type, first_void>::type type; + }; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp new file mode 100644 index 000000000..6e7968654 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp new file mode 100644 index 000000000..69bdca038 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp @@ -0,0 +1,252 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct keyed_element; + struct nil_keyed_element; + template + struct deque_keyed_values_impl; + template + struct deque_keyed_values_impl + { + typedef nil_keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct() + { + return type(); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_() + { + return type(); + } + }; + template + struct deque_keyed_values_impl + { + typedef mpl::int_ >::value> next_index; + typedef typename deque_keyed_values_impl< + next_index, + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail; + typedef keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) + { + return type(t0, + deque_keyed_values_impl< + next_index + >::construct()); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + >::forward_()); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 + >::construct(t1)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 + >::forward_(std::forward( t1))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 + >::construct(t1 , t2)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 + >::forward_(std::forward( t1) , std::forward( t2))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 + >::construct(t1 , t2 , t3)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 + >::construct(t1 , t2 , t3 , t4)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 + >::construct(t1 , t2 , t3 , t4 , t5)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 + >::construct(t1 , t2 , t3 , t4 , t5 , t6)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); + } +# endif + }; + template + struct deque_keyed_values + : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> + {}; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp new file mode 100644 index 000000000..912811e1b --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp @@ -0,0 +1,462 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct keyed_element; + struct nil_keyed_element; + template + struct deque_keyed_values_impl; + template + struct deque_keyed_values_impl + { + typedef nil_keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct() + { + return type(); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_() + { + return type(); + } + }; + template + struct deque_keyed_values_impl + { + typedef mpl::int_ >::value> next_index; + typedef typename deque_keyed_values_impl< + next_index, + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type tail; + typedef keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) + { + return type(t0, + deque_keyed_values_impl< + next_index + >::construct()); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + >::forward_()); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 + >::construct(t1)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 + >::forward_(std::forward( t1))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 + >::construct(t1 , t2)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 + >::forward_(std::forward( t1) , std::forward( t2))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 + >::construct(t1 , t2 , t3)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 + >::construct(t1 , t2 , t3 , t4)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 + >::construct(t1 , t2 , t3 , t4 , t5)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 + >::construct(t1 , t2 , t3 , t4 , t5 , t6)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); + } +# endif + }; + template + struct deque_keyed_values + : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> + {}; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp new file mode 100644 index 000000000..f000f3917 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp @@ -0,0 +1,672 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct keyed_element; + struct nil_keyed_element; + template + struct deque_keyed_values_impl; + template + struct deque_keyed_values_impl + { + typedef nil_keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct() + { + return type(); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_() + { + return type(); + } + }; + template + struct deque_keyed_values_impl + { + typedef mpl::int_ >::value> next_index; + typedef typename deque_keyed_values_impl< + next_index, + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type tail; + typedef keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) + { + return type(t0, + deque_keyed_values_impl< + next_index + >::construct()); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + >::forward_()); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 + >::construct(t1)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 + >::forward_(std::forward( t1))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 + >::construct(t1 , t2)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 + >::forward_(std::forward( t1) , std::forward( t2))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 + >::construct(t1 , t2 , t3)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 + >::construct(t1 , t2 , t3 , t4)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 + >::construct(t1 , t2 , t3 , t4 , t5)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 + >::construct(t1 , t2 , t3 , t4 , t5 , t6)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); + } +# endif + }; + template + struct deque_keyed_values + : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> + {}; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp new file mode 100644 index 000000000..a2da8fb58 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp @@ -0,0 +1,882 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct keyed_element; + struct nil_keyed_element; + template + struct deque_keyed_values_impl; + template + struct deque_keyed_values_impl + { + typedef nil_keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct() + { + return type(); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_() + { + return type(); + } + }; + template + struct deque_keyed_values_impl + { + typedef mpl::int_ >::value> next_index; + typedef typename deque_keyed_values_impl< + next_index, + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type tail; + typedef keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) + { + return type(t0, + deque_keyed_values_impl< + next_index + >::construct()); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + >::forward_()); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 + >::construct(t1)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 + >::forward_(std::forward( t1))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 + >::construct(t1 , t2)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 + >::forward_(std::forward( t1) , std::forward( t2))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 + >::construct(t1 , t2 , t3)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 + >::construct(t1 , t2 , t3 , t4)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 + >::construct(t1 , t2 , t3 , t4 , t5)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 + >::construct(t1 , t2 , t3 , t4 , t5 , t6)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); + } +# endif + }; + template + struct deque_keyed_values + : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> + {}; +}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp new file mode 100644 index 000000000..e4ff69bf9 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp @@ -0,0 +1,1092 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct keyed_element; + struct nil_keyed_element; + template + struct deque_keyed_values_impl; + template + struct deque_keyed_values_impl + { + typedef nil_keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct() + { + return type(); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_() + { + return type(); + } + }; + template + struct deque_keyed_values_impl + { + typedef mpl::int_ >::value> next_index; + typedef typename deque_keyed_values_impl< + next_index, + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type tail; + typedef keyed_element type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) + { + return type(t0, + deque_keyed_values_impl< + next_index + >::construct()); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + >::forward_()); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 + >::construct(t1)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 + >::forward_(std::forward( t1))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 + >::construct(t1 , t2)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 + >::forward_(std::forward( t1) , std::forward( t2))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 + >::construct(t1 , t2 , t3)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 + >::construct(t1 , t2 , t3 , t4)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 + >::construct(t1 , t2 , t3 , t4 , t5)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 + >::construct(t1 , t2 , t3 , t4 , t5 , t6)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))); + } +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) + { + return type(t0, + deque_keyed_values_impl< + next_index + , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 + >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)); + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) + { + return type(std::forward( t0), + deque_keyed_values_impl< + next_index + , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 , T_49 + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))); + } +# endif + }; + template + struct deque_keyed_values + : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> + {}; +}}} diff --git a/external/boost/fusion/container/deque/detail/deque_keyed_values.hpp b/external/boost/fusion/container/deque/detail/deque_keyed_values.hpp new file mode 100644 index 000000000..7c6df7b67 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/deque_keyed_values.hpp @@ -0,0 +1,76 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901) +#define BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901 + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct keyed_element; + + template + struct deque_keyed_values_impl; + + template + struct deque_keyed_values_impl + { + typedef mpl::int_<(N::value + 1)> next_index; + typedef typename deque_keyed_values_impl::type tail; + typedef keyed_element type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct( + typename detail::call_param::type head + , typename detail::call_param::type... tail) + { + return type( + head + , deque_keyed_values_impl::construct(tail...) + ); + } +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_(Head_&& head, Tail_&&... tail) + { + return type( + BOOST_FUSION_FWD_ELEM(Head_, head) + , deque_keyed_values_impl:: + forward_(BOOST_FUSION_FWD_ELEM(Tail_, tail)...) + ); + } +#endif + }; + + struct nil_keyed_element; + + template + struct deque_keyed_values_impl + { + typedef nil_keyed_element type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct() { return type(); } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type forward_() { return type(); } +#endif + }; + + template + struct deque_keyed_values + : deque_keyed_values_impl, Elements...> {}; +}}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/end_impl.hpp b/external/boost/fusion/container/deque/detail/end_impl.hpp new file mode 100644 index 000000000..8f67ff4af --- /dev/null +++ b/external/boost/fusion/container/deque/detail/end_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_END_IMPL_09122006_2034) +#define BOOST_FUSION_DEQUE_END_IMPL_09122006_2034 + +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + namespace extension + { + template + struct end_impl; + + template<> + struct end_impl + { + template + struct apply + { + typedef + deque_iterator + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return type(seq); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/is_sequence_impl.hpp b/external/boost/fusion/container/deque/detail/is_sequence_impl.hpp new file mode 100644 index 000000000..b4b9138cd --- /dev/null +++ b/external/boost/fusion/container/deque/detail/is_sequence_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP +#define BOOST_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + namespace extension + { + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply : mpl::true_ {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/keyed_element.hpp b/external/boost/fusion/container/deque/detail/keyed_element.hpp new file mode 100644 index 000000000..15b686671 --- /dev/null +++ b/external/boost/fusion/container/deque/detail/keyed_element.hpp @@ -0,0 +1,171 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330) +#define BOOST_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; +}} + +namespace boost { namespace fusion { namespace detail +{ + struct nil_keyed_element + { + typedef fusion_sequence_tag tag; + BOOST_FUSION_GPU_ENABLED + void get(); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static nil_keyed_element + from_iterator(It const&) + { + return nil_keyed_element(); + } + }; + + template + struct keyed_element : Rest + { + typedef Rest base; + typedef fusion_sequence_tag tag; + using Rest::get; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static keyed_element + from_iterator(It const& it) + { + return keyed_element( + *it, base::from_iterator(fusion::next(it))); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element(keyed_element const& rhs) + : Rest(rhs.get_base()), value_(rhs.value_) + {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element(keyed_element&& rhs) + : Rest(rhs.forward_base()) + , value_(BOOST_FUSION_FWD_ELEM(Value, rhs.value_)) + {} +#endif + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element(keyed_element const& rhs + , typename enable_if >::type* = 0) + : Rest(rhs.get_base()), value_(rhs.value_) + {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Rest& get_base() BOOST_NOEXCEPT + { + return *this; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Rest const& get_base() const BOOST_NOEXCEPT + { + return *this; + } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Rest&& forward_base() BOOST_NOEXCEPT + { + return std::move(*static_cast(this)); + } +#endif + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename cref_result::type get(Key) const + { + return value_; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename ref_result::type get(Key) + { + return value_; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element( + typename detail::call_param::type value + , Rest const& rest) + : Rest(rest), value_(value) + {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element(Value&& value, Rest&& rest) + : Rest(std::move(rest)) + , value_(BOOST_FUSION_FWD_ELEM(Value, value)) + {} +#endif + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element() + : Rest(), value_() + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element& operator=(keyed_element const& rhs) + { + base::operator=(static_cast(rhs)); // cast for msvc-7.1 + value_ = rhs.value_; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element& operator=(keyed_element const& rhs) + { + base::operator=(rhs); + value_ = rhs.value_; + return *this; + } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element& operator=(keyed_element&& rhs) + { + base::operator=(rhs.forward_base()); + value_ = std::move(rhs.value_); + return *this; + } +#endif + + Value value_; + }; + + template + struct keyed_element_value_at + : keyed_element_value_at + {}; + + template + struct keyed_element_value_at, Key> + { + typedef Value type; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/deque/detail/value_at_impl.hpp b/external/boost/fusion/container/deque/detail/value_at_impl.hpp new file mode 100644 index 000000000..f15dee01f --- /dev/null +++ b/external/boost/fusion/container/deque/detail/value_at_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756) +#define BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756 + +#include +#include + +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + namespace extension + { + template + struct value_at_impl; + + template<> + struct value_at_impl + { + template + struct apply + { + typedef typename Sequence::next_up next_up; + typedef typename Sequence::next_down next_down; + BOOST_MPL_ASSERT_RELATION(next_down::value, !=, next_up::value); + + static int const offset = next_down::value + 1; + typedef mpl::int_<(N::value + offset)> adjusted_index; + typedef typename + detail::keyed_element_value_at::type + type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/deque/front_extended_deque.hpp b/external/boost/fusion/container/deque/front_extended_deque.hpp new file mode 100644 index 000000000..ab4cdf7ca --- /dev/null +++ b/external/boost/fusion/container/deque/front_extended_deque.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2005-2012 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209) +#define BOOST_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct front_extended_deque + : detail::keyed_element + , sequence_base > + { + typedef detail::keyed_element base; + typedef mpl::int_<(Deque::next_down::value - 1)> next_down; + typedef typename Deque::next_up next_up; + typedef mpl::int_<(result_of::size::value + 1)> size; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + front_extended_deque(Deque const& deque, Arg const& val) + : base(val, deque) + {} + +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + front_extended_deque(Deque const& deque, Arg& val) + : base(val, deque) + {} +#else + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + front_extended_deque(Deque const& deque, Arg&& val) + : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) + {} +#endif + }; +}} + +#endif diff --git a/external/boost/fusion/container/generation.hpp b/external/boost/fusion/container/generation.hpp new file mode 100644 index 000000000..98e0298b4 --- /dev/null +++ b/external/boost/fusion/container/generation.hpp @@ -0,0 +1,24 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_GENERATION_10022005_0615) +#define FUSION_SEQUENCE_GENERATION_10022005_0615 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/container/generation/cons_tie.hpp b/external/boost/fusion/container/generation/cons_tie.hpp new file mode 100644 index 000000000..2058ebf54 --- /dev/null +++ b/external/boost/fusion/container/generation/cons_tie.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONS_TIE_07182005_0854) +#define FUSION_CONS_TIE_07182005_0854 + +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + + namespace result_of + { + template + struct cons_tie + { + typedef cons type; + }; + } + + // $$$ do we really want a cons_tie? $$$ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline cons + cons_tie(Car& car) + { + return cons(car); + } + + // $$$ do we really want a cons_tie? $$$ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline cons + cons_tie(Car& car, Cdr const& cdr) + { + return cons(car, cdr); + } +}} + +#endif + diff --git a/external/boost/fusion/container/generation/deque_tie.hpp b/external/boost/fusion/container/generation/deque_tie.hpp new file mode 100644 index 000000000..8b6b9e7b3 --- /dev/null +++ b/external/boost/fusion/container/generation/deque_tie.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEQUE_TIE_01272013_1401) +#define FUSION_DEQUE_TIE_01272013_1401 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// + +#include + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template + struct deque_tie + { + typedef deque type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T&... arg) + { + return deque(arg...); + } + }} + +#endif +#endif + diff --git a/external/boost/fusion/container/generation/detail/pp_deque_tie.hpp b/external/boost/fusion/container/generation/detail/pp_deque_tie.hpp new file mode 100644 index 000000000..9146118ec --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_deque_tie.hpp @@ -0,0 +1,102 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_PP_DEQUE_TIE_07192005_1242) +#define FUSION_PP_DEQUE_TIE_07192005_1242 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_tie" FUSION_MAX_DEQUE_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_DEQUE_SIZE, typename T, void_) + , typename Extra = void_ + > + struct deque_tie; + } + +#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_REF + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct deque_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > + #undef TEXT + { + typedef deque type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) + { + return deque( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_list_tie.hpp b/external/boost/fusion/container/generation/detail/pp_list_tie.hpp new file mode 100644 index 000000000..be25627ae --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_list_tie.hpp @@ -0,0 +1,102 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_PP_LIST_TIE_07192005_0109) +#define FUSION_PP_LIST_TIE_07192005_0109 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_tie" FUSION_MAX_LIST_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_LIST_SIZE, typename T, void_) + , typename Extra = void_ + > + struct list_tie; + } + +// $$$ shouldn't we remove_reference first to allow references? $$$ +#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_REF + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > + #undef TEXT + { + typedef list type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) + { + return list( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_make_deque.hpp b/external/boost/fusion/container/generation/detail/pp_make_deque.hpp new file mode 100644 index 000000000..5635c73c0 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_make_deque.hpp @@ -0,0 +1,116 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_PP_MAKE_DEQUE_07162005_0243) +#define FUSION_MAKE_PP_DEQUE_07162005_0243 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_DEQUE_SIZE, typename T, void_) + , typename Extra = void_ + > + struct make_deque; + + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> + make_deque() + { + return deque<>(); + } + +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_AS_FUSION_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct make_deque< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > + #undef TEXT + { + typedef deque type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + make_deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return deque( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_make_list.hpp b/external/boost/fusion/container/generation/detail/pp_make_list.hpp new file mode 100644 index 000000000..989bf36bd --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_make_list.hpp @@ -0,0 +1,115 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_PP_MAKE_LIST_07192005_1239) +#define FUSION_PP_MAKE_LIST_07192005_1239 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_list" FUSION_MAX_LIST_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_LIST_SIZE, typename T, void_) + , typename Extra = void_ + > + struct make_list; + + template <> + struct make_list<> + { + typedef list<> type; + }; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> + make_list() + { + return list<>(); + } + +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_AS_FUSION_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > + #undef TEXT + { + typedef list type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + make_list(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return list( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_make_map.hpp b/external/boost/fusion/container/generation/detail/pp_make_map.hpp new file mode 100644 index 000000000..ad20cd4dd --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_make_map.hpp @@ -0,0 +1,130 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_PP_MAKE_MAP_07222005_1247) +#define FUSION_PP_MAKE_MAP_07222005_1247 + +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_map" FUSION_MAX_MAP_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename K, void_) + , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename D, void_) + , typename Extra = void_ + > + struct make_map; + + template <> + struct make_map<> + { + typedef map<> type; + }; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + make_map() + { + return map<>(); + } + +#define BOOST_FUSION_PAIR(z, n, data) \ + fusion::pair< \ + BOOST_PP_CAT(K, n) \ + , typename detail::as_fusion_element::type> + +#define BOOST_FUSION_MAKE_PAIR(z, n, _) \ + fusion::make_pair(BOOST_PP_CAT(_, n)) \ + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_PAIR +#undef BOOST_FUSION_MAKE_PAIR + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS(N, typename K) + , BOOST_PP_ENUM_PARAMS(N, typename D) + > + #define TEXT(z, n, text) , text + struct make_map + #undef TEXT + { + typedef map type; + }; + } + + template < + BOOST_PP_ENUM_PARAMS(N, typename K) + , BOOST_PP_ENUM_PARAMS(N, typename D) + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map + make_map(BOOST_PP_ENUM_BINARY_PARAMS(N, D, const& arg)) + { + return map( + BOOST_PP_ENUM(N, BOOST_FUSION_MAKE_PAIR, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_make_set.hpp b/external/boost/fusion/container/generation/detail/pp_make_set.hpp new file mode 100644 index 000000000..f3f9a9e8f --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_make_set.hpp @@ -0,0 +1,134 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_MAKE_SET_09162005_1125) +#define FUSION_MAKE_SET_09162005_1125 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_set" FUSION_MAX_SET_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#define FUSION_HASH # +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + , typename Extra = void_ + > + struct make_set; + + template <> + struct make_set<> + { + typedef set<> type; + }; + } + + // XXX: +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH else + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#else + BOOST_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + inline set<> + make_set() + { + return set<>(); + } + +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_ELEMENT +#undef BOOST_FUSION_AS_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#undef FUSION_HASH +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) > + #undef TEXT + { + typedef set type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set + make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return set( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_make_vector.hpp b/external/boost/fusion/container/generation/detail/pp_make_vector.hpp new file mode 100644 index 000000000..b19cf3545 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_make_vector.hpp @@ -0,0 +1,115 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_MAKE_VECTOR_07162005_0243) +#define FUSION_MAKE_VECTOR_07162005_0243 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_vector" FUSION_MAX_VECTOR_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + , typename Extra = void_ + > + struct make_vector; + + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> + make_vector() + { + return vector0<>(); + } + +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_AS_FUSION_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > + #undef TEXT + { + typedef BOOST_PP_CAT(vector, N) type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline BOOST_PP_CAT(vector, N) + make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return BOOST_PP_CAT(vector, N)( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_map_tie.hpp b/external/boost/fusion/container/generation/detail/pp_map_tie.hpp new file mode 100644 index 000000000..1a53c9193 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_map_tie.hpp @@ -0,0 +1,133 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_PP_MAP_TIE_20060814_1116) +#define FUSION_PP_MAP_TIE_20060814_1116 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map_tie" FUSION_MAX_MAP_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_MAP_SIZE, typename K, void_) + , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_MAP_SIZE, typename D, void_) + , typename Extra = void_ + > + struct map_tie; + + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + map_tie() + { + return map<>(); + } + +#define BOOST_FUSION_TIED_PAIR(z, n, data) \ + fusion::pair< \ + BOOST_PP_CAT(K, n) \ + , typename add_reference::type> + +#define BOOST_FUSION_PAIR_TIE(z, n, _) \ + fusion::pair_tie(BOOST_PP_CAT(_, n)) \ + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_PAIR +#undef BOOST_FUSION_MAKE_PAIR + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS(N, typename K) + , BOOST_PP_ENUM_PARAMS(N, typename D) + > + #define TEXT(z, n, text) , text + struct map_tie + #undef TEXT + { + typedef map type; + }; + } + + template < + BOOST_PP_ENUM_PARAMS(N, typename K) + , BOOST_PP_ENUM_PARAMS(N, typename D) + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map + map_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, D, & arg)) + { + return map( + BOOST_PP_ENUM(N, BOOST_FUSION_PAIR_TIE, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/pp_vector_tie.hpp b/external/boost/fusion/container/generation/detail/pp_vector_tie.hpp new file mode 100644 index 000000000..132c38afe --- /dev/null +++ b/external/boost/fusion/container/generation/detail/pp_vector_tie.hpp @@ -0,0 +1,100 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_VECTOR_TIE_07192005_1242) +#define FUSION_VECTOR_TIE_07192005_1242 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_tie" FUSION_MAX_VECTOR_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + , typename Extra = void_ + > + struct vector_tie; + } + +#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_REF +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > + #undef TEXT + { + typedef vector type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) + { + return vector( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp new file mode 100644 index 000000000..7df3c52f0 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp new file mode 100644 index 000000000..7b50f3373 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0) + { + return deque( + arg0); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1) + { + return deque( + arg0 , arg1); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return deque( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return deque( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp new file mode 100644 index 000000000..fec7cec9a --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp @@ -0,0 +1,340 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0) + { + return deque( + arg0); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1) + { + return deque( + arg0 , arg1); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return deque( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return deque( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp new file mode 100644 index 000000000..701bba533 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp @@ -0,0 +1,500 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0) + { + return deque( + arg0); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1) + { + return deque( + arg0 , arg1); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return deque( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return deque( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp new file mode 100644 index 000000000..37c7297b1 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp @@ -0,0 +1,660 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0) + { + return deque( + arg0); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1) + { + return deque( + arg0 , arg1); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return deque( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return deque( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp new file mode 100644 index 000000000..c8ecd9f31 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp @@ -0,0 +1,820 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct deque_tie; + } + namespace result_of + { + template + struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0) + { + return deque( + arg0); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1) + { + return deque( + arg0 , arg1); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return deque( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return deque( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + namespace result_of + { + template + struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > + { + typedef deque type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) + { + return deque( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp new file mode 100644 index 000000000..22d3e45af --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_LIST_SIZE <= 10 +#include +#elif FUSION_MAX_LIST_SIZE <= 20 +#include +#elif FUSION_MAX_LIST_SIZE <= 30 +#include +#elif FUSION_MAX_LIST_SIZE <= 40 +#include +#elif FUSION_MAX_LIST_SIZE <= 50 +#include +#else +#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp new file mode 100644 index 000000000..31d424f77 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0) + { + return list( + arg0); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1) + { + return list( + arg0 , arg1); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return list( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return list( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp new file mode 100644 index 000000000..533579e11 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp @@ -0,0 +1,340 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0) + { + return list( + arg0); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1) + { + return list( + arg0 , arg1); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return list( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return list( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp new file mode 100644 index 000000000..3ba4c743d --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp @@ -0,0 +1,500 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0) + { + return list( + arg0); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1) + { + return list( + arg0 , arg1); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return list( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return list( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp new file mode 100644 index 000000000..d73997dec --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp @@ -0,0 +1,660 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0) + { + return list( + arg0); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1) + { + return list( + arg0 , arg1); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return list( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return list( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp new file mode 100644 index 000000000..96a36b3af --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp @@ -0,0 +1,820 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct list_tie; + } + namespace result_of + { + template + struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0) + { + return list( + arg0); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1) + { + return list( + arg0 , arg1); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return list( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return list( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + namespace result_of + { + template + struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > + { + typedef list type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) + { + return list( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp new file mode 100644 index 000000000..64cd623ac --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_DEQUE_SIZE <= 10 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 20 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 30 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 40 +#include +#elif FUSION_MAX_DEQUE_SIZE <= 50 +#include +#else +#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp new file mode 100644 index 000000000..c355cd633 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp @@ -0,0 +1,191 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type> + make_deque(T0 const& arg0) + { + return deque::type>( + arg0); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1) + { + return deque::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp new file mode 100644 index 000000000..2f09da5d5 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp @@ -0,0 +1,351 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type> + make_deque(T0 const& arg0) + { + return deque::type>( + arg0); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1) + { + return deque::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp new file mode 100644 index 000000000..1880f318a --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp @@ -0,0 +1,511 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type> + make_deque(T0 const& arg0) + { + return deque::type>( + arg0); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1) + { + return deque::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp new file mode 100644 index 000000000..d957025ca --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp @@ -0,0 +1,671 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type> + make_deque(T0 const& arg0) + { + return deque::type>( + arg0); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1) + { + return deque::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp new file mode 100644 index 000000000..45e40c8be --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp @@ -0,0 +1,831 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_deque; + template <> + struct make_deque<> + { + typedef deque<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> + make_deque() + { + return deque<>(); + } + namespace result_of + { + template + struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type> + make_deque(T0 const& arg0) + { + return deque::type>( + arg0); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1) + { + return deque::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + namespace result_of + { + template + struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > + { + typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) + { + return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp new file mode 100644 index 000000000..9940ffbbe --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_LIST_SIZE <= 10 +#include +#elif FUSION_MAX_LIST_SIZE <= 20 +#include +#elif FUSION_MAX_LIST_SIZE <= 30 +#include +#elif FUSION_MAX_LIST_SIZE <= 40 +#include +#elif FUSION_MAX_LIST_SIZE <= 50 +#include +#else +#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp new file mode 100644 index 000000000..afbc68cd3 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp @@ -0,0 +1,191 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type> + make_list(T0 const& arg0) + { + return list::type>( + arg0); + } + namespace result_of + { + template + struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1) + { + return list::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp new file mode 100644 index 000000000..8e7363fe0 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp @@ -0,0 +1,351 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type> + make_list(T0 const& arg0) + { + return list::type>( + arg0); + } + namespace result_of + { + template + struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1) + { + return list::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp new file mode 100644 index 000000000..dfbb35f17 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp @@ -0,0 +1,511 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type> + make_list(T0 const& arg0) + { + return list::type>( + arg0); + } + namespace result_of + { + template + struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1) + { + return list::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp new file mode 100644 index 000000000..159bab215 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp @@ -0,0 +1,671 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type> + make_list(T0 const& arg0) + { + return list::type>( + arg0); + } + namespace result_of + { + template + struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1) + { + return list::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp new file mode 100644 index 000000000..cf77330b4 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp @@ -0,0 +1,831 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_list; + template <> + struct make_list<> + { + typedef list<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> + make_list() + { + return list<>(); + } + namespace result_of + { + template + struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type> + make_list(T0 const& arg0) + { + return list::type>( + arg0); + } + namespace result_of + { + template + struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1) + { + return list::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + namespace result_of + { + template + struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > + { + typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) + { + return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp new file mode 100644 index 000000000..d3068b927 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_MAP_SIZE <= 10 +#include +#elif FUSION_MAX_MAP_SIZE <= 20 +#include +#elif FUSION_MAX_MAP_SIZE <= 30 +#include +#elif FUSION_MAX_MAP_SIZE <= 40 +#include +#elif FUSION_MAX_MAP_SIZE <= 50 +#include +#else +#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp new file mode 100644 index 000000000..f1da686e1 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp @@ -0,0 +1,252 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + make_map(D0 const& arg0) + { + return map::type> >( + fusion::make_pair(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp new file mode 100644 index 000000000..f7d765f10 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp @@ -0,0 +1,472 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + make_map(D0 const& arg0) + { + return map::type> >( + fusion::make_pair(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp new file mode 100644 index 000000000..64dfe29b8 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp @@ -0,0 +1,692 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + make_map(D0 const& arg0) + { + return map::type> >( + fusion::make_pair(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp new file mode 100644 index 000000000..f424561f4 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp @@ -0,0 +1,912 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + make_map(D0 const& arg0) + { + return map::type> >( + fusion::make_pair(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp new file mode 100644 index 000000000..0f30e2111 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp @@ -0,0 +1,1132 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ + , typename Extra = void_ + > + struct make_map; + template <> + struct make_map<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + make_map() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct make_map + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + make_map(D0 const& arg0) + { + return map::type> >( + fusion::make_pair(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + struct make_map + { + typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48 , D49 const& arg49) + { + return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> >( + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48) , fusion::make_pair(arg49)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp new file mode 100644 index 000000000..1a6937132 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_SET_SIZE <= 10 +#include +#elif FUSION_MAX_SET_SIZE <= 20 +#include +#elif FUSION_MAX_SET_SIZE <= 30 +#include +#elif FUSION_MAX_SET_SIZE <= 40 +#include +#elif FUSION_MAX_SET_SIZE <= 50 +#include +#else +#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp new file mode 100644 index 000000000..361ec7302 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp @@ -0,0 +1,197 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type> + make_set(T0 const& arg0) + { + return set::type>( + arg0); + } + namespace result_of + { + template + struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1) + { + return set::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp new file mode 100644 index 000000000..22a3f2e0f --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp @@ -0,0 +1,357 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type> + make_set(T0 const& arg0) + { + return set::type>( + arg0); + } + namespace result_of + { + template + struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1) + { + return set::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp new file mode 100644 index 000000000..1d92ac053 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp @@ -0,0 +1,517 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type> + make_set(T0 const& arg0) + { + return set::type>( + arg0); + } + namespace result_of + { + template + struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1) + { + return set::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp new file mode 100644 index 000000000..1bf8810fa --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp @@ -0,0 +1,677 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type> + make_set(T0 const& arg0) + { + return set::type>( + arg0); + } + namespace result_of + { + template + struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1) + { + return set::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp new file mode 100644 index 000000000..b11c669c0 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp @@ -0,0 +1,837 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_set; + template <> + struct make_set<> + { + typedef set<> type; + }; + } + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> + make_set() + { + return set<>(); + } + namespace result_of + { + template + struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type> + make_set(T0 const& arg0) + { + return set::type>( + arg0); + } + namespace result_of + { + template + struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1) + { + return set::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + namespace result_of + { + template + struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > + { + typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) + { + return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp new file mode 100644 index 000000000..43e3db4d9 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp new file mode 100644 index 000000000..c38c78f03 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp @@ -0,0 +1,191 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector1::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector1::type> + make_vector(T0 const& arg0) + { + return vector1::type>( + arg0); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1) + { + return vector2::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp new file mode 100644 index 000000000..37e304877 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp @@ -0,0 +1,351 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector1::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector1::type> + make_vector(T0 const& arg0) + { + return vector1::type>( + arg0); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1) + { + return vector2::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp new file mode 100644 index 000000000..d63fd0908 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp @@ -0,0 +1,511 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector1::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector1::type> + make_vector(T0 const& arg0) + { + return vector1::type>( + arg0); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1) + { + return vector2::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > + { + typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > + { + typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > + { + typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > + { + typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp new file mode 100644 index 000000000..491de951f --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp @@ -0,0 +1,671 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector1::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector1::type> + make_vector(T0 const& arg0) + { + return vector1::type>( + arg0); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1) + { + return vector2::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > + { + typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > + { + typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > + { + typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > + { + typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp new file mode 100644 index 000000000..d9074df31 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp @@ -0,0 +1,831 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct make_vector; + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> + make_vector() + { + return vector0<>(); + } + namespace result_of + { + template + struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector1::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector1::type> + make_vector(T0 const& arg0) + { + return vector1::type>( + arg0); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector2::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector2::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1) + { + return vector2::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) + { + return vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) + { + return vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) + { + return vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) + { + return vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) + { + return vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) + { + return vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > + { + typedef vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) + { + return vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > + { + typedef vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) + { + return vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > + { + typedef vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) + { + return vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + namespace result_of + { + template + struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > + { + typedef vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) + { + return vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp new file mode 100644 index 000000000..d7480c280 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_MAP_SIZE <= 10 +#include +#elif FUSION_MAX_MAP_SIZE <= 20 +#include +#elif FUSION_MAX_MAP_SIZE <= 30 +#include +#elif FUSION_MAX_MAP_SIZE <= 40 +#include +#elif FUSION_MAX_MAP_SIZE <= 50 +#include +#else +#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp new file mode 100644 index 000000000..2bd38de9f --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp @@ -0,0 +1,252 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + map_tie(D0 & arg0) + { + return map::type> >( + fusion::pair_tie(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp new file mode 100644 index 000000000..db8f7af6f --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp @@ -0,0 +1,472 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + map_tie(D0 & arg0) + { + return map::type> >( + fusion::pair_tie(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp new file mode 100644 index 000000000..b9b0e8de8 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp @@ -0,0 +1,692 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + map_tie(D0 & arg0) + { + return map::type> >( + fusion::pair_tie(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp new file mode 100644 index 000000000..2ab7916e6 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp @@ -0,0 +1,912 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + map_tie(D0 & arg0) + { + return map::type> >( + fusion::pair_tie(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp new file mode 100644 index 000000000..6ce538910 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp @@ -0,0 +1,1132 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ + , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ + , typename Extra = void_ + > + struct map_tie; + template <> + struct map_tie<> + { + typedef map<> type; + }; + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> + map_tie() + { + return map<>(); + } + namespace result_of + { + template < + typename K0 + , typename D0 + > + struct map_tie + { + typedef map::type> > type; + }; + } + template < + typename K0 + , typename D0 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> > + map_tie(D0 & arg0) + { + return map::type> >( + fusion::pair_tie(arg0)); + } + namespace result_of + { + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 + , typename D0 , typename D1 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 + , typename D0 , typename D1 , typename D2 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 + , typename D0 , typename D1 , typename D2 , typename D3 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48)); + } + namespace result_of + { + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + struct map_tie + { + typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > type; + }; + } + template < + typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 + , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48 , D49 & arg49) + { + return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> >( + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48) , fusion::pair_tie(arg49)); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp new file mode 100644 index 000000000..2db73200a --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp new file mode 100644 index 000000000..dc9d8261c --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0) + { + return vector( + arg0); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1) + { + return vector( + arg0 , arg1); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return vector( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return vector( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp new file mode 100644 index 000000000..1a8838311 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp @@ -0,0 +1,340 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0) + { + return vector( + arg0); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1) + { + return vector( + arg0 , arg1); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return vector( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return vector( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp new file mode 100644 index 000000000..f964e97b9 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp @@ -0,0 +1,500 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0) + { + return vector( + arg0); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1) + { + return vector( + arg0 , arg1); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return vector( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return vector( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp new file mode 100644 index 000000000..193018d36 --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp @@ -0,0 +1,660 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0) + { + return vector( + arg0); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1) + { + return vector( + arg0 , arg1); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return vector( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return vector( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp new file mode 100644 index 000000000..91c9b115a --- /dev/null +++ b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp @@ -0,0 +1,820 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + namespace result_of + { + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + , typename Extra = void_ + > + struct vector_tie; + } + namespace result_of + { + template + struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0) + { + return vector( + arg0); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1) + { + return vector( + arg0 , arg1); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return vector( + arg0 , arg1 , arg2); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return vector( + arg0 , arg1 , arg2 , arg3); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + namespace result_of + { + template + struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > + { + typedef vector type; + }; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) + { + return vector( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/container/generation/ignore.hpp b/external/boost/fusion/container/generation/ignore.hpp new file mode 100644 index 000000000..781966322 --- /dev/null +++ b/external/boost/fusion/container/generation/ignore.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001 Doug Gregor + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_IGNORE_07192005_0329) +#define FUSION_IGNORE_07192005_0329 + +#include + +namespace boost { namespace fusion +{ + // Swallows any assignment (by Doug Gregor) + namespace detail + { + struct swallow_assign + { + template + BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED + swallow_assign const& + operator=(const T&) const + { + return *this; + } + }; + } + + // "ignore" allows tuple positions to be ignored when using "tie". + BOOST_CONSTEXPR_OR_CONST detail::swallow_assign ignore = detail::swallow_assign(); +}} + +#endif diff --git a/external/boost/fusion/container/generation/list_tie.hpp b/external/boost/fusion/container/generation/list_tie.hpp new file mode 100644 index 000000000..919071674 --- /dev/null +++ b/external/boost/fusion/container/generation/list_tie.hpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_LIST_TIE_06182015_0825 +#define FUSION_LIST_TIE_06182015_0825 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct list_tie + { + typedef list type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T&... arg) + { + return list(arg...); + } +}} + +#endif + +#endif + diff --git a/external/boost/fusion/container/generation/make_cons.hpp b/external/boost/fusion/container/generation/make_cons.hpp new file mode 100644 index 000000000..616f11054 --- /dev/null +++ b/external/boost/fusion/container/generation/make_cons.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAKE_CONS_07172005_0918) +#define FUSION_MAKE_CONS_07172005_0918 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + + namespace result_of + { + template + struct make_cons + { + typedef cons::type, Cdr> type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline cons::type> + make_cons(Car const& car) + { + return cons::type>(car); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline cons::type, Cdr> + make_cons(Car const& car, Cdr const& cdr) + { + return cons::type, Cdr>(car, cdr); + } +}} + +#endif + diff --git a/external/boost/fusion/container/generation/make_deque.hpp b/external/boost/fusion/container/generation/make_deque.hpp new file mode 100644 index 000000000..cb802f9ae --- /dev/null +++ b/external/boost/fusion/container/generation/make_deque.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAKE_DEQUE_01272013_1401) +#define FUSION_MAKE_DEQUE_01272013_1401 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// + +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct make_deque + { + typedef deque::type...> type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque::type...> + make_deque(T const&... arg) + { + return deque::type...>(arg...); + } + }} + +#endif +#endif + diff --git a/external/boost/fusion/container/generation/make_list.hpp b/external/boost/fusion/container/generation/make_list.hpp new file mode 100644 index 000000000..e88f553a2 --- /dev/null +++ b/external/boost/fusion/container/generation/make_list.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_MAKE_LIST_10262014_0647 +#define FUSION_MAKE_LIST_10262014_0647 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// + +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct make_list + { + typedef list::type...> type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::make_list::type + make_list(T const&... arg) + { + return typename result_of::make_list::type(arg...); + } + }} + + +#endif +#endif + diff --git a/external/boost/fusion/container/generation/make_map.hpp b/external/boost/fusion/container/generation/make_map.hpp new file mode 100644 index 000000000..a6538f814 --- /dev/null +++ b/external/boost/fusion/container/generation/make_map.hpp @@ -0,0 +1,64 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAKE_MAP_07222005_1247) +#define FUSION_MAKE_MAP_07222005_1247 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct make_map + { + template + struct apply + { + typedef map< + fusion::pair< + Key + , typename detail::as_fusion_element::type + >...> + type; + }; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map< + fusion::pair< + Key + , typename detail::as_fusion_element::type + >...> + make_map(T const&... arg) + { + typedef map< + fusion::pair< + Key + , typename detail::as_fusion_element::type + >...> + result_type; + + return result_type(arg...); + } + }} + +#endif +#endif diff --git a/external/boost/fusion/container/generation/make_set.hpp b/external/boost/fusion/container/generation/make_set.hpp new file mode 100644 index 000000000..cd8519e54 --- /dev/null +++ b/external/boost/fusion/container/generation/make_set.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_MAKE_SET_11112014_2255 +#define FUSION_MAKE_SET_11112014_2255 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct make_set + { + typedef set< + typename detail::as_fusion_element< + typename remove_const< + typename remove_reference::type + >::type + >::type... + > type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::make_set::type + make_set(T&&... arg) + { + return typename result_of::make_set::type(std::forward(arg)...); + } + }} + + +#endif +#endif + diff --git a/external/boost/fusion/container/generation/make_vector.hpp b/external/boost/fusion/container/generation/make_vector.hpp new file mode 100644 index 000000000..4e4bcb2de --- /dev/null +++ b/external/boost/fusion/container/generation/make_vector.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_MAKE_VECTOR_11112014_2252 +#define FUSION_MAKE_VECTOR_11112014_2252 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct make_vector + { + typedef vector< + typename detail::as_fusion_element< + typename remove_const< + typename remove_reference::type + >::type + >::type... + > type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::make_vector::type + make_vector(T&&... arg) + { + return typename result_of::make_vector::type(std::forward(arg)...); + } + }} + + +#endif +#endif + diff --git a/external/boost/fusion/container/generation/map_tie.hpp b/external/boost/fusion/container/generation/map_tie.hpp new file mode 100644 index 000000000..259eee5fd --- /dev/null +++ b/external/boost/fusion/container/generation/map_tie.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_TIE_07222005_1247) +#define FUSION_MAP_TIE_07222005_1247 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct map_tie + { + template + struct apply + { + typedef map...> type; + }; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map...> + map_tie(T&... arg) + { + typedef map...> result_type; + return result_type(arg...); + } + }} + +#endif +#endif diff --git a/external/boost/fusion/container/generation/pair_tie.hpp b/external/boost/fusion/container/generation/pair_tie.hpp new file mode 100644 index 000000000..2ba128f55 --- /dev/null +++ b/external/boost/fusion/container/generation/pair_tie.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined (BOOST_FUSION_PAIR_TIE_20060812_2058) +#define BOOST_FUSION_PAIR_TIE_20060812_2058 + +#include +#include +#include + +namespace boost { namespace fusion { + + template + struct pair; + + namespace result_of + { + template + struct pair_tie + { + typedef fusion::pair type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename disable_if, typename result_of::pair_tie::type>::type + pair_tie(T& t) + { + return typename result_of::pair_tie::type(t); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::pair_tie::type + pair_tie(T const& t) + { + return typename result_of::pair_tie::type(t); + } +}} + +#endif diff --git a/external/boost/fusion/container/generation/vector_tie.hpp b/external/boost/fusion/container/generation/vector_tie.hpp new file mode 100644 index 000000000..5d7cb98bc --- /dev/null +++ b/external/boost/fusion/container/generation/vector_tie.hpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR_TIE_11112014_2302 +#define FUSION_VECTOR_TIE_11112014_2302 + +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct vector_tie + { + typedef vector type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(T&... arg) + { + return vector(arg...); + } + }} + + +#endif +#endif + diff --git a/external/boost/fusion/container/list.hpp b/external/boost/fusion/container/list.hpp new file mode 100644 index 000000000..e3a1d8eff --- /dev/null +++ b/external/boost/fusion/container/list.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_CLASS_LIST_10022005_0605) +#define FUSION_SEQUENCE_CLASS_LIST_10022005_0605 + +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/container/list/cons.hpp b/external/boost/fusion/container/list/cons.hpp new file mode 100644 index 000000000..0dd91b0c3 --- /dev/null +++ b/external/boost/fusion/container/list/cons.hpp @@ -0,0 +1,144 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONS_07172005_0843) +#define FUSION_CONS_07172005_0843 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_tag; + struct forward_traversal_tag; + struct fusion_sequence_tag; + + template + struct cons : sequence_base > + { + typedef mpl::int_ size; + typedef cons_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + typedef forward_traversal_tag category; + typedef Car car_type; + typedef Cdr cdr_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons() + : car(), cdr() {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons(typename detail::call_param::type in_car) + : car(in_car), cdr() {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons( + typename detail::call_param::type in_car + , typename detail::call_param::type in_cdr) + : car(in_car), cdr(in_cdr) {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons(cons const& rhs) + : car(rhs.car), cdr(rhs.cdr) {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons(cons const& rhs) + : car(rhs.car), cdr(rhs.cdr) {} + + template + BOOST_FUSION_GPU_ENABLED + cons( + Sequence const& seq + , typename boost::enable_if< + mpl::and_< + traits::is_sequence + , mpl::not_ > + , mpl::not_ > > // use copy to car instead + , detail::enabler_ + >::type = detail::enabler + ) + : car(*fusion::begin(seq)) + , cdr(fusion::next(fusion::begin(seq)), mpl::true_()) {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons(Iterator const& iter, mpl::true_ /*this_is_an_iterator*/) + : car(*iter) + , cdr(fusion::next(iter), mpl::true_()) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons& operator=(cons const& rhs) + { + car = rhs.car; + cdr = rhs.cdr; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons& operator=(cons const& rhs) + { + car = rhs.car; + cdr = rhs.cdr; + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if< + mpl::and_< + traits::is_sequence + , mpl::not_ > > + , cons&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type Iterator; + Iterator iter = fusion::begin(seq); + this->assign_from_iter(iter); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void assign_from_iter(Iterator const& iter) + { + car = *iter; + cdr.assign_from_iter(fusion::next(iter)); + } + + car_type car; + cdr_type cdr; + }; +}} + +#endif + diff --git a/external/boost/fusion/container/list/cons_fwd.hpp b/external/boost/fusion/container/list/cons_fwd.hpp new file mode 100644 index 000000000..547c42ca9 --- /dev/null +++ b/external/boost/fusion/container/list/cons_fwd.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_CONS_FWD_HPP_INCLUDED) +#define BOOST_FUSION_CONS_FWD_HPP_INCLUDED + +namespace boost { namespace fusion +{ + struct nil_; + #ifndef nil + typedef nil_ nil; + #endif + + template + struct cons; +}} + +#endif + diff --git a/external/boost/fusion/container/list/cons_iterator.hpp b/external/boost/fusion/container/list/cons_iterator.hpp new file mode 100644 index 000000000..58b7fd9e3 --- /dev/null +++ b/external/boost/fusion/container/list/cons_iterator.hpp @@ -0,0 +1,111 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONS_ITERATOR_07172005_0849) +#define FUSION_CONS_ITERATOR_07172005_0849 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + struct cons_iterator_tag; + struct forward_traversal_tag; + + template + struct cons_iterator_identity; + + template + struct cons_iterator : iterator_base > + { + typedef cons_iterator_tag fusion_tag; + typedef forward_traversal_tag category; + typedef Cons cons_type; + typedef cons_iterator_identity< + typename add_const::type> + identity; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(cons_type& in_cons) BOOST_NOEXCEPT + : cons(in_cons) {} + + cons_type& cons; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + cons_iterator& operator= (cons_iterator const&); + }; + + struct nil_iterator : iterator_base + { + typedef forward_traversal_tag category; + typedef cons_iterator_tag fusion_tag; + typedef nil_ cons_type; + typedef cons_iterator_identity< + add_const::type> + identity; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + nil_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit nil_iterator(nil_ const&) BOOST_NOEXCEPT {} + }; + + template <> + struct cons_iterator : nil_iterator + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} + }; + + template <> + struct cons_iterator : nil_iterator + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} + }; + + template <> + struct cons_iterator > : nil_iterator + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} + }; + + template <> + struct cons_iterator const> : nil_iterator + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::cons_iterator > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/container/list/convert.hpp b/external/boost/fusion/container/list/convert.hpp new file mode 100644 index 000000000..d85fafebd --- /dev/null +++ b/external/boost/fusion/container/list/convert.hpp @@ -0,0 +1,60 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_09232005_1215) +#define FUSION_CONVERT_09232005_1215 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_list + { + typedef typename + detail::build_cons< + typename result_of::begin::type + , typename result_of::end::type + > + build_cons; + + typedef typename build_cons::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return build_cons::call(fusion::begin(seq), fusion::end(seq)); + } + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_list::type + as_list(Sequence& seq) + { + return result_of::as_list::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_list::type + as_list(Sequence const& seq) + { + return result_of::as_list::call(seq); + } +}} + +#endif diff --git a/external/boost/fusion/container/list/detail/at_impl.hpp b/external/boost/fusion/container/list/detail/at_impl.hpp new file mode 100644 index 000000000..ab36665c1 --- /dev/null +++ b/external/boost/fusion/container/list/detail/at_impl.hpp @@ -0,0 +1,136 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_AT_IMPL_07172005_0726) +#define FUSION_AT_IMPL_07172005_0726 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace detail + { + template + struct cons_deref + { + typedef typename Cons::car_type type; + }; + + template + struct cons_advance + { + typedef typename + cons_advance::type::cdr_type + type; + }; + + template + struct cons_advance + { + typedef Cons type; + }; + + template + struct cons_advance + { + typedef typename Cons::cdr_type type; + }; + + template + struct cons_advance + { +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above + typedef typename Cons::cdr_type::cdr_type type; +#else + typedef typename Cons::cdr_type _a; + typedef typename _a::cdr_type type; +#endif + }; + + template + struct cons_advance + { +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above + typedef typename Cons::cdr_type::cdr_type::cdr_type type; +#else + typedef typename Cons::cdr_type _a; + typedef typename _a::cdr_type _b; + typedef typename _b::cdr_type type; +#endif + }; + + template + struct cons_advance + { +#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above + typedef typename Cons::cdr_type::cdr_type::cdr_type::cdr_type type; +#else + typedef typename Cons::cdr_type _a; + typedef typename _a::cdr_type _b; + typedef typename _b::cdr_type _c; + typedef typename _c::cdr_type type; +#endif + }; + } + + struct cons_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef typename detail::cons_deref< + typename detail::cons_advance::type>::type + element; + + typedef typename + mpl::if_< + is_const + , typename detail::cref_result::type + , typename detail::ref_result::type + >::type + type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Cons& s, mpl::int_) + { + return call(s.cdr, mpl::int_()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Cons& s, mpl::int_<0>) + { + return s.car; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return call(s, mpl::int_()); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/list/detail/begin_impl.hpp b/external/boost/fusion/container/list/detail/begin_impl.hpp new file mode 100644 index 000000000..088b382d1 --- /dev/null +++ b/external/boost/fusion/container/list/detail/begin_impl.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_07172005_0824) +#define FUSION_BEGIN_IMPL_07172005_0824 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + + struct cons_tag; + + template + struct cons; + + template + struct cons_iterator; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef cons_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& t) + { + return type(t); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/list/detail/build_cons.hpp b/external/boost/fusion/container/list/detail/build_cons.hpp new file mode 100644 index 000000000..206af1f13 --- /dev/null +++ b/external/boost/fusion/container/list/detail/build_cons.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BUILD_CONS_09232005_1222) +#define FUSION_BUILD_CONS_09232005_1222 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template < + typename First + , typename Last + , bool is_empty = result_of::equal_to::value> + struct build_cons; + + template + struct build_cons + { + typedef nil_ type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static nil_ + call(First const&, Last const&) + { + return nil_(); + } + }; + + template + struct build_cons + { + typedef + build_cons::type, Last> + next_build_cons; + + typedef cons< + typename result_of::value_of::type + , typename next_build_cons::type> + type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& f, Last const& l) + { + typename result_of::value_of::type v = *f; + return type(v, next_build_cons::call(fusion::next(f), l)); + } + }; + +}}} + +#endif diff --git a/external/boost/fusion/container/list/detail/convert_impl.hpp b/external/boost/fusion/container/list/detail/convert_impl.hpp new file mode 100644 index 000000000..ff010186a --- /dev/null +++ b/external/boost/fusion/container/list/detail/convert_impl.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09232005_1215) +#define FUSION_CONVERT_IMPL_09232005_1215 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename + detail::build_cons< + typename result_of::begin::type + , typename result_of::end::type + > + build_cons; + + typedef typename build_cons::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return build_cons::call(fusion::begin(seq), fusion::end(seq)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/limits.hpp b/external/boost/fusion/container/list/detail/cpp03/limits.hpp new file mode 100644 index 000000000..cc64ad722 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/limits.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LIST_LIMITS_07172005_0112) +#define FUSION_LIST_LIMITS_07172005_0112 + +#include + +#if !defined(FUSION_MAX_LIST_SIZE) +# define FUSION_MAX_LIST_SIZE 10 +#else +# if FUSION_MAX_LIST_SIZE < 3 +# undef FUSION_MAX_LIST_SIZE +# define FUSION_MAX_LIST_SIZE 10 +# endif +#endif + +#define FUSION_MAX_LIST_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_LIST_SIZE)) + +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list.hpp b/external/boost/fusion/container/list/detail/cpp03/list.hpp new file mode 100644 index 000000000..048d59b6b --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/list.hpp @@ -0,0 +1,104 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LIST_07172005_1153) +#define FUSION_LIST_07172005_1153 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list" FUSION_MAX_LIST_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : inherited_type(rhs) {} + + // Expand a couple of forwarding constructors for arguments + // of type (T0), (T0, T1), (T0, T1, T2) etc. Exanple: + // + // list( + // typename detail::call_param::type arg0 + // , typename detail::call_param::type arg1) + // : inherited_type(list_to_cons::call(arg0, arg1)) {} + #include + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp b/external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp new file mode 100644 index 000000000..f9a706786 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_LIST_FORWARD_CTOR_07172005_0113) +#define FUSION_LIST_FORWARD_CTOR_07172005_0113 + +#include +#include +#include +#include +#include + +#define FUSION_LIST_CTOR_MAKE_CONS(z, n, type) tie_cons(BOOST_PP_CAT(_, n) +#define FUSION_LIST_CL_PAREN(z, n, type) ) + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) +#include BOOST_PP_ITERATE() + +#undef FUSION_LIST_CTOR_MAKE_CONS +#undef FUSION_LIST_CL_PAREN + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#define N BOOST_PP_ITERATION() + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +#if N == 1 + explicit +#endif + list(BOOST_PP_ENUM_BINARY_PARAMS( + N, typename detail::call_param::type arg)) + : inherited_type(list_to_cons::call(BOOST_PP_ENUM_PARAMS(N, arg))) + {} + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp new file mode 100644 index 000000000..cedc70034 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LIST_FORWARD_07172005_0224) +#define FUSION_LIST_FORWARD_07172005_0224 + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list" FUSION_MAX_LIST_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_LIST_SIZE, typename T, void_) + > + struct list; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp b/external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp new file mode 100644 index 000000000..989e91abe --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp @@ -0,0 +1,76 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LIST_TO_CONS_07172005_1041) +#define FUSION_LIST_TO_CONS_07172005_1041 + +#include +#include +#include +#include +#include +#include +#include + +#define FUSION_VOID(z, n, _) void_ + +namespace boost { namespace fusion +{ + struct nil_; + struct void_; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + + typedef cons type; + + #include + }; + + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef FUSION_VOID +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp b/external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp new file mode 100644 index 000000000..e49db4a84 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_LIST_TO_CONS_CALL_07192005_0138) +#define FUSION_LIST_TO_CONS_CALL_07192005_0138 + +#include +#include +#include + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) +#include BOOST_PP_ITERATE() + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#define N BOOST_PP_ITERATION() + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(BOOST_PP_ENUM_BINARY_PARAMS( + N, typename detail::call_param::type arg)) + { + return type(arg0 +#if N > 1 + , tail_list_to_cons::call(BOOST_PP_ENUM_SHIFTED_PARAMS(N, arg))); +#else + ); +#endif + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp new file mode 100644 index 000000000..7af66f496 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_LIST_SIZE <= 10 +#include +#elif FUSION_MAX_LIST_SIZE <= 20 +#include +#elif FUSION_MAX_LIST_SIZE <= 30 +#include +#elif FUSION_MAX_LIST_SIZE <= 40 +#include +#elif FUSION_MAX_LIST_SIZE <= 50 +#include +#else +#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp new file mode 100644 index 000000000..818dc5286 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp @@ -0,0 +1,100 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp new file mode 100644 index 000000000..f513a9919 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + > + struct list; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp new file mode 100644 index 000000000..3c3c3f6c5 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp @@ -0,0 +1,140 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp new file mode 100644 index 000000000..2eedc8b29 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + > + struct list; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp new file mode 100644 index 000000000..143dce676 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp new file mode 100644 index 000000000..32bfc606f --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + > + struct list; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp new file mode 100644 index 000000000..00e16041d --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp @@ -0,0 +1,220 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp new file mode 100644 index 000000000..5d0da6df4 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + > + struct list; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp new file mode 100644 index 000000000..b948f40a6 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp @@ -0,0 +1,260 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp new file mode 100644 index 000000000..2b3ae66cb --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + > + struct list; +}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp new file mode 100644 index 000000000..8a4037da4 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_LIST_SIZE <= 10 +#include +#elif FUSION_MAX_LIST_SIZE <= 20 +#include +#elif FUSION_MAX_LIST_SIZE <= 30 +#include +#elif FUSION_MAX_LIST_SIZE <= 40 +#include +#elif FUSION_MAX_LIST_SIZE <= 50 +#include +#else +#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp new file mode 100644 index 000000000..d9ee9bb24 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_LIST_SIZE <= 10 +#include +#elif FUSION_MAX_LIST_SIZE <= 20 +#include +#elif FUSION_MAX_LIST_SIZE <= 30 +#include +#elif FUSION_MAX_LIST_SIZE <= 40 +#include +#elif FUSION_MAX_LIST_SIZE <= 50 +#include +#else +#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp new file mode 100644 index 000000000..a98a8cc55 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp @@ -0,0 +1,96 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp new file mode 100644 index 000000000..3adce01d8 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp @@ -0,0 +1,166 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp new file mode 100644 index 000000000..7a834a706 --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp @@ -0,0 +1,236 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp new file mode 100644 index 000000000..731782dbf --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp @@ -0,0 +1,306 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp new file mode 100644 index 000000000..e25371b5a --- /dev/null +++ b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp @@ -0,0 +1,376 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/external/boost/fusion/container/list/detail/deref_impl.hpp b/external/boost/fusion/container/list/detail/deref_impl.hpp new file mode 100644 index 000000000..3358a2a2f --- /dev/null +++ b/external/boost/fusion/container/list/detail/deref_impl.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_IMPL_07172005_0831) +#define FUSION_DEREF_IMPL_07172005_0831 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename Iterator::cons_type cons_type; + typedef typename cons_type::car_type value_type; + + typedef typename mpl::eval_if< + is_const + , add_reference::type> + , add_reference >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return i.cons.car; + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/container/list/detail/empty_impl.hpp b/external/boost/fusion/container/list/detail/empty_impl.hpp new file mode 100644 index 000000000..e25eab0bc --- /dev/null +++ b/external/boost/fusion/container/list/detail/empty_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_tag; + + struct nil_; + + template + struct cons; + + namespace extension + { + template + struct empty_impl; + + template <> + struct empty_impl + { + template + struct apply + : boost::is_convertible + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/list/detail/end_impl.hpp b/external/boost/fusion/container/list/detail/end_impl.hpp new file mode 100644 index 000000000..6ed05a5f3 --- /dev/null +++ b/external/boost/fusion/container/list/detail/end_impl.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_07172005_0828) +#define FUSION_END_IMPL_07172005_0828 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + + struct cons_tag; + + template + struct cons; + + template + struct cons_iterator; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef cons_iterator< + typename mpl::if_, nil_ const, nil_>::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence&) + { + return type(); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/list/detail/equal_to_impl.hpp b/external/boost/fusion/container/list/detail/equal_to_impl.hpp new file mode 100644 index 000000000..a0fc297fc --- /dev/null +++ b/external/boost/fusion/container/list/detail/equal_to_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EQUAL_TO_IMPL_09172005_1120) +#define FUSION_EQUAL_TO_IMPL_09172005_1120 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_iterator_tag; + + namespace extension + { + template + struct equal_to_impl; + + template <> + struct equal_to_impl + { + template + struct apply + : is_same< + typename I1::identity + , typename I2::identity + > + { + }; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/container/list/detail/list_to_cons.hpp b/external/boost/fusion/container/list/detail/list_to_cons.hpp new file mode 100644 index 000000000..1ce1cfbaf --- /dev/null +++ b/external/boost/fusion/container/list/detail/list_to_cons.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_LIST_MAIN_10262014_0447 +#define FUSION_LIST_MAIN_10262014_0447 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons; + + template <> + struct list_to_cons<> + { + typedef nil_ type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call() { return type(); } + }; + + template + struct list_to_cons + { + typedef Head head_type; + typedef list_to_cons tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + + typedef cons type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type _h, + typename detail::call_param::type ..._t) + { + return type(_h, tail_list_to_cons::call(_t...)); + } + }; +}}} + +#endif +#endif diff --git a/external/boost/fusion/container/list/detail/next_impl.hpp b/external/boost/fusion/container/list/detail/next_impl.hpp new file mode 100644 index 000000000..f766458be --- /dev/null +++ b/external/boost/fusion/container/list/detail/next_impl.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_IMPL_07172005_0836) +#define FUSION_NEXT_IMPL_07172005_0836 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_iterator_tag; + + template + struct cons_iterator; + + namespace extension + { + template + struct next_impl; + + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::cons_type cons_type; + typedef typename cons_type::cdr_type cdr_type; + + typedef cons_iterator< + typename mpl::eval_if< + is_const + , add_const + , mpl::identity + >::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.cons.cdr); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/container/list/detail/reverse_cons.hpp b/external/boost/fusion/container/list/detail/reverse_cons.hpp new file mode 100644 index 000000000..14905180f --- /dev/null +++ b/external/boost/fusion/container/list/detail/reverse_cons.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED) +#define BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + //////////////////////////////////////////////////////////////////////////// + template + struct reverse_cons; + + template + struct reverse_cons, State> + { + typedef reverse_cons > impl; + typedef typename impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(cons const &cons, State const &state = State()) + { + typedef fusion::cons cdr_type; + return impl::call(cons.cdr, cdr_type(cons.car, state)); + } + }; + + template + struct reverse_cons + { + typedef State type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static State const &call(nil_ const &, State const &state = State()) + { + return state; + } + }; +}}} + +#endif diff --git a/external/boost/fusion/container/list/detail/value_at_impl.hpp b/external/boost/fusion/container/list/detail/value_at_impl.hpp new file mode 100644 index 000000000..8b288a12b --- /dev/null +++ b/external/boost/fusion/container/list/detail/value_at_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_AT_IMPL_07172005_0952) +#define FUSION_VALUE_AT_IMPL_07172005_0952 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef typename + mpl::eval_if< + mpl::bool_ + , mpl::identity + , apply > + >::type + type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/list/detail/value_of_impl.hpp b/external/boost/fusion/container/list/detail/value_of_impl.hpp new file mode 100644 index 000000000..9e7aa2085 --- /dev/null +++ b/external/boost/fusion/container/list/detail/value_of_impl.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_OF_IMPL_07172005_0838) +#define FUSION_VALUE_OF_IMPL_07172005_0838 + +namespace boost { namespace fusion +{ + struct cons_iterator_tag; + + namespace extension + { + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename Iterator::cons_type cons_type; + typedef typename cons_type::car_type type; + }; + }; + } + +}} + +#endif + + diff --git a/external/boost/fusion/container/list/list.hpp b/external/boost/fusion/container/list/list.hpp new file mode 100644 index 000000000..865a6d7de --- /dev/null +++ b/external/boost/fusion/container/list/list.hpp @@ -0,0 +1,127 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_LIST_10262014_0537 +#define FUSION_LIST_10262014_0537 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + + template <> + struct list<> + : detail::list_to_cons<>::type + { + private: + typedef detail::list_to_cons<> list_to_cons; + typedef list_to_cons::type inherited_type; + + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs) + : inherited_type(rhs) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } +#else + template + BOOST_FUSION_GPU_ENABLED + list(Sequence&& rhs) + : inherited_type(std::forward(rhs)) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(Sequence&& rhs) + { + inherited_type::operator=(std::forward(rhs)); + return *this; + } +#endif + }; + + template + struct list + : detail::list_to_cons::type + { + private: + typedef detail::list_to_cons list_to_cons; + typedef typename list_to_cons::type inherited_type; + + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs) + : inherited_type(rhs) {} +#else + template + BOOST_FUSION_GPU_ENABLED + list(Sequence&& rhs) + : inherited_type(std::forward(rhs)) {} +#endif + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type ...args) + : inherited_type(list_to_cons::call(args...)) {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } +#else + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(Sequence&& rhs) + { + inherited_type::operator=(std::forward(rhs)); + return *this; + } +#endif + }; +}} + +#endif +#endif diff --git a/external/boost/fusion/container/list/list_fwd.hpp b/external/boost/fusion/container/list/list_fwd.hpp new file mode 100644 index 000000000..c5f261926 --- /dev/null +++ b/external/boost/fusion/container/list/list_fwd.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_LIST_FORWARD_10262014_0528 +#define FUSION_LIST_FORWARD_10262014_0528 + +#include +#include + +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# undef BOOST_FUSION_HAS_VARIADIC_LIST +# endif +#else +# if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# define BOOST_FUSION_HAS_VARIADIC_LIST +# endif +#endif + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +namespace boost { namespace fusion +{ + struct void_; + + template + struct list; +}} + +#endif +#endif diff --git a/external/boost/fusion/container/list/nil.hpp b/external/boost/fusion/container/list/nil.hpp new file mode 100644 index 000000000..1b2c23498 --- /dev/null +++ b/external/boost/fusion/container/list/nil.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005, 2014 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NIL_04232014_0843) +#define FUSION_NIL_04232014_0843 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct void_; + struct cons_tag; + struct forward_traversal_tag; + struct fusion_sequence_tag; + + struct nil_ : sequence_base + { + typedef mpl::int_<0> size; + typedef cons_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + typedef forward_traversal_tag category; + typedef void_ car_type; + typedef void_ cdr_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + nil_() BOOST_NOEXCEPT {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/) BOOST_NOEXCEPT + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void assign_from_iter(Iterator const& /*iter*/) BOOST_NOEXCEPT + { + } + }; +}} + +#endif + diff --git a/external/boost/fusion/container/map.hpp b/external/boost/fusion/container/map.hpp new file mode 100644 index 000000000..959988981 --- /dev/null +++ b/external/boost/fusion/container/map.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_CLASS_MAP_10022005_0606) +#define FUSION_SEQUENCE_CLASS_MAP_10022005_0606 + +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/container/map/convert.hpp b/external/boost/fusion/container/map/convert.hpp new file mode 100644 index 000000000..10431c849 --- /dev/null +++ b/external/boost/fusion/container/map/convert.hpp @@ -0,0 +1,117 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_MAIN_09232005_1340) +#define FUSION_CONVERT_MAIN_09232005_1340 + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct pair_from + { + typedef typename result_of::value_of::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type call(It const& it) + { + return *it; + } + }; + + template + struct pair_from + { + typedef typename result_of::key_of::type key_type; + typedef typename result_of::value_of_data::type data_type; + typedef typename fusion::pair type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type call(It const& it) + { + return type(deref_data(it)); + } + }; +}}} + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# include + +#else +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic implementation +/////////////////////////////////////////////////////////////////////////////// +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_map : + detail::build_map< + typename result_of::begin::type + , typename result_of::end::type + , is_base_of< + associative_tag + , typename traits::category_of::type>::value + > + { + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_map::type + as_map(Sequence& seq) + { + typedef result_of::as_map gen; + return gen::call(fusion::begin(seq), fusion::end(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_map::type + as_map(Sequence const& seq) + { + typedef result_of::as_map gen; + return gen::call(fusion::begin(seq), fusion::end(seq)); + } + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename + result_of::as_map::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + typedef result_of::as_map gen; + return gen::call(fusion::begin(seq), fusion::end(seq)); + } + }; + }; + } +}} + +#endif +#endif + diff --git a/external/boost/fusion/container/map/detail/at_impl.hpp b/external/boost/fusion/container/map/detail/at_impl.hpp new file mode 100644 index 000000000..ab35870ff --- /dev/null +++ b/external/boost/fusion/container/map/detail/at_impl.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821) +#define BOOST_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef mpl::int_ index; + typedef + decltype(boost::declval().get(index())) + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& m) + { + return m.get(index()); + } + }; + + template + struct apply + { + typedef mpl::int_ index; + typedef + decltype(boost::declval().get(index())) + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence const& m) + { + return m.get(index()); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/map/detail/at_key_impl.hpp b/external/boost/fusion/container/map/detail/at_key_impl.hpp new file mode 100644 index 000000000..a546bd00c --- /dev/null +++ b/external/boost/fusion/container/map/detail/at_key_impl.hpp @@ -0,0 +1,62 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_DETAIL_AT_KEY_IMPL_02042013_0821) +#define BOOST_FUSION_MAP_DETAIL_AT_KEY_IMPL_02042013_0821 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct at_key_impl; + + template <> + struct at_key_impl + { + template + struct apply + { + typedef + decltype(boost::declval().get(mpl::identity())) + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& m) + { + return m.get(mpl::identity()); + } + }; + + template + struct apply + { + typedef + decltype(boost::declval().get(mpl::identity())) + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence const& m) + { + return m.get(mpl::identity()); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/map/detail/begin_impl.hpp b/external/boost/fusion/container/map/detail/begin_impl.hpp new file mode 100644 index 000000000..65b39d1f0 --- /dev/null +++ b/external/boost/fusion/container/map/detail/begin_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857) +#define BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857 + +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct begin_impl; + + template<> + struct begin_impl + { + template + struct apply + { + typedef map_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return type(seq); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/map/detail/build_map.hpp b/external/boost/fusion/container/map/detail/build_map.hpp new file mode 100644 index 000000000..d8f3f33fd --- /dev/null +++ b/external/boost/fusion/container/map/detail/build_map.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_MAP_02042013_1448) +#define BOOST_FUSION_BUILD_MAP_02042013_1448 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template ::value + > + struct build_map; + + template + struct build_map + { + typedef map<> type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + + template + struct push_front_map; + + template + struct push_front_map> + { + typedef map type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(T const& first, map const& rest) + { + return type(push_front(rest, first)); + } + }; + + template + struct build_map + { + typedef + build_map::type, Last, is_assoc> + next_build_map; + + typedef push_front_map< + typename pair_from::type + , typename next_build_map::type> + push_front; + + typedef typename push_front::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& f, Last const& l) + { + return push_front::call( + pair_from::call(f) + , next_build_map::call(fusion::next(f), l)); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/as_map.hpp b/external/boost/fusion/container/map/detail/cpp03/as_map.hpp new file mode 100644 index 000000000..efa836ba0 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/as_map.hpp @@ -0,0 +1,143 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_AS_MAP_0932005_1339) +#define FUSION_AS_MAP_0932005_1339 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template + struct as_map; + + template + struct as_map<0, is_assoc> + { + template + struct apply + { + typedef map<> type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator) + { + return map<>(); + } + }; + +BOOST_FUSION_BARRIER_END +}}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_map" FUSION_MAX_MAP_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + +#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::next::type \ + BOOST_PP_CAT(I, BOOST_PP_INC(n)); + +#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ + typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ + BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); + +#define BOOST_FUSION_PAIR_FROM_ITERATOR(z, n, data) \ + typedef pair_from BOOST_PP_CAT(D, n); \ + typedef typename BOOST_PP_CAT(D, n)::type BOOST_PP_CAT(T, n); + +#define BOOST_FUSION_DREF_CALL_ITERATOR(z, n, data) \ + gen::BOOST_PP_CAT(D, n)::call(BOOST_PP_CAT(i, n)) + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_NEXT_ITERATOR +#undef BOOST_FUSION_NEXT_CALL_ITERATOR +#undef BOOST_FUSION_PAIR_FROM_ITERATOR +#undef BOOST_FUSION_DREF_CALL_ITERATOR + +BOOST_FUSION_BARRIER_END +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template + struct as_map + { + template + struct apply + { + BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_ITERATOR, _) + BOOST_PP_REPEAT(N, BOOST_FUSION_PAIR_FROM_ITERATOR, _) + typedef map type; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) + return result(BOOST_PP_ENUM(N, BOOST_FUSION_DREF_CALL_ITERATOR, _)); + } + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/map/detail/cpp03/at_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/at_impl.hpp new file mode 100644 index 000000000..b1044d7d8 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/at_impl.hpp @@ -0,0 +1,64 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Brandon Kohn + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP) +#define BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef typename + mpl::at::type + element; + typedef typename detail::ref_result::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& m) + { + return m.get_data().at_impl(N()); + } + }; + + template + struct apply + { + typedef typename + mpl::at::type + element; + typedef typename detail::cref_result::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence const& m) + { + return m.get_data().at_impl(N()); + } + }; + }; + } +}} + +#endif //BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP diff --git a/external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp new file mode 100644 index 000000000..6255ed88b --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef + basic_iterator< + map_iterator_tag + , typename Seq::category + , Seq + , 0 + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/convert.hpp b/external/boost/fusion/container/map/detail/cpp03/convert.hpp new file mode 100644 index 000000000..c5cc3bd6a --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/convert.hpp @@ -0,0 +1,57 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_09232005_1340) +#define FUSION_CONVERT_09232005_1340 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_map + { + typedef typename + detail::as_map< + result_of::size::value + , is_base_of< + associative_tag + , typename traits::category_of::type>::value + > + gen; + typedef typename gen:: + template apply::type>::type + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_map::type + as_map(Sequence& seq) + { + typedef typename result_of::as_map::gen gen; + return gen::call(fusion::begin(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_map::type + as_map(Sequence const& seq) + { + typedef typename result_of::as_map::gen gen; + return gen::call(fusion::begin(seq)); + } +}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp new file mode 100644 index 000000000..3a773d74d --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09232005_1340) +#define FUSION_CONVERT_IMPL_09232005_1340 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename + detail::as_map< + result_of::size::value + , is_base_of< + associative_tag + , typename traits::category_of::type>::value + > + gen; + typedef typename gen:: + template apply::type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp new file mode 100644 index 000000000..ccaa2910e --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename result_of::value_of::type::second_type data; + + typedef typename + mpl::if_< + is_const + , typename detail::cref_result::type + , typename detail::ref_result::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return fusion::deref(it).second; + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp new file mode 100644 index 000000000..7fa01c3ff --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP + +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::at< + typename mpl::if_< + is_const + , typename It::seq_type::storage_type const + , typename It::seq_type::storage_type + >::type + , typename It::index + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return fusion::at(it.seq->get_data()); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/end_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/end_impl.hpp new file mode 100644 index 000000000..2830b9557 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/end_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef + basic_iterator< + map_iterator_tag + , typename Seq::category + , Seq + , Seq::size::value + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp new file mode 100644 index 000000000..db3b4fff0 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + { + typedef typename + value_of_impl:: + template apply::type::first_type + type; + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/limits.hpp b/external/boost/fusion/container/map/detail/cpp03/limits.hpp new file mode 100644 index 000000000..1eaa528c4 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/limits.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_LIMITS_07212005_1104) +#define FUSION_MAP_LIMITS_07212005_1104 + +#include +#include + +#if !defined(FUSION_MAX_MAP_SIZE) +# define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE +#else +# if FUSION_MAX_MAP_SIZE < 3 +# undef FUSION_MAX_MAP_SIZE +# if (FUSION_MAX_VECTOR_SIZE > 10) +# define FUSION_MAX_MAP_SIZE 10 +# else +# define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE +# endif +# endif +#endif + +#define FUSION_MAX_MAP_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_MAP_SIZE)) + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/map.hpp b/external/boost/fusion/container/map/detail/cpp03/map.hpp new file mode 100644 index 000000000..3ff1d05d8 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/map.hpp @@ -0,0 +1,156 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_07212005_1106) +#define FUSION_MAP_07212005_1106 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ + defined(BOOST_MSVC) && (BOOST_MSVC == 1700) +// see map_forward_ctor.hpp +#include +#include +#endif + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +#define FUSION_HASH # + +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + + template + struct map : sequence_base > + { + struct category : random_access_traversal_tag, associative_tag {}; + + typedef map_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + + typedef vector< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_MAP_SIZE, T)> + storage_type; + + typedef typename storage_type::size size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map() + : data() {} + + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} + + template + BOOST_FUSION_GPU_ENABLED + map(Sequence const& rhs) + : data(rhs) {} + + #include + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T const& rhs) + { + data = rhs; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map const& rhs) + { + data = rhs.data; + return *this; + } + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = BOOST_FUSION_FWD_ELEM(T, rhs); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + + private: + + storage_type data; + }; +}} + +#undef FUSION_HASH + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp b/external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp new file mode 100644 index 000000000..18864e87d --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp @@ -0,0 +1,63 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_MAP_FORWARD_CTOR_07222005_0106) +#define FUSION_MAP_FORWARD_CTOR_07222005_0106 + +#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) +#include BOOST_PP_ITERATE() + +#undef FUSION_FORWARD_CTOR_FORWARD +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +#if N == 1 + explicit +#endif + map(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type arg)) + : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + template + BOOST_FUSION_GPU_ENABLED +#if N == 1 + explicit +#endif + map(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) && \ + N == 1 + // workaround for MSVC 10 +FUSION_HASH if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +FUSION_HASH endif +#endif + ) + : data(BOOST_PP_ENUM(N, FUSION_FORWARD_CTOR_FORWARD, arg)) {} +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp new file mode 100644 index 000000000..cf26fdddc --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_FORWARD_07212005_1105) +#define FUSION_MAP_FORWARD_07212005_1105 + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_MAP_SIZE, typename T, void_) + > + struct map; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp new file mode 100644 index 000000000..1d1be0804 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_MAP_SIZE <= 10 +#include +#elif FUSION_MAX_MAP_SIZE <= 20 +#include +#elif FUSION_MAX_MAP_SIZE <= 30 +#include +#elif FUSION_MAX_MAP_SIZE <= 40 +#include +#elif FUSION_MAX_MAP_SIZE <= 50 +#include +#else +#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp new file mode 100644 index 000000000..eea163323 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp @@ -0,0 +1,223 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template + struct as_map<1, is_assoc> + { + template + struct apply + { + + typedef pair_from D0; typedef typename D0::type T0; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(gen::D0::call(i0)); + } + }; + template + struct as_map<2, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(gen::D0::call(i0) , gen::D1::call(i1)); + } + }; + template + struct as_map<3, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); + } + }; + template + struct as_map<4, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); + } + }; + template + struct as_map<5, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); + } + }; + template + struct as_map<6, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); + } + }; + template + struct as_map<7, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); + } + }; + template + struct as_map<8, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); + } + }; + template + struct as_map<9, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); + } + }; + template + struct as_map<10, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp new file mode 100644 index 000000000..ec5003a16 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp @@ -0,0 +1,433 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template + struct as_map<1, is_assoc> + { + template + struct apply + { + + typedef pair_from D0; typedef typename D0::type T0; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(gen::D0::call(i0)); + } + }; + template + struct as_map<2, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(gen::D0::call(i0) , gen::D1::call(i1)); + } + }; + template + struct as_map<3, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); + } + }; + template + struct as_map<4, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); + } + }; + template + struct as_map<5, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); + } + }; + template + struct as_map<6, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); + } + }; + template + struct as_map<7, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); + } + }; + template + struct as_map<8, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); + } + }; + template + struct as_map<9, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); + } + }; + template + struct as_map<10, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); + } + }; + template + struct as_map<11, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); + } + }; + template + struct as_map<12, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); + } + }; + template + struct as_map<13, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); + } + }; + template + struct as_map<14, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); + } + }; + template + struct as_map<15, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); + } + }; + template + struct as_map<16, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); + } + }; + template + struct as_map<17, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); + } + }; + template + struct as_map<18, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); + } + }; + template + struct as_map<19, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); + } + }; + template + struct as_map<20, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp new file mode 100644 index 000000000..276c4026b --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp @@ -0,0 +1,643 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template + struct as_map<1, is_assoc> + { + template + struct apply + { + + typedef pair_from D0; typedef typename D0::type T0; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(gen::D0::call(i0)); + } + }; + template + struct as_map<2, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(gen::D0::call(i0) , gen::D1::call(i1)); + } + }; + template + struct as_map<3, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); + } + }; + template + struct as_map<4, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); + } + }; + template + struct as_map<5, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); + } + }; + template + struct as_map<6, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); + } + }; + template + struct as_map<7, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); + } + }; + template + struct as_map<8, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); + } + }; + template + struct as_map<9, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); + } + }; + template + struct as_map<10, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); + } + }; + template + struct as_map<11, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); + } + }; + template + struct as_map<12, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); + } + }; + template + struct as_map<13, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); + } + }; + template + struct as_map<14, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); + } + }; + template + struct as_map<15, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); + } + }; + template + struct as_map<16, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); + } + }; + template + struct as_map<17, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); + } + }; + template + struct as_map<18, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); + } + }; + template + struct as_map<19, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); + } + }; + template + struct as_map<20, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); + } + }; + template + struct as_map<21, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); + } + }; + template + struct as_map<22, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); + } + }; + template + struct as_map<23, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); + } + }; + template + struct as_map<24, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); + } + }; + template + struct as_map<25, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); + } + }; + template + struct as_map<26, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); + } + }; + template + struct as_map<27, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); + } + }; + template + struct as_map<28, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); + } + }; + template + struct as_map<29, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); + } + }; + template + struct as_map<30, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp new file mode 100644 index 000000000..a03ac13d0 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp @@ -0,0 +1,853 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template + struct as_map<1, is_assoc> + { + template + struct apply + { + + typedef pair_from D0; typedef typename D0::type T0; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(gen::D0::call(i0)); + } + }; + template + struct as_map<2, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(gen::D0::call(i0) , gen::D1::call(i1)); + } + }; + template + struct as_map<3, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); + } + }; + template + struct as_map<4, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); + } + }; + template + struct as_map<5, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); + } + }; + template + struct as_map<6, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); + } + }; + template + struct as_map<7, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); + } + }; + template + struct as_map<8, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); + } + }; + template + struct as_map<9, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); + } + }; + template + struct as_map<10, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); + } + }; + template + struct as_map<11, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); + } + }; + template + struct as_map<12, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); + } + }; + template + struct as_map<13, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); + } + }; + template + struct as_map<14, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); + } + }; + template + struct as_map<15, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); + } + }; + template + struct as_map<16, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); + } + }; + template + struct as_map<17, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); + } + }; + template + struct as_map<18, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); + } + }; + template + struct as_map<19, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); + } + }; + template + struct as_map<20, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); + } + }; + template + struct as_map<21, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); + } + }; + template + struct as_map<22, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); + } + }; + template + struct as_map<23, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); + } + }; + template + struct as_map<24, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); + } + }; + template + struct as_map<25, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); + } + }; + template + struct as_map<26, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); + } + }; + template + struct as_map<27, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); + } + }; + template + struct as_map<28, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); + } + }; + template + struct as_map<29, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); + } + }; + template + struct as_map<30, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); + } + }; + template + struct as_map<31, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30)); + } + }; + template + struct as_map<32, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31)); + } + }; + template + struct as_map<33, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32)); + } + }; + template + struct as_map<34, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33)); + } + }; + template + struct as_map<35, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34)); + } + }; + template + struct as_map<36, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35)); + } + }; + template + struct as_map<37, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36)); + } + }; + template + struct as_map<38, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37)); + } + }; + template + struct as_map<39, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38)); + } + }; + template + struct as_map<40, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39)); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp new file mode 100644 index 000000000..ab48551aa --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp @@ -0,0 +1,1063 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template + struct as_map<1, is_assoc> + { + template + struct apply + { + + typedef pair_from D0; typedef typename D0::type T0; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(gen::D0::call(i0)); + } + }; + template + struct as_map<2, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(gen::D0::call(i0) , gen::D1::call(i1)); + } + }; + template + struct as_map<3, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); + } + }; + template + struct as_map<4, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); + } + }; + template + struct as_map<5, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); + } + }; + template + struct as_map<6, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); + } + }; + template + struct as_map<7, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); + } + }; + template + struct as_map<8, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); + } + }; + template + struct as_map<9, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); + } + }; + template + struct as_map<10, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); + } + }; + template + struct as_map<11, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); + } + }; + template + struct as_map<12, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); + } + }; + template + struct as_map<13, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); + } + }; + template + struct as_map<14, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); + } + }; + template + struct as_map<15, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); + } + }; + template + struct as_map<16, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); + } + }; + template + struct as_map<17, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); + } + }; + template + struct as_map<18, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); + } + }; + template + struct as_map<19, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); + } + }; + template + struct as_map<20, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); + } + }; + template + struct as_map<21, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); + } + }; + template + struct as_map<22, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); + } + }; + template + struct as_map<23, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); + } + }; + template + struct as_map<24, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); + } + }; + template + struct as_map<25, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); + } + }; + template + struct as_map<26, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); + } + }; + template + struct as_map<27, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); + } + }; + template + struct as_map<28, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); + } + }; + template + struct as_map<29, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); + } + }; + template + struct as_map<30, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); + } + }; + template + struct as_map<31, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30)); + } + }; + template + struct as_map<32, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31)); + } + }; + template + struct as_map<33, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32)); + } + }; + template + struct as_map<34, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33)); + } + }; + template + struct as_map<35, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34)); + } + }; + template + struct as_map<36, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35)); + } + }; + template + struct as_map<37, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36)); + } + }; + template + struct as_map<38, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37)); + } + }; + template + struct as_map<39, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38)); + } + }; + template + struct as_map<40, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39)); + } + }; + template + struct as_map<41, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40)); + } + }; + template + struct as_map<42, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41)); + } + }; + template + struct as_map<43, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42)); + } + }; + template + struct as_map<44, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43)); + } + }; + template + struct as_map<45, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44)); + } + }; + template + struct as_map<46, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45)); + } + }; + template + struct as_map<47, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46)); + } + }; + template + struct as_map<48, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47)); + } + }; + template + struct as_map<49, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; typedef pair_from D48; typedef typename D48::type T48; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47) , gen::D48::call(i48)); + } + }; + template + struct as_map<50, is_assoc> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; + typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; typedef pair_from D48; typedef typename D48::type T48; typedef pair_from D49; typedef typename D49::type T49; + typedef map type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); + return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47) , gen::D48::call(i48) , gen::D49::call(i49)); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp new file mode 100644 index 000000000..c6cd526a6 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_MAP_SIZE <= 10 +#include +#elif FUSION_MAX_MAP_SIZE <= 20 +#include +#elif FUSION_MAX_MAP_SIZE <= 30 +#include +#elif FUSION_MAX_MAP_SIZE <= 40 +#include +#elif FUSION_MAX_MAP_SIZE <= 50 +#include +#else +#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp new file mode 100644 index 000000000..9721bb624 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp @@ -0,0 +1,178 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct map : sequence_base > + { + struct category : random_access_traversal_tag, associative_tag {}; + typedef map_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map() + : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} + template + BOOST_FUSION_GPU_ENABLED + map(Sequence const& rhs) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map const& rhs) + { + data = rhs.data; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp new file mode 100644 index 000000000..cd9292e3f --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + > + struct map; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp new file mode 100644 index 000000000..88075f454 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp @@ -0,0 +1,278 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct map : sequence_base > + { + struct category : random_access_traversal_tag, associative_tag {}; + typedef map_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map() + : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} + template + BOOST_FUSION_GPU_ENABLED + map(Sequence const& rhs) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map const& rhs) + { + data = rhs.data; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp new file mode 100644 index 000000000..0ff5fa50c --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + > + struct map; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp new file mode 100644 index 000000000..78730efc6 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp @@ -0,0 +1,378 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct map : sequence_base > + { + struct category : random_access_traversal_tag, associative_tag {}; + typedef map_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map() + : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} + template + BOOST_FUSION_GPU_ENABLED + map(Sequence const& rhs) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map const& rhs) + { + data = rhs.data; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp new file mode 100644 index 000000000..d9be47ab4 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + > + struct map; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp new file mode 100644 index 000000000..2bfcdb57c --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp @@ -0,0 +1,478 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct map : sequence_base > + { + struct category : random_access_traversal_tag, associative_tag {}; + typedef map_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map() + : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} + template + BOOST_FUSION_GPU_ENABLED + map(Sequence const& rhs) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map const& rhs) + { + data = rhs.data; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp new file mode 100644 index 000000000..c2b40e1ce --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + > + struct map; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp new file mode 100644 index 000000000..ec2792641 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp @@ -0,0 +1,578 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct map : sequence_base > + { + struct category : random_access_traversal_tag, associative_tag {}; + typedef map_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map() + : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} + template + BOOST_FUSION_GPU_ENABLED + map(Sequence const& rhs) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + explicit + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map const& rhs) + { + data = rhs.data; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp new file mode 100644 index 000000000..6c107225a --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct map_tag; + struct map_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + > + struct map; +}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp new file mode 100644 index 000000000..2e66a4577 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_MAP_SIZE <= 10 +#include +#elif FUSION_MAX_MAP_SIZE <= 20 +#include +#elif FUSION_MAX_MAP_SIZE <= 30 +#include +#elif FUSION_MAX_MAP_SIZE <= 40 +#include +#elif FUSION_MAX_MAP_SIZE <= 50 +#include +#else +#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp new file mode 100644 index 000000000..2af55396c --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Brandon Kohn + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP) +#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef typename mpl::at::type type; + }; + }; + } +}} + +#endif //BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP diff --git a/external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp new file mode 100644 index 000000000..f6d24aed2 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + { + typedef typename + value_of_impl:: + template apply::type::second_type + type; + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp new file mode 100644 index 000000000..9b0f9a074 --- /dev/null +++ b/external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP + +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_at< + typename mpl::if_< + is_const + , typename It::seq_type::storage_type const + , typename It::seq_type::storage_type + >::type + , typename It::index + >::type + type; + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/end_impl.hpp b/external/boost/fusion/container/map/detail/end_impl.hpp new file mode 100644 index 000000000..50dec8efb --- /dev/null +++ b/external/boost/fusion/container/map/detail/end_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_END_IMPL_02042013_0857) +#define BOOST_FUSION_MAP_END_IMPL_02042013_0857 + +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct end_impl; + + template<> + struct end_impl + { + template + struct apply + { + typedef map_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return type(seq); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/map/detail/map_impl.hpp b/external/boost/fusion/container/map/detail/map_impl.hpp new file mode 100644 index 000000000..c62145ba0 --- /dev/null +++ b/external/boost/fusion/container/map/detail/map_impl.hpp @@ -0,0 +1,206 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_IMPL_02032013_2233) +#define BOOST_FUSION_MAP_IMPL_02032013_2233 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; +}} + +namespace boost { namespace fusion { namespace detail +{ + struct map_impl_from_iterator {}; + + template + struct map_impl; + + template + struct map_impl + { + typedef fusion_sequence_tag tag; + static int const index = index_; + static int const size = 0; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl() BOOST_NOEXCEPT {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void assign(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void get(); + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void get_val(); + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void get_key(); + }; + + template + struct map_impl : map_impl + { + typedef fusion_sequence_tag tag; + typedef map_impl rest_type; + + using rest_type::get; + using rest_type::get_val; + using rest_type::get_key; + + static int const index = index_; + static int const size = rest_type::size + 1; + + typedef Pair pair_type; + typedef typename Pair::first_type key_type; + typedef typename Pair::second_type value_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl() + : rest_type(), element() + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(map_impl const& rhs) + : rest_type(rhs.get_base()), element(rhs.element) + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(map_impl&& rhs) + : rest_type(BOOST_FUSION_FWD_ELEM(rest_type, *static_cast(&rhs))) + , element(BOOST_FUSION_FWD_ELEM(Pair, rhs.element)) + {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(map_impl const& rhs) + : rest_type(rhs.get_base()), element(rhs.element) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(typename detail::call_param::type element_ + , typename detail::call_param::type... rest) + : rest_type(rest...), element(element_) + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(Pair&& element_, T&&... rest) + : rest_type(BOOST_FUSION_FWD_ELEM(T, rest)...) + , element(BOOST_FUSION_FWD_ELEM(Pair, element_)) + {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(Iterator const& iter, map_impl_from_iterator fi) + : rest_type(fusion::next(iter), fi) + , element(*iter) + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + rest_type& get_base() + { + return *this; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + rest_type const& get_base() const + { + return *this; + } + + BOOST_FUSION_GPU_ENABLED + value_type get_val(mpl::identity); + BOOST_FUSION_GPU_ENABLED + pair_type get_val(mpl::int_); + BOOST_FUSION_GPU_ENABLED + value_type get_val(mpl::identity) const; + BOOST_FUSION_GPU_ENABLED + pair_type get_val(mpl::int_) const; + + BOOST_FUSION_GPU_ENABLED + mpl::identity get_key(mpl::int_); + BOOST_FUSION_GPU_ENABLED + mpl::identity get_key(mpl::int_) const; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename cref_result::type + get(mpl::identity) const + { + return element.second; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename ref_result::type + get(mpl::identity) + { + return element.second; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename cref_result::type + get(mpl::int_) const + { + return element; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename ref_result::type + get(mpl::int_) + { + return element; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl& operator=(map_impl const& rhs) + { + rest_type::operator=(rhs); + element = rhs.element; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl& operator=(map_impl const& rhs) + { + rest_type::operator=(rhs); + element = rhs.element; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl& operator=(map_impl&& rhs) + { + rest_type::operator=(std::forward(rhs)); + element = BOOST_FUSION_FWD_ELEM(Pair, rhs.element); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void assign(Iterator const& iter, map_impl_from_iterator fi) + { + rest_type::assign(fusion::next(iter), fi); + element = *iter; + } + + Pair element; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/map_index.hpp b/external/boost/fusion/container/map/detail/map_index.hpp new file mode 100644 index 000000000..9326cdeda --- /dev/null +++ b/external/boost/fusion/container/map/detail/map_index.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_INDEX_02032013_2233) +#define BOOST_FUSION_MAP_INDEX_02032013_2233 + +namespace boost { namespace fusion { namespace detail +{ + template + struct map_index + { + static int const value = N; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/map/detail/value_at_impl.hpp b/external/boost/fusion/container/map/detail/value_at_impl.hpp new file mode 100644 index 000000000..c51cc1254 --- /dev/null +++ b/external/boost/fusion/container/map/detail/value_at_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821) +#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef mpl::int_ index; + typedef + decltype(boost::declval().get_val(index())) + type; + }; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/container/map/detail/value_at_key_impl.hpp b/external/boost/fusion/container/map/detail/value_at_key_impl.hpp new file mode 100644 index 000000000..94d2da47a --- /dev/null +++ b/external/boost/fusion/container/map/detail/value_at_key_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_DETAIL_VALUE_AT_KEY_IMPL_02042013_0821) +#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_KEY_IMPL_02042013_0821 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct value_at_key_impl; + + template <> + struct value_at_key_impl + { + template + struct apply + { + typedef + decltype(boost::declval().get_val(mpl::identity())) + type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/map/map.hpp b/external/boost/fusion/container/map/map.hpp new file mode 100644 index 000000000..ec9e58d32 --- /dev/null +++ b/external/boost/fusion/container/map/map.hpp @@ -0,0 +1,134 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_MAIN_07212005_1106) +#define FUSION_MAP_MAIN_07212005_1106 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + template + struct map : detail::map_impl<0, T...>, sequence_base> + { + typedef map_tag fusion_tag; + typedef detail::map_impl<0, T...> base_type; + + struct category : random_access_traversal_tag, associative_tag {}; + typedef mpl::int_ size; + typedef mpl::false_ is_view; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map() {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map const& seq) + : base_type(seq.base()) + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& seq) + : base_type(std::forward(seq)) + {} + + template + BOOST_FUSION_GPU_ENABLED + map(Sequence const& seq + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base_type(begin(seq), detail::map_impl_from_iterator()) + {} + + template + BOOST_FUSION_GPU_ENABLED + map(Sequence& seq + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base_type(begin(seq), detail::map_impl_from_iterator()) + {} + + template + BOOST_FUSION_GPU_ENABLED + map(Sequence&& seq + , typename enable_if, detail::enabler_>::type = detail::enabler) + : base_type(begin(seq), detail::map_impl_from_iterator()) + {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(First const& first, T_ const&... rest) + : base_type(first, rest...) + {} + + template + BOOST_FUSION_GPU_ENABLED + map(First&& first, T_&&... rest) + : base_type(BOOST_FUSION_FWD_ELEM(First, first), BOOST_FUSION_FWD_ELEM(T_, rest)...) + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map const& rhs) + { + base_type::operator=(rhs.base()); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + base_type::operator=(std::forward(rhs.base())); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename enable_if, map&>::type + operator=(Sequence const& seq) + { + base().assign(begin(seq), detail::map_impl_from_iterator()); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + base_type& base() BOOST_NOEXCEPT { return *this; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + base_type const& base() const BOOST_NOEXCEPT { return *this; } + }; +}} + +#endif +#endif diff --git a/external/boost/fusion/container/map/map_fwd.hpp b/external/boost/fusion/container/map/map_fwd.hpp new file mode 100644 index 000000000..18e445b03 --- /dev/null +++ b/external/boost/fusion/container/map/map_fwd.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MAP_FORWARD_MAIN_07212005_1105) +#define FUSION_MAP_FORWARD_MAIN_07212005_1105 + +#include +#include + +#if (defined(BOOST_NO_CXX11_DECLTYPE) \ + || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ + || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# undef BOOST_FUSION_HAS_VARIADIC_MAP +# endif +#else +# if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# define BOOST_FUSION_HAS_VARIADIC_MAP +# endif +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1910) +# if defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# undef BOOST_FUSION_HAS_VARIADIC_MAP +# endif +#endif + +/////////////////////////////////////////////////////////////////////////////// +// With no decltype and variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# include +#else + +#include + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +namespace boost { namespace fusion +{ + template + struct map; +}} + +#endif +#endif diff --git a/external/boost/fusion/container/map/map_iterator.hpp b/external/boost/fusion/container/map/map_iterator.hpp new file mode 100644 index 000000000..b229cf552 --- /dev/null +++ b/external/boost/fusion/container/map/map_iterator.hpp @@ -0,0 +1,175 @@ +/*============================================================================= + Copyright (c) 2005-2013 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MAP_ITERATOR_02042013_0835) +#define BOOST_FUSION_MAP_ITERATOR_02042013_0835 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + template + struct map_iterator + : iterator_facade< + map_iterator + , typename Seq::category> + { + typedef Seq sequence; + typedef mpl::int_ index; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_iterator(Seq& seq) + : seq_(seq) + {} + + template + struct value_of + { + typedef typename Iterator::sequence sequence; + typedef typename Iterator::index index; + typedef + decltype(boost::declval().get_val(index())) + type; + }; + + template + struct value_of_data + { + typedef typename Iterator::sequence sequence; + typedef typename Iterator::index index; + typedef + decltype(boost::declval().get_val(index()).second) + type; + }; + + template + struct key_of + { + typedef typename Iterator::sequence sequence; + typedef typename Iterator::index index; + typedef decltype(boost::declval().get_key(index())) key_identity_type; + typedef typename key_identity_type::type type; + }; + + template + struct deref + { + typedef typename Iterator::sequence sequence; + typedef typename Iterator::index index; + typedef + decltype(boost::declval().get(index())) + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& it) + { + return it.seq_.get(typename Iterator::index()); + } + }; + + template + struct deref_data + { + typedef typename Iterator::sequence sequence; + typedef typename Iterator::index index; + + typedef decltype(boost::declval().get(index()).second) second_type_; + + typedef typename + mpl::if_< + is_const + , typename add_const::type + , second_type_ + >::type + second_type; + + typedef typename add_reference::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& it) + { + return it.seq_.get(typename Iterator::index()).second; + } + }; + + template + struct advance + { + typedef typename Iterator::index index; + typedef typename Iterator::sequence sequence; + typedef map_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.seq_); + } + }; + + template + struct next + : advance > + {}; + + template + struct prior + : advance > + {}; + + template + struct distance + { + typedef typename + mpl::minus< + typename I2::index, typename I1::index + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(I1 const&, I2 const&) + { + return type(); + } + }; + + template + struct equal_to + : mpl::equal_to + {}; + + Seq& seq_; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + map_iterator& operator= (map_iterator const&); + }; + +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::map_iterator > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/container/set.hpp b/external/boost/fusion/container/set.hpp new file mode 100644 index 000000000..c9aa6241c --- /dev/null +++ b/external/boost/fusion/container/set.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_CLASS_SET_10022005_0607) +#define FUSION_SEQUENCE_CLASS_SET_10022005_0607 + +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/container/set/convert.hpp b/external/boost/fusion/container/set/convert.hpp new file mode 100644 index 000000000..81e064cda --- /dev/null +++ b/external/boost/fusion/container/set/convert.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_09232005_1341) +#define FUSION_CONVERT_09232005_1341 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_set + { + typedef typename detail::as_set::value> gen; + typedef typename gen:: + template apply::type>::type + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_set::type + as_set(Sequence& seq) + { + typedef typename result_of::as_set::gen gen; + return gen::call(fusion::begin(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_set::type + as_set(Sequence const& seq) + { + typedef typename result_of::as_set::gen gen; + return gen::call(fusion::begin(seq)); + } +}} + +#endif diff --git a/external/boost/fusion/container/set/detail/as_set.hpp b/external/boost/fusion/container/set/detail/as_set.hpp new file mode 100644 index 000000000..9d3332581 --- /dev/null +++ b/external/boost/fusion/container/set/detail/as_set.hpp @@ -0,0 +1,67 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_AS_SET_11062014_2121 +#define FUSION_AS_SET_11062014_2121 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template ::type> + struct as_set; + + template + struct as_set > + { + template + struct apply + { + typedef set< + typename result_of::value_of< + typename result_of::advance_c::type + >::type... + > type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i) + { + typedef apply gen; + typedef typename gen::type result; + return result(*advance_c(i)...); + } + }; + +BOOST_FUSION_BARRIER_END +}}} + +#endif +#endif + diff --git a/external/boost/fusion/container/set/detail/begin_impl.hpp b/external/boost/fusion/container/set/detail/begin_impl.hpp new file mode 100644 index 000000000..1ebd4e465 --- /dev/null +++ b/external/boost/fusion/container/set/detail/begin_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef + basic_iterator< + set_iterator_tag + , typename Seq::category + , Seq + , 0 + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/set/detail/convert_impl.hpp b/external/boost/fusion/container/set/detail/convert_impl.hpp new file mode 100644 index 000000000..0b4cb22f3 --- /dev/null +++ b/external/boost/fusion/container/set/detail/convert_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09232005_1341) +#define FUSION_CONVERT_IMPL_09232005_1341 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct set_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef detail::as_set::value> gen; + typedef typename gen:: + template apply::type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/as_set.hpp b/external/boost/fusion/container/set/detail/cpp03/as_set.hpp new file mode 100644 index 000000000..c9159314b --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/as_set.hpp @@ -0,0 +1,139 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_AS_SET_0932005_1341) +#define FUSION_AS_SET_0932005_1341 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template + struct as_set; + + template <> + struct as_set<0> + { + template + struct apply + { + typedef set<> type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator) + { + return set<>(); + } + }; + +BOOST_FUSION_BARRIER_END +}}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_set" FUSION_MAX_SET_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + +#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::next::type \ + BOOST_PP_CAT(I, BOOST_PP_INC(n)); + +#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ + typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ + BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); + +#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::value_of::type \ + BOOST_PP_CAT(T, n); + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_NEXT_ITERATOR +#undef BOOST_FUSION_NEXT_CALL_ITERATOR +#undef BOOST_FUSION_VALUE_OF_ITERATOR + +BOOST_FUSION_BARRIER_END +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template <> + struct as_set + { + template + struct apply + { + BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) + BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) + typedef set type; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) + return result(BOOST_PP_ENUM_PARAMS(N, *i)); + } + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/set/detail/cpp03/limits.hpp b/external/boost/fusion/container/set/detail/cpp03/limits.hpp new file mode 100644 index 000000000..2b800abfe --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/limits.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SET_LIMITS_09162005_1103) +#define FUSION_SET_LIMITS_09162005_1103 + +#include +#include + +#if !defined(FUSION_MAX_SET_SIZE) +# define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE +#else +# if FUSION_MAX_SET_SIZE < 3 +# undef FUSION_MAX_SET_SIZE +# if (FUSION_MAX_VECTOR_SIZE > 10) +# define FUSION_MAX_SET_SIZE 10 +# else +# define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE +# endif +# endif +#endif + +#define FUSION_MAX_SET_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_SET_SIZE)) + +#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp new file mode 100644 index 000000000..da257ad90 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_SET_SIZE <= 10 +#include +#elif FUSION_MAX_SET_SIZE <= 20 +#include +#elif FUSION_MAX_SET_SIZE <= 30 +#include +#elif FUSION_MAX_SET_SIZE <= 40 +#include +#elif FUSION_MAX_SET_SIZE <= 50 +#include +#else +#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp new file mode 100644 index 000000000..019b0b797 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp @@ -0,0 +1,223 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_set<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_set<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_set<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_set<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_set<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_set<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_set<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_set<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_set<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_set<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp new file mode 100644 index 000000000..8299b6079 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp @@ -0,0 +1,433 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_set<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_set<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_set<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_set<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_set<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_set<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_set<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_set<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_set<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_set<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_set<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_set<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_set<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_set<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_set<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_set<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_set<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_set<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_set<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_set<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp new file mode 100644 index 000000000..b8f8adb7a --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp @@ -0,0 +1,643 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_set<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_set<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_set<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_set<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_set<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_set<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_set<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_set<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_set<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_set<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_set<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_set<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_set<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_set<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_set<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_set<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_set<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_set<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_set<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_set<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_set<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_set<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_set<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_set<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_set<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_set<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_set<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_set<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_set<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_set<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp new file mode 100644 index 000000000..de5091f8c --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp @@ -0,0 +1,853 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_set<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_set<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_set<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_set<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_set<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_set<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_set<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_set<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_set<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_set<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_set<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_set<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_set<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_set<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_set<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_set<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_set<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_set<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_set<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_set<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_set<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_set<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_set<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_set<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_set<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_set<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_set<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_set<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_set<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_set<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; + template <> + struct as_set<31> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + }; + template <> + struct as_set<32> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + }; + template <> + struct as_set<33> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + }; + template <> + struct as_set<34> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + }; + template <> + struct as_set<35> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + }; + template <> + struct as_set<36> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + }; + template <> + struct as_set<37> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + }; + template <> + struct as_set<38> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + }; + template <> + struct as_set<39> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + }; + template <> + struct as_set<40> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp new file mode 100644 index 000000000..d169b04fa --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp @@ -0,0 +1,1063 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_set<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_set<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_set<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_set<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_set<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_set<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_set<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_set<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_set<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_set<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_set<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_set<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_set<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_set<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_set<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_set<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_set<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_set<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_set<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_set<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_set<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_set<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_set<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_set<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_set<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_set<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_set<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_set<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_set<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_set<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; + template <> + struct as_set<31> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + }; + template <> + struct as_set<32> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + }; + template <> + struct as_set<33> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + }; + template <> + struct as_set<34> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + }; + template <> + struct as_set<35> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + }; + template <> + struct as_set<36> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + }; + template <> + struct as_set<37> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + }; + template <> + struct as_set<38> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + }; + template <> + struct as_set<39> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + }; + template <> + struct as_set<40> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + }; + template <> + struct as_set<41> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); + } + }; + template <> + struct as_set<42> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); + } + }; + template <> + struct as_set<43> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); + } + }; + template <> + struct as_set<44> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); + } + }; + template <> + struct as_set<45> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); + } + }; + template <> + struct as_set<46> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); + } + }; + template <> + struct as_set<47> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); + } + }; + template <> + struct as_set<48> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); + } + }; + template <> + struct as_set<49> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); + } + }; + template <> + struct as_set<50> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; + typedef set type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp new file mode 100644 index 000000000..715d5744f --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_SET_SIZE <= 10 +#include +#elif FUSION_MAX_SET_SIZE <= 20 +#include +#elif FUSION_MAX_SET_SIZE <= 30 +#include +#elif FUSION_MAX_SET_SIZE <= 40 +#include +#elif FUSION_MAX_SET_SIZE <= 50 +#include +#else +#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp new file mode 100644 index 000000000..74e847176 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp @@ -0,0 +1,77 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp new file mode 100644 index 000000000..8b6253dc3 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct set_tag; + struct set_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + > + struct set; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp new file mode 100644 index 000000000..cab210484 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp @@ -0,0 +1,107 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp new file mode 100644 index 000000000..acbb56dee --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct set_tag; + struct set_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + > + struct set; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp new file mode 100644 index 000000000..2ac448be6 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp @@ -0,0 +1,137 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp new file mode 100644 index 000000000..9c774b0da --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct set_tag; + struct set_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + > + struct set; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp new file mode 100644 index 000000000..76112505e --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp @@ -0,0 +1,167 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp new file mode 100644 index 000000000..2f251c108 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct set_tag; + struct set_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + > + struct set; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp new file mode 100644 index 000000000..32954f42e --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp @@ -0,0 +1,197 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp new file mode 100644 index 000000000..478b98b57 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct set_tag; + struct set_iterator_tag; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + > + struct set; +}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp new file mode 100644 index 000000000..31e8e411b --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_SET_SIZE <= 10 +#include +#elif FUSION_MAX_SET_SIZE <= 20 +#include +#elif FUSION_MAX_SET_SIZE <= 30 +#include +#elif FUSION_MAX_SET_SIZE <= 40 +#include +#elif FUSION_MAX_SET_SIZE <= 50 +#include +#else +#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/set.hpp b/external/boost/fusion/container/set/detail/cpp03/set.hpp new file mode 100644 index 000000000..274a36eb4 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/set.hpp @@ -0,0 +1,107 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SET_09162005_1104) +#define FUSION_SET_09162005_1104 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/set" FUSION_MAX_SET_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + + typedef vector< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> + storage_type; + + typedef typename storage_type::size size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename enable_if, detail::enabler_>::type = detail::enabler) + : data(rhs) {} + + #include + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + + private: + + storage_type data; + }; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp b/external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp new file mode 100644 index 000000000..aa90b6011 --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_SET_FORWARD_CTOR_09162005_1115) +#define FUSION_SET_FORWARD_CTOR_09162005_1115 + +#include +#include +#include + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) +#include BOOST_PP_ITERATE() + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +#if N == 1 + explicit +#endif + set(BOOST_PP_ENUM_BINARY_PARAMS( + N, typename detail::call_param::type arg)) + : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp new file mode 100644 index 000000000..f50f6083e --- /dev/null +++ b/external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SET_FORWARD_09162005_1102) +#define FUSION_SET_FORWARD_09162005_1102 + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/set" FUSION_MAX_SET_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct set_tag; + struct set_iterator_tag; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_SET_SIZE, typename T, void_) + > + struct set; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/set/detail/deref_data_impl.hpp b/external/boost/fusion/container/set/detail/deref_data_impl.hpp new file mode 100644 index 000000000..05e44a922 --- /dev/null +++ b/external/boost/fusion/container/set/detail/deref_data_impl.hpp @@ -0,0 +1,25 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + : deref_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/container/set/detail/deref_impl.hpp b/external/boost/fusion/container/set/detail/deref_impl.hpp new file mode 100644 index 000000000..e5da52197 --- /dev/null +++ b/external/boost/fusion/container/set/detail/deref_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP + +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::at< + typename mpl::if_< + is_const + , typename It::seq_type::storage_type const + , typename It::seq_type::storage_type + >::type + , typename It::index + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return ::boost::fusion::at(it.seq->get_data()); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/set/detail/end_impl.hpp b/external/boost/fusion/container/set/detail/end_impl.hpp new file mode 100644 index 000000000..fbae9b75b --- /dev/null +++ b/external/boost/fusion/container/set/detail/end_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef + basic_iterator< + set_iterator_tag + , typename Seq::category + , Seq + , Seq::size::value + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/set/detail/key_of_impl.hpp b/external/boost/fusion/container/set/detail/key_of_impl.hpp new file mode 100644 index 000000000..0e453ee23 --- /dev/null +++ b/external/boost/fusion/container/set/detail/key_of_impl.hpp @@ -0,0 +1,25 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + : value_of_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/container/set/detail/value_of_data_impl.hpp b/external/boost/fusion/container/set/detail/value_of_data_impl.hpp new file mode 100644 index 000000000..546751cb8 --- /dev/null +++ b/external/boost/fusion/container/set/detail/value_of_data_impl.hpp @@ -0,0 +1,24 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + : value_of_impl + {}; +}}} + +#endif diff --git a/external/boost/fusion/container/set/detail/value_of_impl.hpp b/external/boost/fusion/container/set/detail/value_of_impl.hpp new file mode 100644 index 000000000..e12ab162c --- /dev/null +++ b/external/boost/fusion/container/set/detail/value_of_impl.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_at< + typename It::seq_type::storage_type + , typename It::index + >::type + type; + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/container/set/set.hpp b/external/boost/fusion/container/set/set.hpp new file mode 100644 index 000000000..f03488b18 --- /dev/null +++ b/external/boost/fusion/container/set/set.hpp @@ -0,0 +1,140 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_SET_11062014_1726 +#define FUSION_SET_11062014_1726 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + + template <> + struct set<> : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + + typedef vector<> storage_type; + + typedef storage_type::size size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + + template + BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler, + typename enable_if, detail::enabler_>::type = detail::enabler) + : data(rhs) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + + private: + storage_type data; + }; + + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + + typedef vector storage_type; + + typedef typename storage_type::size size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + + template + BOOST_FUSION_GPU_ENABLED + set(Sequence&& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler, + typename enable_if, detail::enabler_>::type = detail::enabler) + : data(std::forward(rhs)) {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(U&& ...args) + : data(std::forward(args)...) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(U&& rhs) + { + data = std::forward(rhs); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + + private: + storage_type data; + }; + +}} + +#endif +#endif + + diff --git a/external/boost/fusion/container/set/set_fwd.hpp b/external/boost/fusion/container/set/set_fwd.hpp new file mode 100644 index 000000000..7b5d6830a --- /dev/null +++ b/external/boost/fusion/container/set/set_fwd.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_SET_FORWARD_11062014_1720 +#define FUSION_SET_FORWARD_11062014_1720 + +#include +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_SET) +# undef BOOST_FUSION_HAS_VARIADIC_SET +# endif +#else +# if !defined(BOOST_FUSION_HAS_VARIADIC_SET) +# define BOOST_FUSION_HAS_VARIADIC_SET +# endif +#endif + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +namespace boost { namespace fusion +{ + struct set_tag; + struct set_iterator_tag; + + template + struct set; +}} + +#endif +#endif + diff --git a/external/boost/fusion/container/vector.hpp b/external/boost/fusion/container/vector.hpp new file mode 100644 index 000000000..41c980331 --- /dev/null +++ b/external/boost/fusion/container/vector.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602) +#define FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602 + +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/container/vector/convert.hpp b/external/boost/fusion/container/vector/convert.hpp new file mode 100644 index 000000000..adc7f478e --- /dev/null +++ b/external/boost/fusion/container/vector/convert.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_09222005_1104) +#define FUSION_CONVERT_09222005_1104 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_vector + { + typedef typename detail::as_vector::value> gen; + typedef typename gen:: + template apply::type>::type + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_vector::type + as_vector(Sequence& seq) + { + typedef typename result_of::as_vector::gen gen; + return gen::call(fusion::begin(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::as_vector::type + as_vector(Sequence const& seq) + { + typedef typename result_of::as_vector::gen gen; + return gen::call(fusion::begin(seq)); + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/advance_impl.hpp b/external/boost/fusion/container/vector/detail/advance_impl.hpp new file mode 100644 index 000000000..3bf26a591 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/advance_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADVANCE_IMPL_09172005_1156) +#define FUSION_ADVANCE_IMPL_09172005_1156 + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + + template + struct vector_iterator; + + namespace extension + { + template + struct advance_impl; + + template <> + struct advance_impl + { + template + struct apply + { + typedef typename Iterator::index index; + typedef typename Iterator::vector vector; + typedef vector_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.vec); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/as_vector.hpp b/external/boost/fusion/container/vector/detail/as_vector.hpp new file mode 100644 index 000000000..e2f45b6a0 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/as_vector.hpp @@ -0,0 +1,70 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_AS_VECTOR_11052014_1801 +#define FUSION_AS_VECTOR_11052014_1801 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template + struct as_vector_impl; + + template + struct as_vector_impl > + { + template + struct apply + { + typedef vector< + typename result_of::value_of< + typename result_of::advance_c::type + >::type... + > type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator i) + { + typedef typename apply::type result; + return result(*advance_c(i)...); + } + }; + + template + struct as_vector + : as_vector_impl::type> {}; + +BOOST_FUSION_BARRIER_END +}}} + +#endif +#endif + + diff --git a/external/boost/fusion/container/vector/detail/at_impl.hpp b/external/boost/fusion/container/vector/detail/at_impl.hpp new file mode 100644 index 000000000..a2900d794 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/at_impl.hpp @@ -0,0 +1,60 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_AT_IMPL_05042005_0741) +#define FUSION_AT_IMPL_05042005_0741 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef typename value_at_impl::template apply::type element; + typedef typename detail::ref_result::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); + return v.at_impl(N()); + } + }; + + template + struct apply + { + typedef typename value_at_impl::template apply::type element; + typedef typename detail::cref_result::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence const& v) + { + BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); + return v.at_impl(N()); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/begin_impl.hpp b/external/boost/fusion/container/vector/detail/begin_impl.hpp new file mode 100644 index 000000000..ef24cd74e --- /dev/null +++ b/external/boost/fusion/container/vector/detail/begin_impl.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_05042005_1136) +#define FUSION_BEGIN_IMPL_05042005_1136 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef vector_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/config.hpp b/external/boost/fusion/container/vector/detail/config.hpp new file mode 100644 index 000000000..718b2d795 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/config.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR_CONFIG_11052014_1720 +#define FUSION_VECTOR_CONFIG_11052014_1720 + +#include +#include +#include + +#if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ + || defined(BOOST_NO_CXX11_RVALUE_REFERENCES) \ + || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) \ + || defined(BOOST_NO_CXX11_DECLTYPE)) \ + || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) \ + || defined(BOOST_FUSION_DISABLE_VARIADIC_VECTOR) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# undef BOOST_FUSION_HAS_VARIADIC_VECTOR +# endif +#else +# if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# define BOOST_FUSION_HAS_VARIADIC_VECTOR +# endif +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1910) +# if defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# undef BOOST_FUSION_HAS_VARIADIC_VECTOR +# endif +#endif + +#endif + diff --git a/external/boost/fusion/container/vector/detail/convert_impl.hpp b/external/boost/fusion/container/vector/detail/convert_impl.hpp new file mode 100644 index 000000000..63bfb7c7a --- /dev/null +++ b/external/boost/fusion/container/vector/detail/convert_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09222005_1104) +#define FUSION_CONVERT_IMPL_09222005_1104 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename detail::as_vector::value> gen; + typedef typename gen:: + template apply::type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp new file mode 100644 index 000000000..bd7fa76be --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp @@ -0,0 +1,139 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_AS_VECTOR_09222005_0950) +#define FUSION_AS_VECTOR_09222005_0950 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template + struct as_vector; + + template <> + struct as_vector<0> + { + template + struct apply + { + typedef vector0<> type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator) + { + return vector0<>(); + } + }; + +BOOST_FUSION_BARRIER_END +}}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_vector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + +#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::next::type \ + BOOST_PP_CAT(I, BOOST_PP_INC(n)); + +#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ + typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ + BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); + +#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::value_of::type \ + BOOST_PP_CAT(T, n); + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_NEXT_ITERATOR +#undef BOOST_FUSION_NEXT_CALL_ITERATOR +#undef BOOST_FUSION_VALUE_OF_ITERATOR + +BOOST_FUSION_BARRIER_END +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template <> + struct as_vector + { + template + struct apply + { + BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) + BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) + typedef BOOST_PP_CAT(vector, N) type; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) + return result(BOOST_PP_ENUM_PARAMS(N, *i)); + } + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/container/vector/detail/cpp03/limits.hpp b/external/boost/fusion/container/vector/detail/cpp03/limits.hpp new file mode 100644 index 000000000..74a05102d --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/limits.hpp @@ -0,0 +1,25 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR_LIMITS_07072005_1246) +#define FUSION_VECTOR_LIMITS_07072005_1246 + +#include +#include +#include + +#if !defined(FUSION_MAX_VECTOR_SIZE) +# define FUSION_MAX_VECTOR_SIZE 10 +#else +# if FUSION_MAX_VECTOR_SIZE < 3 +# undef FUSION_MAX_VECTOR_SIZE +# define FUSION_MAX_VECTOR_SIZE 10 +# endif +#endif + +#define FUSION_MAX_VECTOR_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_VECTOR_SIZE)) + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp new file mode 100644 index 000000000..521443ef8 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp new file mode 100644 index 000000000..92fdbc07b --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp @@ -0,0 +1,223 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_vector<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef vector1 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_vector<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef vector2 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_vector<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef vector3 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_vector<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef vector4 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_vector<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef vector5 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_vector<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef vector6 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_vector<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef vector7 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_vector<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef vector8 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_vector<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef vector9 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_vector<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef vector10 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp new file mode 100644 index 000000000..fa99a4a58 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp @@ -0,0 +1,433 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_vector<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef vector1 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_vector<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef vector2 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_vector<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef vector3 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_vector<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef vector4 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_vector<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef vector5 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_vector<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef vector6 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_vector<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef vector7 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_vector<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef vector8 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_vector<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef vector9 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_vector<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef vector10 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_vector<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef vector11 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_vector<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef vector12 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_vector<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef vector13 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_vector<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef vector14 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_vector<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef vector15 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_vector<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef vector16 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_vector<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef vector17 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_vector<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef vector18 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_vector<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef vector19 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_vector<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef vector20 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp new file mode 100644 index 000000000..578524a64 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp @@ -0,0 +1,643 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_vector<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef vector1 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_vector<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef vector2 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_vector<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef vector3 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_vector<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef vector4 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_vector<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef vector5 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_vector<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef vector6 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_vector<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef vector7 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_vector<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef vector8 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_vector<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef vector9 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_vector<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef vector10 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_vector<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef vector11 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_vector<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef vector12 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_vector<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef vector13 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_vector<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef vector14 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_vector<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef vector15 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_vector<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef vector16 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_vector<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef vector17 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_vector<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef vector18 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_vector<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef vector19 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_vector<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef vector20 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_vector<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef vector21 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_vector<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef vector22 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_vector<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef vector23 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_vector<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef vector24 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_vector<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef vector25 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_vector<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef vector26 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_vector<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef vector27 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_vector<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef vector28 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_vector<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef vector29 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_vector<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef vector30 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp new file mode 100644 index 000000000..93d63ee2f --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp @@ -0,0 +1,853 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_vector<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef vector1 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_vector<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef vector2 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_vector<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef vector3 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_vector<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef vector4 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_vector<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef vector5 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_vector<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef vector6 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_vector<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef vector7 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_vector<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef vector8 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_vector<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef vector9 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_vector<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef vector10 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_vector<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef vector11 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_vector<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef vector12 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_vector<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef vector13 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_vector<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef vector14 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_vector<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef vector15 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_vector<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef vector16 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_vector<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef vector17 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_vector<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef vector18 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_vector<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef vector19 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_vector<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef vector20 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_vector<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef vector21 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_vector<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef vector22 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_vector<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef vector23 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_vector<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef vector24 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_vector<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef vector25 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_vector<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef vector26 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_vector<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef vector27 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_vector<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef vector28 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_vector<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef vector29 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_vector<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef vector30 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; + template <> + struct as_vector<31> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; + typedef vector31 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + }; + template <> + struct as_vector<32> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; + typedef vector32 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + }; + template <> + struct as_vector<33> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; + typedef vector33 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + }; + template <> + struct as_vector<34> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; + typedef vector34 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + }; + template <> + struct as_vector<35> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; + typedef vector35 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + }; + template <> + struct as_vector<36> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; + typedef vector36 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + }; + template <> + struct as_vector<37> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; + typedef vector37 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + }; + template <> + struct as_vector<38> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; + typedef vector38 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + }; + template <> + struct as_vector<39> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; + typedef vector39 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + }; + template <> + struct as_vector<40> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; + typedef vector40 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp new file mode 100644 index 000000000..6f6cc4802 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp @@ -0,0 +1,1063 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + template <> + struct as_vector<1> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; + typedef typename fusion::result_of::value_of::type T0; + typedef vector1 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + + return result(*i0); + } + }; + template <> + struct as_vector<2> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; + typedef vector2 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); + return result(*i0 , *i1); + } + }; + template <> + struct as_vector<3> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; + typedef vector3 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); + return result(*i0 , *i1 , *i2); + } + }; + template <> + struct as_vector<4> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; + typedef vector4 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); + return result(*i0 , *i1 , *i2 , *i3); + } + }; + template <> + struct as_vector<5> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; + typedef vector5 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); + return result(*i0 , *i1 , *i2 , *i3 , *i4); + } + }; + template <> + struct as_vector<6> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; + typedef vector6 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + }; + template <> + struct as_vector<7> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; + typedef vector7 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + }; + template <> + struct as_vector<8> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; + typedef vector8 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + }; + template <> + struct as_vector<9> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; + typedef vector9 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + }; + template <> + struct as_vector<10> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; + typedef vector10 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + }; + template <> + struct as_vector<11> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; + typedef vector11 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + }; + template <> + struct as_vector<12> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; + typedef vector12 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + }; + template <> + struct as_vector<13> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; + typedef vector13 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + }; + template <> + struct as_vector<14> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; + typedef vector14 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + }; + template <> + struct as_vector<15> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; + typedef vector15 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + }; + template <> + struct as_vector<16> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; + typedef vector16 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + }; + template <> + struct as_vector<17> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; + typedef vector17 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + }; + template <> + struct as_vector<18> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; + typedef vector18 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + }; + template <> + struct as_vector<19> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; + typedef vector19 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + }; + template <> + struct as_vector<20> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; + typedef vector20 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + }; + template <> + struct as_vector<21> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; + typedef vector21 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + }; + template <> + struct as_vector<22> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; + typedef vector22 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + }; + template <> + struct as_vector<23> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; + typedef vector23 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + }; + template <> + struct as_vector<24> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; + typedef vector24 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + }; + template <> + struct as_vector<25> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; + typedef vector25 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + }; + template <> + struct as_vector<26> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; + typedef vector26 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + }; + template <> + struct as_vector<27> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; + typedef vector27 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + }; + template <> + struct as_vector<28> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; + typedef vector28 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + }; + template <> + struct as_vector<29> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; + typedef vector29 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + }; + template <> + struct as_vector<30> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; + typedef vector30 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + }; + template <> + struct as_vector<31> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; + typedef vector31 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + }; + template <> + struct as_vector<32> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; + typedef vector32 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + }; + template <> + struct as_vector<33> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; + typedef vector33 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + }; + template <> + struct as_vector<34> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; + typedef vector34 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + }; + template <> + struct as_vector<35> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; + typedef vector35 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + }; + template <> + struct as_vector<36> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; + typedef vector36 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + }; + template <> + struct as_vector<37> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; + typedef vector37 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + }; + template <> + struct as_vector<38> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; + typedef vector38 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + }; + template <> + struct as_vector<39> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; + typedef vector39 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + }; + template <> + struct as_vector<40> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; + typedef vector40 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + }; + template <> + struct as_vector<41> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; + typedef vector41 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); + } + }; + template <> + struct as_vector<42> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; + typedef vector42 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); + } + }; + template <> + struct as_vector<43> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; + typedef vector43 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); + } + }; + template <> + struct as_vector<44> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; + typedef vector44 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); + } + }; + template <> + struct as_vector<45> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; + typedef vector45 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); + } + }; + template <> + struct as_vector<46> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; + typedef vector46 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); + } + }; + template <> + struct as_vector<47> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; + typedef vector47 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); + } + }; + template <> + struct as_vector<48> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; + typedef vector48 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); + } + }; + template <> + struct as_vector<49> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; + typedef vector49 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); + } + }; + template <> + struct as_vector<50> + { + template + struct apply + { + typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; + typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; + typedef vector50 type; + }; + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); + return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); + } + }; +BOOST_FUSION_BARRIER_END +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp new file mode 100644 index 000000000..35b8e6432 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp new file mode 100644 index 000000000..d5e8aad11 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp @@ -0,0 +1,1830 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + template + struct vector_data1 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data1() + : m0() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data1(U0 && arg0 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data1( + vector_data1&& other) + : m0(std::forward( other.m0)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data1( + typename detail::call_param::type arg0) + : m0(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data1( + vector_data1 const& other) + : m0(other.m0) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data1& + operator=(vector_data1 const& vec) + { + this->m0 = vec.m0; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data1 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + + return vector_data1(*i0); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data1 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + + return vector_data1(*i0); + } + T0 m0; + }; + template + struct vector1 + : vector_data1 + , sequence_base > + { + typedef vector1 this_type; + typedef vector_data1 base_type; + typedef mpl::vector1 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<1> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector1() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector1( + typename detail::call_param::type arg0) + : base_type(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector1(U0&& _0 + , typename boost::enable_if >::type* = 0 + ) + : base_type(std::forward( _0)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector1(vector1&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector1(vector1 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector1& + operator=(vector1 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector1& + operator=(vector1&& vec) + { + this->m0 = std::forward< T0>(vec.m0); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector1( + vector1 const& vec) + : base_type(vec.m0) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector1( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + , typename boost::disable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector1( + Sequence& seq + , typename boost::enable_if >::type* = 0 + , typename boost::disable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector1& + operator=(vector1 const& vec) + { + this->m0 = vec.m0; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + + this->m0 = *i0; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data2 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data2() + : m0() , m1() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data2(U0 && arg0 , U1 && arg1 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data2( + vector_data2&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data2( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : m0(arg0) , m1(arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data2( + vector_data2 const& other) + : m0(other.m0) , m1(other.m1) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data2& + operator=(vector_data2 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data2 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); + return vector_data2(*i0 , *i1); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data2 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); + return vector_data2(*i0 , *i1); + } + T0 m0; T1 m1; + }; + template + struct vector2 + : vector_data2 + , sequence_base > + { + typedef vector2 this_type; + typedef vector_data2 base_type; + typedef mpl::vector2 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<2> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector2() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector2( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector2(U0 && arg0 , U1 && arg1) + : base_type(std::forward( arg0) , std::forward( arg1)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector2(vector2&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector2(vector2 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector2& + operator=(vector2 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector2& + operator=(vector2&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector2( + vector2 const& vec) + : base_type(vec.m0 , vec.m1) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector2( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector2( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector2& + operator=(vector2 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); + this->m0 = *i0; this->m1 = *i1; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data3 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data3() + : m0() , m1() , m2() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data3(U0 && arg0 , U1 && arg1 , U2 && arg2 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data3( + vector_data3&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data3( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : m0(arg0) , m1(arg1) , m2(arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data3( + vector_data3 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data3& + operator=(vector_data3 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data3 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); + return vector_data3(*i0 , *i1 , *i2); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data3 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); + return vector_data3(*i0 , *i1 , *i2); + } + T0 m0; T1 m1; T2 m2; + }; + template + struct vector3 + : vector_data3 + , sequence_base > + { + typedef vector3 this_type; + typedef vector_data3 base_type; + typedef mpl::vector3 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<3> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector3() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector3( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector3(U0 && arg0 , U1 && arg1 , U2 && arg2) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector3(vector3&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector3(vector3 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector3& + operator=(vector3 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector3& + operator=(vector3&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector3( + vector3 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector3( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector3( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector3& + operator=(vector3 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data4 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data4() + : m0() , m1() , m2() , m3() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data4( + vector_data4&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data4( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data4( + vector_data4 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data4& + operator=(vector_data4 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data4 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); + return vector_data4(*i0 , *i1 , *i2 , *i3); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data4 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); + return vector_data4(*i0 , *i1 , *i2 , *i3); + } + T0 m0; T1 m1; T2 m2; T3 m3; + }; + template + struct vector4 + : vector_data4 + , sequence_base > + { + typedef vector4 this_type; + typedef vector_data4 base_type; + typedef mpl::vector4 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<4> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector4() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector4( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector4(vector4&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector4(vector4 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector4& + operator=(vector4 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector4& + operator=(vector4&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector4( + vector4 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector4( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector4( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector4& + operator=(vector4 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data5 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data5() + : m0() , m1() , m2() , m3() , m4() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data5( + vector_data5&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data5( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data5( + vector_data5 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data5& + operator=(vector_data5 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data5 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); + return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data5 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); + return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; + }; + template + struct vector5 + : vector_data5 + , sequence_base > + { + typedef vector5 this_type; + typedef vector_data5 base_type; + typedef mpl::vector5 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<5> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector5() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector5( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector5(vector5&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector5(vector5 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector5& + operator=(vector5 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector5& + operator=(vector5&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector5( + vector5 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector5( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector5( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector5& + operator=(vector5 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data6 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data6() + : m0() , m1() , m2() , m3() , m4() , m5() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data6( + vector_data6&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data6( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data6( + vector_data6 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data6& + operator=(vector_data6 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data6 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); + return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data6 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); + return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; + }; + template + struct vector6 + : vector_data6 + , sequence_base > + { + typedef vector6 this_type; + typedef vector_data6 base_type; + typedef mpl::vector6 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<6> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector6() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector6( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector6(vector6&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector6(vector6 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector6& + operator=(vector6 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector6& + operator=(vector6&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector6( + vector6 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector6( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector6( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector6& + operator=(vector6 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data7 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data7() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data7( + vector_data7&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data7( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data7( + vector_data7 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data7& + operator=(vector_data7 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data7 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); + return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data7 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); + return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; + }; + template + struct vector7 + : vector_data7 + , sequence_base > + { + typedef vector7 this_type; + typedef vector_data7 base_type; + typedef mpl::vector7 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<7> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector7() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector7( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector7(vector7&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector7(vector7 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector7& + operator=(vector7 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector7& + operator=(vector7&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector7( + vector7 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector7( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector7( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector7& + operator=(vector7 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data8 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data8() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data8( + vector_data8&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data8( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data8( + vector_data8 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data8& + operator=(vector_data8 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data8 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); + return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data8 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); + return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; + }; + template + struct vector8 + : vector_data8 + , sequence_base > + { + typedef vector8 this_type; + typedef vector_data8 base_type; + typedef mpl::vector8 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<8> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector8() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector8( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector8(vector8&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector8(vector8 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector8& + operator=(vector8 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector8& + operator=(vector8&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector8( + vector8 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector8( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector8( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector8& + operator=(vector8 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data9 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data9() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data9( + vector_data9&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data9( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data9( + vector_data9 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data9& + operator=(vector_data9 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data9 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); + return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data9 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); + return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; + }; + template + struct vector9 + : vector_data9 + , sequence_base > + { + typedef vector9 this_type; + typedef vector_data9 base_type; + typedef mpl::vector9 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<9> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector9() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector9( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector9(vector9&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector9(vector9 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector9& + operator=(vector9 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector9& + operator=(vector9&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector9( + vector9 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector9( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector9( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector9& + operator=(vector9 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data10 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data10() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data10( + vector_data10&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data10( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data10( + vector_data10 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data10& + operator=(vector_data10 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data10 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); + return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data10 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); + return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; + }; + template + struct vector10 + : vector_data10 + , sequence_base > + { + typedef vector10 this_type; + typedef vector_data10 base_type; + typedef mpl::vector10 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<10> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector10() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector10( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector10(vector10&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector10(vector10 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector10& + operator=(vector10 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector10& + operator=(vector10&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector10( + vector10 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector10( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector10( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector10& + operator=(vector10 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp new file mode 100644 index 000000000..33f817ffa --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + + template + struct vector1; + template + struct vector2; + template + struct vector3; + template + struct vector4; + template + struct vector5; + template + struct vector6; + template + struct vector7; + template + struct vector8; + template + struct vector9; + template + struct vector10; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp new file mode 100644 index 000000000..91a9e59c4 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp @@ -0,0 +1,1824 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + template + struct vector_data11 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data11() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data11( + vector_data11&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data11( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data11( + vector_data11 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data11& + operator=(vector_data11 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data11 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); + return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data11 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); + return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; + }; + template + struct vector11 + : vector_data11 + , sequence_base > + { + typedef vector11 this_type; + typedef vector_data11 base_type; + typedef mpl::vector11 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<11> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector11() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector11( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector11(vector11&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector11(vector11 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector11& + operator=(vector11 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector11& + operator=(vector11&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector11( + vector11 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector11( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector11( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector11& + operator=(vector11 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data12 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data12() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data12( + vector_data12&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data12( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data12( + vector_data12 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data12& + operator=(vector_data12 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data12 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); + return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data12 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); + return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; + }; + template + struct vector12 + : vector_data12 + , sequence_base > + { + typedef vector12 this_type; + typedef vector_data12 base_type; + typedef mpl::vector12 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<12> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector12() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector12( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector12(vector12&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector12(vector12 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector12& + operator=(vector12 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector12& + operator=(vector12&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector12( + vector12 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector12( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector12( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector12& + operator=(vector12 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data13 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data13() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data13( + vector_data13&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data13( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data13( + vector_data13 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data13& + operator=(vector_data13 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data13 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); + return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data13 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); + return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; + }; + template + struct vector13 + : vector_data13 + , sequence_base > + { + typedef vector13 this_type; + typedef vector_data13 base_type; + typedef mpl::vector13 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<13> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector13() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector13( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector13(vector13&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector13(vector13 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector13& + operator=(vector13 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector13& + operator=(vector13&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector13( + vector13 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector13( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector13( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector13& + operator=(vector13 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data14 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data14() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data14( + vector_data14&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data14( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data14( + vector_data14 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data14& + operator=(vector_data14 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data14 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); + return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data14 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); + return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; + }; + template + struct vector14 + : vector_data14 + , sequence_base > + { + typedef vector14 this_type; + typedef vector_data14 base_type; + typedef mpl::vector14 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<14> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector14() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector14( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector14(vector14&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector14(vector14 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector14& + operator=(vector14 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector14& + operator=(vector14&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector14( + vector14 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector14( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector14( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector14& + operator=(vector14 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data15 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data15() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data15( + vector_data15&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data15( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data15( + vector_data15 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data15& + operator=(vector_data15 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data15 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); + return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data15 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); + return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; + }; + template + struct vector15 + : vector_data15 + , sequence_base > + { + typedef vector15 this_type; + typedef vector_data15 base_type; + typedef mpl::vector15 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<15> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector15() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector15( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector15(vector15&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector15(vector15 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector15& + operator=(vector15 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector15& + operator=(vector15&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector15( + vector15 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector15( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector15( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector15& + operator=(vector15 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data16 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data16() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data16( + vector_data16&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data16( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data16( + vector_data16 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data16& + operator=(vector_data16 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data16 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); + return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data16 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); + return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; + }; + template + struct vector16 + : vector_data16 + , sequence_base > + { + typedef vector16 this_type; + typedef vector_data16 base_type; + typedef mpl::vector16 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<16> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector16() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector16( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector16(vector16&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector16(vector16 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector16& + operator=(vector16 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector16& + operator=(vector16&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector16( + vector16 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector16( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector16( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector16& + operator=(vector16 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data17 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data17() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data17( + vector_data17&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data17( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data17( + vector_data17 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data17& + operator=(vector_data17 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data17 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); + return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data17 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); + return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; + }; + template + struct vector17 + : vector_data17 + , sequence_base > + { + typedef vector17 this_type; + typedef vector_data17 base_type; + typedef mpl::vector17 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<17> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector17() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector17( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector17(vector17&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector17(vector17 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector17& + operator=(vector17 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector17& + operator=(vector17&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector17( + vector17 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector17( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector17( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector17& + operator=(vector17 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data18 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data18() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data18( + vector_data18&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data18( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data18( + vector_data18 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data18& + operator=(vector_data18 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data18 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); + return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data18 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); + return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; + }; + template + struct vector18 + : vector_data18 + , sequence_base > + { + typedef vector18 this_type; + typedef vector_data18 base_type; + typedef mpl::vector18 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<18> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector18() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector18( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector18(vector18&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector18(vector18 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector18& + operator=(vector18 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector18& + operator=(vector18&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector18( + vector18 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector18( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector18( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector18& + operator=(vector18 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data19 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data19() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data19( + vector_data19&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data19( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data19( + vector_data19 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data19& + operator=(vector_data19 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data19 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); + return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data19 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); + return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; + }; + template + struct vector19 + : vector_data19 + , sequence_base > + { + typedef vector19 this_type; + typedef vector_data19 base_type; + typedef mpl::vector19 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<19> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector19() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector19( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector19(vector19&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector19(vector19 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector19& + operator=(vector19 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector19& + operator=(vector19&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector19( + vector19 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector19( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector19( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector19& + operator=(vector19 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data20 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data20() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data20( + vector_data20&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data20( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data20( + vector_data20 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data20& + operator=(vector_data20 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data20 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); + return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data20 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); + return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; + }; + template + struct vector20 + : vector_data20 + , sequence_base > + { + typedef vector20 this_type; + typedef vector_data20 base_type; + typedef mpl::vector20 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<20> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector20() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector20( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector20(vector20&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector20(vector20 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector20& + operator=(vector20 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector20& + operator=(vector20&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector20( + vector20 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector20( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector20( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector20& + operator=(vector20 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp new file mode 100644 index 000000000..b1672857a --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + + template + struct vector11; + template + struct vector12; + template + struct vector13; + template + struct vector14; + template + struct vector15; + template + struct vector16; + template + struct vector17; + template + struct vector18; + template + struct vector19; + template + struct vector20; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp new file mode 100644 index 000000000..c82345203 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp @@ -0,0 +1,1824 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + template + struct vector_data21 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data21() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data21( + vector_data21&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data21( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data21( + vector_data21 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data21& + operator=(vector_data21 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data21 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); + return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data21 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); + return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; + }; + template + struct vector21 + : vector_data21 + , sequence_base > + { + typedef vector21 this_type; + typedef vector_data21 base_type; + typedef mpl::vector21 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<21> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector21() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector21( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector21(vector21&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector21(vector21 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector21& + operator=(vector21 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector21& + operator=(vector21&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector21( + vector21 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector21( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector21( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector21& + operator=(vector21 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data22 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data22() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data22( + vector_data22&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data22( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data22( + vector_data22 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data22& + operator=(vector_data22 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data22 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); + return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data22 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); + return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; + }; + template + struct vector22 + : vector_data22 + , sequence_base > + { + typedef vector22 this_type; + typedef vector_data22 base_type; + typedef mpl::vector22 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<22> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector22() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector22( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector22(vector22&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector22(vector22 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector22& + operator=(vector22 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector22& + operator=(vector22&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector22( + vector22 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector22( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector22( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector22& + operator=(vector22 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data23 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data23() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data23( + vector_data23&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data23( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data23( + vector_data23 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data23& + operator=(vector_data23 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data23 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); + return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data23 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); + return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; + }; + template + struct vector23 + : vector_data23 + , sequence_base > + { + typedef vector23 this_type; + typedef vector_data23 base_type; + typedef mpl::vector23 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<23> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector23() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector23( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector23(vector23&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector23(vector23 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector23& + operator=(vector23 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector23& + operator=(vector23&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector23( + vector23 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector23( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector23( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector23& + operator=(vector23 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data24 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data24() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data24( + vector_data24&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data24( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data24( + vector_data24 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data24& + operator=(vector_data24 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data24 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); + return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data24 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); + return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; + }; + template + struct vector24 + : vector_data24 + , sequence_base > + { + typedef vector24 this_type; + typedef vector_data24 base_type; + typedef mpl::vector24 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<24> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector24() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector24( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector24(vector24&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector24(vector24 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector24& + operator=(vector24 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector24& + operator=(vector24&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector24( + vector24 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector24( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector24( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector24& + operator=(vector24 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data25 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data25() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data25( + vector_data25&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data25( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data25( + vector_data25 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data25& + operator=(vector_data25 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data25 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); + return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data25 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); + return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; + }; + template + struct vector25 + : vector_data25 + , sequence_base > + { + typedef vector25 this_type; + typedef vector_data25 base_type; + typedef mpl::vector25 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<25> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector25() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector25( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector25(vector25&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector25(vector25 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector25& + operator=(vector25 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector25& + operator=(vector25&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector25( + vector25 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector25( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector25( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector25& + operator=(vector25 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data26 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data26() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data26( + vector_data26&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data26( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data26( + vector_data26 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data26& + operator=(vector_data26 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data26 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); + return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data26 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); + return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; + }; + template + struct vector26 + : vector_data26 + , sequence_base > + { + typedef vector26 this_type; + typedef vector_data26 base_type; + typedef mpl::vector26 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<26> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector26() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector26( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector26(vector26&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector26(vector26 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector26& + operator=(vector26 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector26& + operator=(vector26&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector26( + vector26 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector26( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector26( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector26& + operator=(vector26 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data27 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data27() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data27( + vector_data27&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data27( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data27( + vector_data27 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data27& + operator=(vector_data27 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data27 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); + return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data27 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); + return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; + }; + template + struct vector27 + : vector_data27 + , sequence_base > + { + typedef vector27 this_type; + typedef vector_data27 base_type; + typedef mpl::vector27 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<27> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector27() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector27( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector27(vector27&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector27(vector27 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector27& + operator=(vector27 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector27& + operator=(vector27&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector27( + vector27 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector27( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector27( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector27& + operator=(vector27 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data28 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data28() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data28( + vector_data28&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data28( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data28( + vector_data28 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data28& + operator=(vector_data28 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data28 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); + return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data28 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); + return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; + }; + template + struct vector28 + : vector_data28 + , sequence_base > + { + typedef vector28 this_type; + typedef vector_data28 base_type; + typedef mpl::vector28 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<28> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector28() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector28( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector28(vector28&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector28(vector28 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector28& + operator=(vector28 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector28& + operator=(vector28&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector28( + vector28 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector28( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector28( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector28& + operator=(vector28 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data29 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data29() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data29( + vector_data29&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data29( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data29( + vector_data29 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data29& + operator=(vector_data29 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data29 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); + return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data29 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); + return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; + }; + template + struct vector29 + : vector_data29 + , sequence_base > + { + typedef vector29 this_type; + typedef vector_data29 base_type; + typedef mpl::vector29 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<29> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector29() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector29( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector29(vector29&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector29(vector29 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector29& + operator=(vector29 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector29& + operator=(vector29&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector29( + vector29 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector29( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector29( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector29& + operator=(vector29 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data30 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data30() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data30( + vector_data30&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data30( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data30( + vector_data30 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data30& + operator=(vector_data30 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data30 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); + return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data30 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); + return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; + }; + template + struct vector30 + : vector_data30 + , sequence_base > + { + typedef vector30 this_type; + typedef vector_data30 base_type; + typedef mpl::vector30 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<30> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector30() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector30( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector30(vector30&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector30(vector30 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector30& + operator=(vector30 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector30& + operator=(vector30&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector30( + vector30 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector30( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector30( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector30& + operator=(vector30 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp new file mode 100644 index 000000000..39f96aa83 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + + template + struct vector21; + template + struct vector22; + template + struct vector23; + template + struct vector24; + template + struct vector25; + template + struct vector26; + template + struct vector27; + template + struct vector28; + template + struct vector29; + template + struct vector30; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp new file mode 100644 index 000000000..ec16fcd94 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp @@ -0,0 +1,1824 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + template + struct vector_data31 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data31() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data31( + vector_data31&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data31( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data31( + vector_data31 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data31& + operator=(vector_data31 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data31 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); + return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data31 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); + return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; + }; + template + struct vector31 + : vector_data31 + , sequence_base > + { + typedef vector31 this_type; + typedef vector_data31 base_type; + typedef mpl::vector31 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<31> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector31() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector31( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector31(vector31&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector31(vector31 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector31& + operator=(vector31 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector31& + operator=(vector31&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector31( + vector31 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector31( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector31( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector31& + operator=(vector31 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data32 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data32() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data32( + vector_data32&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data32( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data32( + vector_data32 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data32& + operator=(vector_data32 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data32 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); + return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data32 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); + return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; + }; + template + struct vector32 + : vector_data32 + , sequence_base > + { + typedef vector32 this_type; + typedef vector_data32 base_type; + typedef mpl::vector32 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<32> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector32() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector32( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector32(vector32&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector32(vector32 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector32& + operator=(vector32 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector32& + operator=(vector32&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector32( + vector32 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector32( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector32( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector32& + operator=(vector32 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data33 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data33() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data33( + vector_data33&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data33( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data33( + vector_data33 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data33& + operator=(vector_data33 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data33 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); + return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data33 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); + return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; + }; + template + struct vector33 + : vector_data33 + , sequence_base > + { + typedef vector33 this_type; + typedef vector_data33 base_type; + typedef mpl::vector33 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<33> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector33() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector33( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector33(vector33&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector33(vector33 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector33& + operator=(vector33 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector33& + operator=(vector33&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector33( + vector33 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector33( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector33( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector33& + operator=(vector33 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data34 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data34() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data34( + vector_data34&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data34( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data34( + vector_data34 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data34& + operator=(vector_data34 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data34 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); + return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data34 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); + return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; + }; + template + struct vector34 + : vector_data34 + , sequence_base > + { + typedef vector34 this_type; + typedef vector_data34 base_type; + typedef mpl::vector34 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<34> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector34() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector34( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector34(vector34&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector34(vector34 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector34& + operator=(vector34 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector34& + operator=(vector34&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector34( + vector34 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector34( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector34( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector34& + operator=(vector34 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data35 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data35() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data35( + vector_data35&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data35( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data35( + vector_data35 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data35& + operator=(vector_data35 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data35 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); + return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data35 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); + return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; + }; + template + struct vector35 + : vector_data35 + , sequence_base > + { + typedef vector35 this_type; + typedef vector_data35 base_type; + typedef mpl::vector35 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<35> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector35() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector35( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector35(vector35&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector35(vector35 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector35& + operator=(vector35 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector35& + operator=(vector35&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector35( + vector35 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector35( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector35( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector35& + operator=(vector35 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data36 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data36() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data36( + vector_data36&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data36( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data36( + vector_data36 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data36& + operator=(vector_data36 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data36 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); + return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data36 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); + return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; + }; + template + struct vector36 + : vector_data36 + , sequence_base > + { + typedef vector36 this_type; + typedef vector_data36 base_type; + typedef mpl::vector36 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<36> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector36() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector36( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector36(vector36&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector36(vector36 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector36& + operator=(vector36 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector36& + operator=(vector36&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector36( + vector36 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector36( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector36( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector36& + operator=(vector36 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data37 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data37() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data37( + vector_data37&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data37( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data37( + vector_data37 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data37& + operator=(vector_data37 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data37 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); + return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data37 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); + return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; + }; + template + struct vector37 + : vector_data37 + , sequence_base > + { + typedef vector37 this_type; + typedef vector_data37 base_type; + typedef mpl::vector37 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<37> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector37() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector37( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector37(vector37&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector37(vector37 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector37& + operator=(vector37 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector37& + operator=(vector37&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector37( + vector37 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector37( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector37( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector37& + operator=(vector37 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data38 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data38() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data38( + vector_data38&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data38( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data38( + vector_data38 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data38& + operator=(vector_data38 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data38 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); + return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data38 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); + return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; + }; + template + struct vector38 + : vector_data38 + , sequence_base > + { + typedef vector38 this_type; + typedef vector_data38 base_type; + typedef mpl::vector38 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<38> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector38() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector38( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector38(vector38&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector38(vector38 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector38& + operator=(vector38 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector38& + operator=(vector38&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector38( + vector38 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector38( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector38( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector38& + operator=(vector38 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data39 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data39() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data39( + vector_data39&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data39( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data39( + vector_data39 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data39& + operator=(vector_data39 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data39 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); + return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data39 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); + return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; + }; + template + struct vector39 + : vector_data39 + , sequence_base > + { + typedef vector39 this_type; + typedef vector_data39 base_type; + typedef mpl::vector39 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<39> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector39() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector39( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector39(vector39&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector39(vector39 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector39& + operator=(vector39 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector39& + operator=(vector39&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector39( + vector39 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector39( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector39( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector39& + operator=(vector39 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data40 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data40() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data40( + vector_data40&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data40( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data40( + vector_data40 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data40& + operator=(vector_data40 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data40 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); + return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data40 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); + return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; + }; + template + struct vector40 + : vector_data40 + , sequence_base > + { + typedef vector40 this_type; + typedef vector_data40 base_type; + typedef mpl::vector40 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<40> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector40() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector40( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector40(vector40&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector40(vector40 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector40& + operator=(vector40 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector40& + operator=(vector40&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector40( + vector40 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector40( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector40( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector40& + operator=(vector40 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp new file mode 100644 index 000000000..e1d6e0911 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + + template + struct vector31; + template + struct vector32; + template + struct vector33; + template + struct vector34; + template + struct vector35; + template + struct vector36; + template + struct vector37; + template + struct vector38; + template + struct vector39; + template + struct vector40; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp new file mode 100644 index 000000000..2d787edfb --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp @@ -0,0 +1,1824 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + template + struct vector_data41 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data41() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data41( + vector_data41&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data41( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data41( + vector_data41 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data41& + operator=(vector_data41 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data41 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); + return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data41 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); + return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; + }; + template + struct vector41 + : vector_data41 + , sequence_base > + { + typedef vector41 this_type; + typedef vector_data41 base_type; + typedef mpl::vector41 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<41> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector41() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector41( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector41(vector41&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector41(vector41 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector41& + operator=(vector41 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector41& + operator=(vector41&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector41( + vector41 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector41( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector41( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector41& + operator=(vector41 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data42 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data42() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data42( + vector_data42&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data42( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data42( + vector_data42 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data42& + operator=(vector_data42 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data42 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); + return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data42 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); + return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; + }; + template + struct vector42 + : vector_data42 + , sequence_base > + { + typedef vector42 this_type; + typedef vector_data42 base_type; + typedef mpl::vector42 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<42> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector42() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector42( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector42(vector42&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector42(vector42 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector42& + operator=(vector42 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector42& + operator=(vector42&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector42( + vector42 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector42( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector42( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector42& + operator=(vector42 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data43 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data43() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data43( + vector_data43&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data43( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data43( + vector_data43 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data43& + operator=(vector_data43 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data43 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); + return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data43 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); + return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; + }; + template + struct vector43 + : vector_data43 + , sequence_base > + { + typedef vector43 this_type; + typedef vector_data43 base_type; + typedef mpl::vector43 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<43> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector43() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector43( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector43(vector43&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector43(vector43 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector43& + operator=(vector43 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector43& + operator=(vector43&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector43( + vector43 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector43( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector43( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector43& + operator=(vector43 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data44 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data44() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data44( + vector_data44&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data44( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data44( + vector_data44 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data44& + operator=(vector_data44 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data44 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); + return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data44 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); + return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; + }; + template + struct vector44 + : vector_data44 + , sequence_base > + { + typedef vector44 this_type; + typedef vector_data44 base_type; + typedef mpl::vector44 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<44> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector44() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector44( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector44(vector44&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector44(vector44 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector44& + operator=(vector44 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector44& + operator=(vector44&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector44( + vector44 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector44( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector44( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector44& + operator=(vector44 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data45 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data45() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data45( + vector_data45&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data45( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data45( + vector_data45 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data45& + operator=(vector_data45 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data45 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); + return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data45 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); + return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; + }; + template + struct vector45 + : vector_data45 + , sequence_base > + { + typedef vector45 this_type; + typedef vector_data45 base_type; + typedef mpl::vector45 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<45> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector45() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector45( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector45(vector45&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector45(vector45 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector45& + operator=(vector45 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector45& + operator=(vector45&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector45( + vector45 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector45( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector45( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector45& + operator=(vector45 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data46 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data46() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data46( + vector_data46&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data46( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data46( + vector_data46 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data46& + operator=(vector_data46 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data46 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); + return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data46 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); + return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; + }; + template + struct vector46 + : vector_data46 + , sequence_base > + { + typedef vector46 this_type; + typedef vector_data46 base_type; + typedef mpl::vector46 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<46> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector46() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector46( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector46(vector46&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector46(vector46 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector46& + operator=(vector46 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector46& + operator=(vector46&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector46( + vector46 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector46( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector46( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector46& + operator=(vector46 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data47 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data47() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data47( + vector_data47&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data47( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data47( + vector_data47 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data47& + operator=(vector_data47 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data47 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); + return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data47 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); + return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; + }; + template + struct vector47 + : vector_data47 + , sequence_base > + { + typedef vector47 this_type; + typedef vector_data47 base_type; + typedef mpl::vector47 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<47> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector47() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector47( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector47(vector47&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector47(vector47 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector47& + operator=(vector47 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector47& + operator=(vector47&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector47( + vector47 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector47( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector47( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector47& + operator=(vector47 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data48 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data48() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data48( + vector_data48&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data48( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data48( + vector_data48 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data48& + operator=(vector_data48 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data48 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); + return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data48 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); + return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; + }; + template + struct vector48 + : vector_data48 + , sequence_base > + { + typedef vector48 this_type; + typedef vector_data48 base_type; + typedef mpl::vector48 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<48> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector48() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector48( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector48(vector48&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector48(vector48 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector48& + operator=(vector48 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector48& + operator=(vector48&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector48( + vector48 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector48( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector48( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector48& + operator=(vector48 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data49 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data49() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data49( + vector_data49&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data49( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data49( + vector_data49 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data49& + operator=(vector_data49 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data49 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); + return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data49 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); + return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48; + }; + template + struct vector49 + : vector_data49 + , sequence_base > + { + typedef vector49 this_type; + typedef vector_data49 base_type; + typedef mpl::vector49 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<49> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector49() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector49( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector49(vector49&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector49(vector49 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector49& + operator=(vector49 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector49& + operator=(vector49&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); this->m48 = std::forward< T48>(vec.m48); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector49( + vector49 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector49( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector49( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector49& + operator=(vector49 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + template + struct vector_data50 + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data50() + : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() , m49() {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 + , typename boost::enable_if >::type* = 0 + ) + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) , m49(std::forward( arg49)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data50( + vector_data50&& other) + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) , m49(std::forward( other.m49)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector_data50( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) , m49(arg49) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data50( + vector_data50 const& other) + : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) , m49(other.m49) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_data50& + operator=(vector_data50 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; this->m49 = vec.m49; + return *this; + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data50 + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); + return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); + } + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + static vector_data50 + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); + return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); + } + T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48; T49 m49; + }; + template + struct vector50 + : vector_data50 + , sequence_base > + { + typedef vector50 this_type; + typedef vector_data50 base_type; + typedef mpl::vector50 types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<50> size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector50() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector50( + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector50(vector50&& rhs) + : base_type(std::forward(rhs)) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector50(vector50 const& rhs) + : base_type(static_cast(rhs)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector50& + operator=(vector50 const& vec) + { + base_type::operator=(vec); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector50& + operator=(vector50&& vec) + { + this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); this->m48 = std::forward< T48>(vec.m48); this->m49 = std::forward< T49>(vec.m49); + return *this; + } +# endif + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector50( + vector50 const& vec) + : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48 , vec.m49) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector50( + Sequence const& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector50( + Sequence& seq + , typename boost::enable_if >::type* = 0 + ) + : base_type(base_type::init_from_sequence(seq)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector50& + operator=(vector50 const& vec) + { + this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; this->m49 = vec.m49; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); + this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; this->m49 = *i49; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<49>) { return this->m49; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<49>) const { return this->m49; } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp new file mode 100644 index 000000000..6829e9b50 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + + template + struct vector41; + template + struct vector42; + template + struct vector43; + template + struct vector44; + template + struct vector45; + template + struct vector46; + template + struct vector47; + template + struct vector48; + template + struct vector49; + template + struct vector50; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp new file mode 100644 index 000000000..fb8f0e2f5 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp new file mode 100644 index 000000000..d631b5320 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp @@ -0,0 +1,84 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct vector_n_chooser + { + typedef vector10 type; + }; + template <> + struct vector_n_chooser + { + typedef vector0<> type; + }; + template + struct vector_n_chooser< + T0 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector1 type; + }; + template + struct vector_n_chooser< + T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector2 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector3 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector4 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_> + { + typedef vector5 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_> + { + typedef vector6 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_> + { + typedef vector7 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_> + { + typedef vector8 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_> + { + typedef vector9 type; + }; +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp new file mode 100644 index 000000000..9628f483e --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp @@ -0,0 +1,154 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct vector_n_chooser + { + typedef vector20 type; + }; + template <> + struct vector_n_chooser + { + typedef vector0<> type; + }; + template + struct vector_n_chooser< + T0 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector1 type; + }; + template + struct vector_n_chooser< + T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector2 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector3 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector4 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector5 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector6 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector7 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector8 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector9 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector10 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector11 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector12 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector13 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector14 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_> + { + typedef vector15 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_> + { + typedef vector16 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_> + { + typedef vector17 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_> + { + typedef vector18 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_> + { + typedef vector19 type; + }; +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp new file mode 100644 index 000000000..38edabf45 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp @@ -0,0 +1,224 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct vector_n_chooser + { + typedef vector30 type; + }; + template <> + struct vector_n_chooser + { + typedef vector0<> type; + }; + template + struct vector_n_chooser< + T0 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector1 type; + }; + template + struct vector_n_chooser< + T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector2 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector3 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector4 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector5 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector6 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector7 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector8 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector9 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector10 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector11 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector12 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector13 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector14 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector15 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector16 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector17 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector18 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector19 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector20 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector21 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector22 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector23 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector24 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + , void_ , void_ , void_ , void_ , void_> + { + typedef vector25 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + , void_ , void_ , void_ , void_> + { + typedef vector26 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + , void_ , void_ , void_> + { + typedef vector27 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + , void_ , void_> + { + typedef vector28 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + , void_> + { + typedef vector29 type; + }; +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp new file mode 100644 index 000000000..a784b7573 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp @@ -0,0 +1,294 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct vector_n_chooser + { + typedef vector40 type; + }; + template <> + struct vector_n_chooser + { + typedef vector0<> type; + }; + template + struct vector_n_chooser< + T0 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector1 type; + }; + template + struct vector_n_chooser< + T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector2 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector3 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector4 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector5 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector6 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector7 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector8 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector9 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector10 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector11 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector12 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector13 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector14 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector15 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector16 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector17 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector18 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector19 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector20 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector21 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector22 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector23 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector24 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector25 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector26 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector27 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector28 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector29 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector30 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector31 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector32 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 + , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector33 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 + , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector34 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 + , void_ , void_ , void_ , void_ , void_> + { + typedef vector35 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 + , void_ , void_ , void_ , void_> + { + typedef vector36 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 + , void_ , void_ , void_> + { + typedef vector37 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 + , void_ , void_> + { + typedef vector38 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 + , void_> + { + typedef vector39 type; + }; +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp new file mode 100644 index 000000000..fc9a260e2 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp @@ -0,0 +1,364 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct vector_n_chooser + { + typedef vector50 type; + }; + template <> + struct vector_n_chooser + { + typedef vector0<> type; + }; + template + struct vector_n_chooser< + T0 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector1 type; + }; + template + struct vector_n_chooser< + T0 , T1 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector2 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector3 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector4 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector5 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector6 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector7 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector8 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector9 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector10 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector11 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector12 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector13 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector14 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector15 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector16 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector17 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector18 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector19 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector20 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector21 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector22 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector23 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector24 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector25 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector26 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector27 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector28 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector29 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector30 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector31 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector32 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector33 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector34 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector35 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector36 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector37 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector38 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector39 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector40 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector41 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 + , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector42 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 + , void_ , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector43 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 + , void_ , void_ , void_ , void_ , void_ , void_> + { + typedef vector44 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 + , void_ , void_ , void_ , void_ , void_> + { + typedef vector45 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 + , void_ , void_ , void_ , void_> + { + typedef vector46 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 + , void_ , void_ , void_> + { + typedef vector47 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 + , void_ , void_> + { + typedef vector48 type; + }; + template + struct vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 + , void_> + { + typedef vector49 type; + }; +}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp new file mode 100644 index 000000000..42c3f5bc6 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp new file mode 100644 index 000000000..12b7a570c --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp @@ -0,0 +1,325 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0 + , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler + ) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 + ) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if_c< + boost::is_same::type>::value + , vector& + >::type + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp new file mode 100644 index 000000000..97f64fa35 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + > + struct vector; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp new file mode 100644 index 000000000..9c64ef05e --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp @@ -0,0 +1,505 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0 + , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler + ) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 + ) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if_c< + boost::is_same::type>::value + , vector& + >::type + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp new file mode 100644 index 000000000..8d4ea992d --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + > + struct vector; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp new file mode 100644 index 000000000..9df40b53a --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp @@ -0,0 +1,685 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0 + , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler + ) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 + ) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if_c< + boost::is_same::type>::value + , vector& + >::type + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp new file mode 100644 index 000000000..03f289e9c --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + > + struct vector; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp new file mode 100644 index 000000000..5da47eebc --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp @@ -0,0 +1,865 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0 + , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler + ) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 + ) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if_c< + boost::is_same::type>::value + , vector& + >::type + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp new file mode 100644 index 000000000..55c1097a7 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + > + struct vector; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp new file mode 100644 index 000000000..47e878bcc --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp @@ -0,0 +1,1045 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0 + , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler + ) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 + ) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 + ) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if_c< + boost::is_same::type>::value + , vector& + >::type + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp new file mode 100644 index 000000000..621f1606b --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + > + struct vector; +}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp b/external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp new file mode 100644 index 000000000..44feb6002 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_AT_IMPL_05052005_0232) +#define FUSION_VALUE_AT_IMPL_05052005_0232 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef typename mpl::at::type type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector.hpp new file mode 100644 index 000000000..f5c3024ea --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector.hpp @@ -0,0 +1,254 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2017 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR_07072005_1244) +#define FUSION_VECTOR_07072005_1244 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define FUSION_HASH # + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) + +#define BOOST_FUSION_VECTOR_COPY_INIT() \ + ctor_helper(rhs, is_base_of()) \ + +#define BOOST_FUSION_VECTOR_CTOR_HELPER() \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static vector_n const& \ + ctor_helper(vector const& rhs, mpl::true_) \ + { \ + return rhs.vec; \ + } \ + \ + template \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static T const& \ + ctor_helper(T const& rhs, mpl::false_) \ + { \ + return rhs; \ + } + +#else + +#define BOOST_FUSION_VECTOR_COPY_INIT() \ + rhs \ + +#define BOOST_FUSION_VECTOR_CTOR_HELPER() + +#endif + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + + template + struct vector + : sequence_base > + { + private: + + typedef typename detail::vector_n_chooser< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type + vector_n; + + template + friend struct vector; + + public: + + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename enable_if, detail::enabler_>::type = detail::enabler) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + // Expand a couple of forwarding constructors for arguments + // of type (T0), (T0, T1), (T0, T1, T2) etc. Example: + // + // vector( + // typename detail::call_param::type arg0 + // , typename detail::call_param::type arg1) + // : vec(arg0, arg1) {} + #include + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if_c< + boost::is_same::type>::value + , vector& + >::type + operator=(T&& rhs) + { + vec = BOOST_FUSION_FWD_ELEM(T, rhs); + return *this; + } +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I /*index*/) + { + return vec.at_impl(mpl::int_()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I /*index*/) const + { + return vec.at_impl(mpl::int_()); + } + + private: + + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef FUSION_HASH +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector10.hpp new file mode 100644 index 000000000..58a31ddec --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector10.hpp @@ -0,0 +1,105 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR10_05042005_0257) +#define FUSION_VECTOR10_05042005_0257 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + + template + struct vector0 : sequence_base > + { + typedef mpl::vector0<> types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<0> size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector0() BOOST_NOEXCEPT {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector0(Sequence const& /*seq*/) BOOST_NOEXCEPT + {} + }; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector10.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector1 to vector10 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, 10) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp new file mode 100644 index 000000000..d221faece --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp @@ -0,0 +1,64 @@ +#ifndef BOOST_PP_IS_ITERATING +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VECTOR10_FWD_HPP_INCLUDED) +#define BOOST_FUSION_VECTOR10_FWD_HPP_INCLUDED + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct vector0; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector10_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + // expand vector1 to vector10 + #define BOOST_PP_FILENAME_1 + #define BOOST_PP_ITERATION_LIMITS (1, 10) + #include BOOST_PP_ITERATE() +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + +#else + + template + struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector20.hpp new file mode 100644 index 000000000..89f644c5a --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector20.hpp @@ -0,0 +1,81 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR20_05052005_0205) +#define FUSION_VECTOR20_05052005_0205 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector20.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector11 to vector20 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (11, 20) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp new file mode 100644 index 000000000..e69b59f4a --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp @@ -0,0 +1,59 @@ +#ifndef BOOST_PP_IS_ITERATING +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VECTOR20_FWD_HPP_INCLUDED) +#define BOOST_FUSION_VECTOR20_FWD_HPP_INCLUDED + +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector20_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + // expand vector11 to vector20 + #define BOOST_PP_FILENAME_1 + #define BOOST_PP_ITERATION_LIMITS (11, 20) + #include BOOST_PP_ITERATE() +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + +#else + + template + struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector30.hpp new file mode 100644 index 000000000..ad838c9ac --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector30.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR30_05052005_0206) +#define FUSION_VECTOR30_05052005_0206 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector30.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector21 to vector30 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (21, 30) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp new file mode 100644 index 000000000..e799b0965 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp @@ -0,0 +1,59 @@ +#ifndef BOOST_PP_IS_ITERATING +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VECTOR30_FWD_HPP_INCLUDED) +#define BOOST_FUSION_VECTOR30_FWD_HPP_INCLUDED + +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector30_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + // expand vector21 to vector30 + #define BOOST_PP_FILENAME_1 + #define BOOST_PP_ITERATION_LIMITS (21, 30) + #include BOOST_PP_ITERATE() +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + +#else + + template + struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector40.hpp new file mode 100644 index 000000000..10770907e --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector40.hpp @@ -0,0 +1,81 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR40_05052005_0208) +#define FUSION_VECTOR40_05052005_0208 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector40.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector31 to vector40 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (31, 40) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp new file mode 100644 index 000000000..790dd7613 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp @@ -0,0 +1,59 @@ +#ifndef BOOST_PP_IS_ITERATING +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VECTOR40_FWD_HPP_INCLUDED) +#define BOOST_FUSION_VECTOR40_FWD_HPP_INCLUDED + +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector40_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + // expand vector31 to vector40 + #define BOOST_PP_FILENAME_1 + #define BOOST_PP_ITERATION_LIMITS (31, 40) + #include BOOST_PP_ITERATE() +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + +#else + + template + struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector50.hpp new file mode 100644 index 000000000..6c0b48bbc --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector50.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR50_05052005_0207) +#define FUSION_VECTOR50_05052005_0207 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector50.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector41 to vector50 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (41, 50) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp new file mode 100644 index 000000000..4ec5e2812 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp @@ -0,0 +1,59 @@ +#ifndef BOOST_PP_IS_ITERATING +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VECTOR50_FWD_HPP_INCLUDED) +#define BOOST_FUSION_VECTOR50_FWD_HPP_INCLUDED + +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector50_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2011 Eric Niebler + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + // expand vector41 to vector50 + #define BOOST_PP_FILENAME_1 + #define BOOST_PP_ITERATION_LIMITS (41, 50) + #include BOOST_PP_ITERATE() +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + +#else + + template + struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp new file mode 100644 index 000000000..3422e4b99 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp @@ -0,0 +1,79 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_VECTOR_FORWARD_CTOR_07122005_1123) +#define FUSION_VECTOR_FORWARD_CTOR_07122005_1123 + +#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef FUSION_FORWARD_CTOR_FORWARD +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define M BOOST_PP_ITERATION() + + // XXX: +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED +#if M == 1 + explicit +#endif + vector(BOOST_PP_ENUM_BINARY_PARAMS( + M, typename detail::call_param::type arg)) + : vec(BOOST_PP_ENUM_PARAMS(M, arg)) {} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + template + // XXX: +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED +#if M == 1 + explicit +#endif + vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg) +#if M == 1 + , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler +#endif + ) + : vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {} +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + +#undef M +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp new file mode 100644 index 000000000..f894b1a69 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR_FORWARD_07072005_0125) +#define FUSION_VECTOR_FORWARD_07072005_0125 + +#include +#include +#include + +#include +#if (FUSION_MAX_VECTOR_SIZE > 10) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 20) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 30) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 40) +#include +#endif + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + > + struct vector; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp new file mode 100644 index 000000000..932ce36c7 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp @@ -0,0 +1,354 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +// No include guard. This file is meant to be included many times + +#if !defined(FUSION_MACRO_05042005) +#define FUSION_MACRO_05042005 + +#define FUSION_VECTOR_CTOR_DEFAULT_INIT(z, n, _) \ + m##n() + +#define FUSION_VECTOR_CTOR_INIT(z, n, _) \ + m##n(_##n) + +#define FUSION_VECTOR_MEMBER_CTOR_INIT(z, n, _) \ + m##n(other.m##n) + +#define FUSION_VECTOR_CTOR_FORWARD(z, n, _) \ + m##n(BOOST_FUSION_FWD_ELEM(T##n, other.m##n)) + +#define FUSION_VECTOR_CTOR_ARG_FWD(z, n, _) \ + m##n(BOOST_FUSION_FWD_ELEM(U##n, _##n)) + +#define FUSION_VECTOR_MEMBER_DECL(z, n, _) \ + T##n m##n; + +#define FUSION_VECTOR_MEMBER_FORWARD(z, n, _) \ + BOOST_FUSION_FWD_ELEM(U##n, _##n) + +#define FUSION_VECTOR_MEMBER_ASSIGN(z, n, _) \ + this->BOOST_PP_CAT(m, n) = vec.BOOST_PP_CAT(m, n); + +#define FUSION_VECTOR_MEMBER_DEREF_ASSIGN(z, n, _) \ + this->BOOST_PP_CAT(m, n) = *BOOST_PP_CAT(i, n); + +#define FUSION_VECTOR_MEMBER_MOVE(z, n, _) \ + this->BOOST_PP_CAT(m, n) = std::forward< \ + BOOST_PP_CAT(T, n)>(vec.BOOST_PP_CAT(m, n)); + +#define FUSION_VECTOR_MEMBER_AT_IMPL(z, n, _) \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + typename add_reference::type \ + at_impl(mpl::int_) { return this->m##n; } \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + typename add_reference::type>::type \ + at_impl(mpl::int_) const { return this->m##n; } + +#define FUSION_VECTOR_MEMBER_ITER_DECL_VAR(z, n, _) \ + typedef typename result_of::next< \ + BOOST_PP_CAT(I, BOOST_PP_DEC(n))>::type BOOST_PP_CAT(I, n); \ + BOOST_PP_CAT(I, n) BOOST_PP_CAT(i, n) \ + = fusion::next(BOOST_PP_CAT(i, BOOST_PP_DEC(n))); + +#endif + +#define N BOOST_PP_ITERATION() + + template + struct BOOST_PP_CAT(vector_data, N) + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector_data, N)() + : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_DEFAULT_INIT, _) {} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) + , typename boost::enable_if >::type* /*dummy*/ = 0 + ) + : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_ARG_FWD, arg) {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector_data, N)( + BOOST_PP_CAT(vector_data, N)&& other) + : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_FORWARD, arg) {} +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector_data, N)( + BOOST_PP_ENUM_BINARY_PARAMS( + N, typename detail::call_param::type arg)) + : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_INIT, arg) {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector_data, N)( + BOOST_PP_CAT(vector_data, N) const& other) + : BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_CTOR_INIT, _) {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector_data, N)& + operator=(BOOST_PP_CAT(vector_data, N) const& vec) + { + BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _) + return *this; + } + + template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + static BOOST_PP_CAT(vector_data, N) + init_from_sequence(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) + return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i)); + } + + template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + static BOOST_PP_CAT(vector_data, N) + init_from_sequence(Sequence& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) + return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i)); + } + + BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DECL, _) + }; + + template + struct BOOST_PP_CAT(vector, N) + : BOOST_PP_CAT(vector_data, N) + , sequence_base > + { + typedef BOOST_PP_CAT(vector, N) this_type; + typedef BOOST_PP_CAT(vector_data, N) base_type; + typedef mpl::BOOST_PP_CAT(vector, N) types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_ size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)() {} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED +#if (N == 1) + explicit +#endif + BOOST_PP_CAT(vector, N)( + BOOST_PP_ENUM_BINARY_PARAMS( + N, typename detail::call_param::type arg)) + : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED +#if (N == 1) + explicit + BOOST_PP_CAT(vector, N)(U0&& _0 + , typename boost::enable_if >::type* /*dummy*/ = 0 + ) + : base_type(BOOST_FUSION_FWD_ELEM(U0, _0)) {} +#else + BOOST_PP_CAT(vector, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg)) + : base_type(BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_FORWARD, arg)) {} +#endif + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N)&& rhs) + : base_type(std::forward(rhs)) {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N) const& rhs) + : base_type(static_cast(rhs)) {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)& + operator=(BOOST_PP_CAT(vector, N) const& vec) + { + base_type::operator=(vec); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)& + operator=(BOOST_PP_CAT(vector, N)&& vec) + { + BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_MOVE, _) + return *this; + } +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + + template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)( + BOOST_PP_CAT(vector, N) const& vec) + : base_type(BOOST_PP_ENUM_PARAMS(N, vec.m)) {} + + template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)( + Sequence const& seq + , typename boost::enable_if >::type* = 0 +#if (N == 1) + , typename boost::disable_if >::type* /*dummy*/ = 0 +#endif + ) + : base_type(base_type::init_from_sequence(seq)) {} + + template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)( + Sequence& seq + , typename boost::enable_if >::type* = 0 +#if (N == 1) + , typename boost::disable_if >::type* /*dummy*/ = 0 +#endif + ) + : base_type(base_type::init_from_sequence(seq)) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_PP_CAT(vector, N)& + operator=(BOOST_PP_CAT(vector, N) const& vec) + { + BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _) + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::disable_if, this_type&>::type + operator=(Sequence const& seq) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(seq); + BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) + BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DEREF_ASSIGN, _) + return *this; + } + + BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_AT_IMPL, _) + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + at_impl(I) + { + return this->at_impl(mpl::int_()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type>::type + at_impl(I) const + { + return this->at_impl(mpl::int_()); + } + }; + +#undef N diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp new file mode 100644 index 000000000..002889ceb --- /dev/null +++ b/external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp @@ -0,0 +1,107 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_VECTOR_N_CHOOSER_07072005_1248) +#define FUSION_VECTOR_N_CHOOSER_07072005_1248 + +#include + +// include vector0..N where N is FUSION_MAX_VECTOR_SIZE +#include +#if (FUSION_MAX_VECTOR_SIZE > 10) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 20) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 30) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 40) +#include +#endif + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct void_; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_chooser" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ + template + struct vector_n_chooser + { + typedef BOOST_PP_CAT(vector, FUSION_MAX_VECTOR_SIZE) type; + }; + + template <> + struct vector_n_chooser + { + typedef vector0<> type; + }; + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_DEC(FUSION_MAX_VECTOR_SIZE)) +#include BOOST_PP_ITERATE() + +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#else // defined(BOOST_PP_IS_ITERATING) + +#define N BOOST_PP_ITERATION() + + template + struct vector_n_chooser< + BOOST_PP_ENUM_PARAMS(N, T) + BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(FUSION_MAX_VECTOR_SIZE, N), void_ BOOST_PP_INTERCEPT)> + { + typedef BOOST_PP_CAT(vector, N) type; + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/external/boost/fusion/container/vector/detail/deref_impl.hpp b/external/boost/fusion/container/vector/detail/deref_impl.hpp new file mode 100644 index 000000000..c85bb82b3 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/deref_impl.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_IMPL_05042005_1037) +#define FUSION_DEREF_IMPL_05042005_1037 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename Iterator::vector vector; + typedef typename Iterator::index index; + typedef typename value_at_impl::template apply::type element; + + typedef typename + mpl::if_< + is_const + , typename fusion::detail::cref_result::type + , typename fusion::detail::ref_result::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return i.vec.at_impl(index()); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/distance_impl.hpp b/external/boost/fusion/container/vector/detail/distance_impl.hpp new file mode 100644 index 000000000..4c2a1226d --- /dev/null +++ b/external/boost/fusion/container/vector/detail/distance_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DISTANCE_IMPL_09172005_0751) +#define FUSION_DISTANCE_IMPL_09172005_0751 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + + namespace extension + { + template + struct distance_impl; + + template <> + struct distance_impl + { + template + struct apply : mpl::minus + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename mpl::minus< + typename Last::index, typename First::index>::type + call(First const&, Last const&) + { + typedef typename mpl::minus< + typename Last::index, typename First::index>::type + result; + return result(); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/end_impl.hpp b/external/boost/fusion/container/vector/detail/end_impl.hpp new file mode 100644 index 000000000..a77ef644e --- /dev/null +++ b/external/boost/fusion/container/vector/detail/end_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_05042005_1142) +#define FUSION_END_IMPL_05042005_1142 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::size size; + typedef vector_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/equal_to_impl.hpp b/external/boost/fusion/container/vector/detail/equal_to_impl.hpp new file mode 100644 index 000000000..18b3e4a31 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/equal_to_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EQUAL_TO_IMPL_05052005_1215) +#define FUSION_EQUAL_TO_IMPL_05052005_1215 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + + namespace extension + { + template + struct equal_to_impl; + + template <> + struct equal_to_impl + { + template + struct apply + : is_same< + typename I1::identity + , typename I2::identity + > + { + }; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/container/vector/detail/next_impl.hpp b/external/boost/fusion/container/vector/detail/next_impl.hpp new file mode 100644 index 000000000..28408205d --- /dev/null +++ b/external/boost/fusion/container/vector/detail/next_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_IMPL_05042005_1058) +#define FUSION_NEXT_IMPL_05042005_1058 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + template + struct vector_iterator; + + namespace extension + { + template + struct next_impl; + + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::vector vector; + typedef typename Iterator::index index; + typedef vector_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.vec); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/prior_impl.hpp b/external/boost/fusion/container/vector/detail/prior_impl.hpp new file mode 100644 index 000000000..4d040d395 --- /dev/null +++ b/external/boost/fusion/container/vector/detail/prior_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PRIOR_IMPL_05042005_1145) +#define FUSION_PRIOR_IMPL_05042005_1145 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + template + struct vector_iterator; + + namespace extension + { + template + struct prior_impl; + + template <> + struct prior_impl + { + template + struct apply + { + typedef typename Iterator::vector vector; + typedef typename Iterator::index index; + typedef vector_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.vec); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/detail/value_at_impl.hpp b/external/boost/fusion/container/vector/detail/value_at_impl.hpp new file mode 100644 index 000000000..a2b9b2f6b --- /dev/null +++ b/external/boost/fusion/container/vector/detail/value_at_impl.hpp @@ -0,0 +1,62 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VALUE_AT_IMPL_16122014_1641 +#define FUSION_VALUE_AT_IMPL_16122014_1641 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace vector_detail + { + template + struct store; + + template + static inline BOOST_FUSION_GPU_ENABLED + U value_at_impl(store const volatile*); + } + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef + decltype(vector_detail::value_at_impl(boost::declval())) + type; + }; + }; + } +}} + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/detail/value_of_impl.hpp b/external/boost/fusion/container/vector/detail/value_of_impl.hpp new file mode 100644 index 000000000..d67ab3fcc --- /dev/null +++ b/external/boost/fusion/container/vector/detail/value_of_impl.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_OF_IMPL_05052005_1128) +#define FUSION_VALUE_OF_IMPL_05052005_1128 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + + namespace extension + { + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename Iterator::vector vector; + typedef typename Iterator::index index; + typedef typename value_at_impl::template apply::type type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/container/vector/vector.hpp b/external/boost/fusion/container/vector/vector.hpp new file mode 100644 index 000000000..1d6c5f1f2 --- /dev/null +++ b/external/boost/fusion/container/vector/vector.hpp @@ -0,0 +1,322 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR_11052014_1625 +#define FUSION_VECTOR_11052014_1625 + +#include +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + struct random_access_traversal_tag; + + namespace vector_detail + { + struct each_elem {}; + + template < + typename This, typename T, typename T_, std::size_t Size, bool IsSeq + > + struct can_convert_impl : false_type {}; + + template + struct can_convert_impl : true_type {}; + + template + struct can_convert_impl + : integral_constant< + bool + , !is_convertible< + Sequence + , typename fusion::extension::value_at_impl:: + template apply< This, mpl::int_<0> >::type + >::value + > + {}; + + template + struct can_convert + : can_convert_impl< + This, T, T_, Size, traits::is_sequence::value + > + {}; + + template + struct is_longer_sequence_impl : false_type {}; + + template + struct is_longer_sequence_impl + : integral_constant< + bool, (fusion::result_of::size::value >= Size) + > + {}; + + template + struct is_longer_sequence + : is_longer_sequence_impl::value, Size> + {}; + + // forward_at_c allows to access Nth element even if ForwardSequence + // since fusion::at_c requires RandomAccessSequence. + namespace result_of + { + template + struct forward_at_c + : fusion::result_of::deref< + typename fusion::result_of::advance_c< + typename fusion::result_of::begin< + typename remove_reference::type + >::type + , N + >::type + > + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::forward_at_c::type + forward_at_c(Sequence&& seq) + { + typedef typename + result_of::forward_at_c::type + result; + return std::forward(*advance_c(begin(seq))); + } + + // Object proxy since preserve object order + template + struct store + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + store() + : elem() // value-initialized explicitly + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + store(store const& rhs) + : elem(rhs.elem) + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + store& + operator=(store const& rhs) + { + elem = rhs.elem; + return *this; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + store(store&& rhs) + : elem(static_cast(rhs.elem)) + {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + store& + operator=(store&& rhs) + { + elem = static_cast(rhs.elem); + return *this; + } + + template < + typename U + , typename = typename boost::disable_if< + is_base_of::type> + >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + store(U&& rhs) + : elem(std::forward(rhs)) + {} + + T elem; + }; + + template + struct vector_data; + + template + struct vector_data, T...> + : store... + , sequence_base, T...> > + { + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_ size; + typedef vector type_sequence; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_DEFAULTED_FUNCTION(vector_data(), {}) + + template < + typename Sequence + , typename Sequence_ = typename remove_reference::type + , typename = typename boost::enable_if< + can_convert + >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + vector_data(each_elem, Sequence&& rhs) + : store(forward_at_c(std::forward(rhs)))... + {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + vector_data(each_elem, U&&... var) + : store(std::forward(var))... + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void + assign_sequence(Sequence&& seq) + { + assign(std::forward(seq), detail::index_sequence()); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void + assign(Sequence&&, detail::index_sequence<>) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void + assign(Sequence&& seq, detail::index_sequence) + { + at_impl(mpl::int_()) = vector_detail::forward_at_c(seq); + assign(std::forward(seq), detail::index_sequence()); + } + + template + static BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + U& at_detail(store* this_) + { + return this_->elem; + } + + template + static BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + U const& at_detail(store const* this_) + { + return this_->elem; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + auto at_impl(J) -> decltype(at_detail(this)) + { + return at_detail(this); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + auto at_impl(J) const -> decltype(at_detail(this)) + { + return at_detail(this); + } + }; + } // namespace boost::fusion::vector_detail + + template + struct vector + : vector_detail::vector_data< + typename detail::make_index_sequence::type + , T... + > + { + typedef vector_detail::vector_data< + typename detail::make_index_sequence::type + , T... + > base; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_DEFAULTED_FUNCTION(vector(), {}) + + template < + typename... U + , typename = typename boost::enable_if_c<( + sizeof...(U) >= 1 && + fusion::detail::and_...>::value && + !fusion::detail::and_< + is_base_of::type>... + >::value + )>::type + > + // XXX: constexpr become error due to pull-request #79, booooo!! + // In the (near) future release, should be fixed. + /* BOOST_CONSTEXPR */ BOOST_FUSION_GPU_ENABLED + explicit vector(U&&... u) + : base(vector_detail::each_elem(), std::forward(u)...) + {} + + template < + typename Sequence + , typename = typename boost::enable_if_c< + vector_detail::is_longer_sequence< + typename remove_reference::type, sizeof...(T) + >::value + >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(Sequence&& seq) + : base(vector_detail::each_elem(), std::forward(seq)) + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(Sequence&& rhs) + { + base::assign_sequence(std::forward(rhs)); + return *this; + } + }; +}} + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/vector10.hpp b/external/boost/fusion/container/vector/vector10.hpp new file mode 100644 index 000000000..65722fe64 --- /dev/null +++ b/external/boost/fusion/container/vector/vector10.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR10_11052014_2316 +#define FUSION_VECTOR10_11052014_2316 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/vector20.hpp b/external/boost/fusion/container/vector/vector20.hpp new file mode 100644 index 000000000..c36e50c7d --- /dev/null +++ b/external/boost/fusion/container/vector/vector20.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR20_11052014_2316 +#define FUSION_VECTOR20_11052014_2316 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/vector30.hpp b/external/boost/fusion/container/vector/vector30.hpp new file mode 100644 index 000000000..e9f891f28 --- /dev/null +++ b/external/boost/fusion/container/vector/vector30.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR30_11052014_2316 +#define FUSION_VECTOR30_11052014_2316 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/vector40.hpp b/external/boost/fusion/container/vector/vector40.hpp new file mode 100644 index 000000000..4b753a084 --- /dev/null +++ b/external/boost/fusion/container/vector/vector40.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR40_11052014_2316 +#define FUSION_VECTOR40_11052014_2316 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/vector50.hpp b/external/boost/fusion/container/vector/vector50.hpp new file mode 100644 index 000000000..5d8d35631 --- /dev/null +++ b/external/boost/fusion/container/vector/vector50.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR50_11052014_2316 +#define FUSION_VECTOR50_11052014_2316 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/vector_fwd.hpp b/external/boost/fusion/container/vector/vector_fwd.hpp new file mode 100644 index 000000000..dcb0a0fc0 --- /dev/null +++ b/external/boost/fusion/container/vector/vector_fwd.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_VECTOR_FORWARD_11052014_1626 +#define FUSION_VECTOR_FORWARD_11052014_1626 + +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +namespace boost { namespace fusion +{ + template + struct vector; + +#define FUSION_VECTOR_N_ALIASES(z, N, d) \ + template \ + using BOOST_PP_CAT(vector, N) = vector; + + BOOST_PP_REPEAT(51, FUSION_VECTOR_N_ALIASES, ~) + +#undef FUSION_VECTOR_N_ALIASES +}} + +#endif +#endif + diff --git a/external/boost/fusion/container/vector/vector_iterator.hpp b/external/boost/fusion/container/vector/vector_iterator.hpp new file mode 100644 index 000000000..150530d14 --- /dev/null +++ b/external/boost/fusion/container/vector/vector_iterator.hpp @@ -0,0 +1,62 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VECTOR_ITERATOR_05042005_0635) +#define FUSION_VECTOR_ITERATOR_05042005_0635 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_iterator_tag; + struct random_access_traversal_tag; + + template + struct vector_iterator_identity; + + template + struct vector_iterator : iterator_base > + { + typedef mpl::int_ index; + typedef Vector vector; + typedef vector_iterator_tag fusion_tag; + typedef random_access_traversal_tag category; + typedef vector_iterator_identity< + typename add_const::type, N> identity; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_iterator(Vector& in_vec) + : vec(in_vec) {} + + Vector& vec; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + vector_iterator& operator= (vector_iterator const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::vector_iterator > + { }; +} +#endif + +#endif + diff --git a/external/boost/fusion/functional.hpp b/external/boost/fusion/functional.hpp new file mode 100644 index 000000000..56b25cff0 --- /dev/null +++ b/external/boost/fusion/functional.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_HPP_INCLUDED + +#include +#include +#include +#include + +#endif + diff --git a/external/boost/fusion/functional/adapter.hpp b/external/boost/fusion/functional/adapter.hpp new file mode 100644 index 000000000..a4ddc7a38 --- /dev/null +++ b/external/boost/fusion/functional/adapter.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED +#include +#include +#include +#include +#include +#include +#endif diff --git a/external/boost/fusion/functional/adapter/detail/access.hpp b/external/boost/fusion/functional/adapter/detail/access.hpp new file mode 100644 index 000000000..ee03ffd0a --- /dev/null +++ b/external/boost/fusion/functional/adapter/detail/access.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED + +namespace boost { namespace fusion { namespace detail +{ + // const reference deduction for function templates that accept T const & + template struct cref { typedef T const& type; }; + template struct cref { typedef T const& type; }; + template struct cref { typedef T const& type; }; + + // mutable reference deduction for function templates that accept T & + template struct mref { typedef T & type; }; + template struct mref { typedef T & type; }; + + // generic reference deduction for function templates that are overloaded + // to accept both T const & and T & + template struct gref { typedef T const& type; }; + template struct gref { typedef T & type; }; + template struct gref { typedef T const& type; }; + + // appropriately qualified target function in const context + template struct qf_c { typedef T const type; }; + template struct qf_c { typedef T const type; }; + template struct qf_c { typedef T type; }; + + // appropriately qualified target function in non-const context + template struct qf { typedef T type; }; + template struct qf { typedef T const type; }; + template struct qf { typedef T type; }; +}}} + +#endif + diff --git a/external/boost/fusion/functional/adapter/fused.hpp b/external/boost/fusion/functional/adapter/fused.hpp new file mode 100644 index 000000000..c27d0acc5 --- /dev/null +++ b/external/boost/fusion/functional/adapter/fused.hpp @@ -0,0 +1,101 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED + +#include +#include +#include + +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + template class fused; + + //----- ---- --- -- - - - - + + template + class fused + { + Function fnc_transformed; + + typedef typename detail::qf_c::type & func_const_fwd_t; + typedef typename detail::qf::type & func_fwd_t; + + public: + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline explicit fused(func_const_fwd_t f = Function()) + : fnc_transformed(f) + { } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke::type + operator()(Seq const & s) const + { + return fusion::invoke(this->fnc_transformed,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke::type + operator()(Seq const & s) + { + return fusion::invoke(this->fnc_transformed,s); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke::type + operator()(Seq & s) const + { + return fusion::invoke(this->fnc_transformed,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke::type + operator()(Seq & s) + { + return fusion::invoke(this->fnc_transformed,s); + } + + template + struct result; + + template + struct result< Self const (Seq) > + : result_of::invoke::type > + { }; + + template + struct result< Self(Seq) > + : result_of::invoke::type > + { }; + + }; + +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif + diff --git a/external/boost/fusion/functional/adapter/fused_function_object.hpp b/external/boost/fusion/functional/adapter/fused_function_object.hpp new file mode 100644 index 000000000..cdb9c24bd --- /dev/null +++ b/external/boost/fusion/functional/adapter/fused_function_object.hpp @@ -0,0 +1,106 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED + +#include +#include +#include + +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + template class fused_function_object; + + //----- ---- --- -- - - - - + + template + class fused_function_object + { + Function fnc_transformed; + + typedef typename detail::qf_c::type & func_const_fwd_t; + typedef typename detail::qf::type & func_fwd_t; + + public: + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline explicit fused_function_object(func_const_fwd_t f = Function()) + : fnc_transformed(f) + { } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_function_object::type operator()(Seq const & s) const + { + return fusion::invoke_function_object< + func_const_fwd_t >(this->fnc_transformed,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_function_object::type + operator()(Seq const & s) + { + return fusion::invoke_function_object< + func_fwd_t >(this->fnc_transformed,s); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_function_object::type + operator()(Seq & s) const + { + return fusion::invoke_function_object< + func_const_fwd_t >(this->fnc_transformed,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_function_object::type + operator()(Seq & s) + { + return fusion::invoke_function_object< + func_fwd_t >(this->fnc_transformed,s); + } + + template + struct result; + + template + struct result< Self const (Seq) > + : result_of::invoke_function_object::type > + { }; + + template + struct result< Self(Seq) > + : result_of::invoke_function_object::type > + { }; + }; + +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif + diff --git a/external/boost/fusion/functional/adapter/fused_procedure.hpp b/external/boost/fusion/functional/adapter/fused_procedure.hpp new file mode 100644 index 000000000..79be21767 --- /dev/null +++ b/external/boost/fusion/functional/adapter/fused_procedure.hpp @@ -0,0 +1,86 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED + +#include +#include +#include + +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + template class fused_procedure; + + //----- ---- --- -- - - - - + + template + class fused_procedure + { + Function fnc_transformed; + + typedef typename detail::qf_c::type & func_const_fwd_t; + typedef typename detail::qf::type & func_fwd_t; + + public: + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline explicit fused_procedure(func_const_fwd_t f = Function()) + : fnc_transformed(f) + { } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void operator()(Seq const & s) const + { + fusion::invoke_procedure< + func_const_fwd_t >(this->fnc_transformed,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void operator()(Seq const & s) + { + fusion::invoke_procedure< + func_fwd_t >(this->fnc_transformed,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void operator()(Seq & s) const + { + fusion::invoke_procedure< + func_const_fwd_t >(this->fnc_transformed,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline void operator()(Seq & s) + { + return fusion::invoke_procedure< + func_fwd_t >(this->fnc_transformed,s); + } + + typedef void result_type; + }; +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif + diff --git a/external/boost/fusion/functional/adapter/limits.hpp b/external/boost/fusion/functional/adapter/limits.hpp new file mode 100644 index 000000000..9fb5a2a2c --- /dev/null +++ b/external/boost/fusion/functional/adapter/limits.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED) +# define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED + +# include +# if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +# endif + +# if !defined(BOOST_FUSION_UNFUSED_MAX_ARITY) +# define BOOST_FUSION_UNFUSED_MAX_ARITY 6 +# elif !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) && \ + (BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE) +# error "BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" +# endif +# if !defined(BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY) +# define BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY 6 +# elif !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) && \ + (BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE) +# error "BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" +# endif + +#endif + diff --git a/external/boost/fusion/functional/adapter/unfused.hpp b/external/boost/fusion/functional/adapter/unfused.hpp new file mode 100644 index 000000000..9d85869dc --- /dev/null +++ b/external/boost/fusion/functional/adapter/unfused.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED) +#if !defined(BOOST_PP_IS_ITERATING) + +#include +#include +#include +#include +#include + +#include + +#include + +#include + +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + template + class unfused; + + //----- ---- --- -- - - - - + + template + class unfused + : public unfused + { + typedef typename detail::qf_c::type function_c; + typedef typename detail::qf::type function; + typedef typename detail::call_param::type func_const_fwd_t; + public: + + using unfused::operator(); + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline explicit unfused(func_const_fwd_t f = function()) + : unfused(f) + { } + + typedef typename boost::result_of< + function_c(fusion::vector0<> &) >::type call_const_0_result; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline call_const_0_result operator()() const + { + fusion::vector0<> arg; + return this->fnc_transformed(arg); + } + + typedef typename boost::result_of< + function(fusion::vector0<> &) >::type call_0_result; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline call_0_result operator()() + { + fusion::vector0<> arg; + return this->fnc_transformed(arg); + } + }; + + template class unfused + { + protected: + Function fnc_transformed; + typedef typename detail::qf_c::type function_c; + typedef typename detail::qf::type function; + typedef typename detail::call_param::type func_const_fwd_t; + public: + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline explicit unfused(func_const_fwd_t f = function()) + : fnc_transformed(f) + { } + + template + struct result; + + #define BOOST_PP_FILENAME_1 \ + + #define BOOST_PP_ITERATION_LIMITS \ + (1,BOOST_FUSION_UNFUSED_MAX_ARITY) + #include BOOST_PP_ITERATE() + }; +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +namespace boost +{ +#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_DECLTYPE) + template + struct result_of< boost::fusion::unfused const () > + { + typedef typename boost::fusion::unfused::call_const_0_result type; + }; + template + struct result_of< boost::fusion::unfused() > + { + typedef typename boost::fusion::unfused::call_0_result type; + }; +#endif + template + struct tr1_result_of< boost::fusion::unfused const () > + { + typedef typename boost::fusion::unfused::call_const_0_result type; + }; + template + struct tr1_result_of< boost::fusion::unfused() > + { + typedef typename boost::fusion::unfused::call_0_result type; + }; +} + +#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED +#else // defined(BOOST_PP_IS_ITERATING) +//////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +//////////////////////////////////////////////////////////////////////////////// +#define N BOOST_PP_ITERATION() + + template + struct result< Self const (BOOST_PP_ENUM_PARAMS(N,T)) > + : boost::result_of< function_c( + BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N, + typename detail::mref::type BOOST_PP_INTERCEPT) > & )> + { }; + + template + struct result< Self(BOOST_PP_ENUM_PARAMS(N,T)) > + : boost::result_of< function( + BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N, + typename detail::mref::type BOOST_PP_INTERCEPT) > & )> + { }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename boost::result_of & )>::type + operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const + { + BOOST_PP_CAT(fusion::vector,N)< + BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT) > + arg(BOOST_PP_ENUM_PARAMS(N,a)); + return this->fnc_transformed(arg); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename boost::result_of & )>::type + operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) + { + BOOST_PP_CAT(fusion::vector,N)< + BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT) > + arg(BOOST_PP_ENUM_PARAMS(N,a)); + return this->fnc_transformed(arg); + } +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) +#endif + diff --git a/external/boost/fusion/functional/adapter/unfused_typed.hpp b/external/boost/fusion/functional/adapter/unfused_typed.hpp new file mode 100644 index 000000000..23faf1531 --- /dev/null +++ b/external/boost/fusion/functional/adapter/unfused_typed.hpp @@ -0,0 +1,179 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP_INCLUDED) +#if !defined(BOOST_PP_IS_ITERATING) + +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include + +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + + +namespace boost { namespace fusion +{ + + template class unfused_typed; + + //----- ---- --- -- - - - - + + namespace detail + { + template + struct unfused_typed_impl; + } + + template + class unfused_typed + : public detail::unfused_typed_impl + < unfused_typed, Function, Sequence, + result_of::size::value > + { + Function fnc_transformed; + + template + friend struct detail::unfused_typed_impl; + + typedef typename detail::call_param::type func_const_fwd_t; + + public: + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline explicit unfused_typed(func_const_fwd_t f = Function()) + : fnc_transformed(f) + { } + }; + + #define BOOST_PP_FILENAME_1 + #define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY) + #include BOOST_PP_ITERATE() + +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +namespace boost +{ +#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_DECLTYPE) + template + struct result_of< boost::fusion::unfused_typed const () > + : boost::fusion::unfused_typed::template result< + boost::fusion::unfused_typed const () > + { }; + template + struct result_of< boost::fusion::unfused_typed() > + : boost::fusion::unfused_typed::template result< + boost::fusion::unfused_typed () > + { }; +#endif + template + struct tr1_result_of< boost::fusion::unfused_typed const () > + : boost::fusion::unfused_typed::template result< + boost::fusion::unfused_typed const () > + { }; + template + struct tr1_result_of< boost::fusion::unfused_typed() > + : boost::fusion::unfused_typed::template result< + boost::fusion::unfused_typed () > + { }; +} + + +#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP_INCLUDED +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#define N BOOST_PP_ITERATION() + + namespace detail + { + + template + struct unfused_typed_impl + { + typedef typename detail::qf_c::type function_c; + typedef typename detail::qf::type function; + typedef typename result_of::as_vector::type arg_vector_t; + + public: + +#define M(z,i,s) \ + typename call_param::type>::type a##i + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename boost::result_of< + function_c(arg_vector_t &) >::type + operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) const + { +#if N > 0 + arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a)); +#else + arg_vector_t arg; +#endif + return static_cast(this)->fnc_transformed(arg); + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename boost::result_of< + function(arg_vector_t &) >::type + operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) + { +#if N > 0 + arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a)); +#else + arg_vector_t arg; +#endif + return static_cast(this)->fnc_transformed(arg); + } + +#undef M + + template struct result { typedef void type; }; + + template + struct result< Self const (BOOST_PP_ENUM_PARAMS(N,T)) > + : boost::result_of< function_c(arg_vector_t &) > + { }; + + template + struct result< Self (BOOST_PP_ENUM_PARAMS(N,T)) > + : boost::result_of< function(arg_vector_t &) > + { }; + }; + + } // namespace detail + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) +#endif + diff --git a/external/boost/fusion/functional/generation.hpp b/external/boost/fusion/functional/generation.hpp new file mode 100644 index 000000000..b97fd6c01 --- /dev/null +++ b/external/boost/fusion/functional/generation.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED + +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp b/external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp new file mode 100644 index 000000000..2548a0865 --- /dev/null +++ b/external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +// No include guard - this file is included multiple times intentionally. + +#include +#include + +#if !defined(BOOST_FUSION_CLASS_TPL_NAME) +# error "BOOST_FUSION_CLASS_TPL_NAME undefined" +#endif + +#define BOOST_FUSION_FUNC_NAME BOOST_PP_CAT(make_,BOOST_FUSION_CLASS_TPL_NAME) + +namespace boost { namespace fusion +{ + + namespace result_of + { + template + struct BOOST_FUSION_FUNC_NAME + { + typedef fusion::BOOST_FUSION_CLASS_TPL_NAME< + typename fusion::detail::as_fusion_element::type > type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::BOOST_FUSION_FUNC_NAME::type + BOOST_FUSION_FUNC_NAME(F const & f) + { + return typename result_of::BOOST_FUSION_FUNC_NAME::type(f); + } + +}} + +#undef BOOST_FUSION_CLASS_TPL_NAME +#undef BOOST_FUSION_FUNC_NAME + diff --git a/external/boost/fusion/functional/generation/make_fused.hpp b/external/boost/fusion/functional/generation/make_fused.hpp new file mode 100644 index 000000000..13ed807ea --- /dev/null +++ b/external/boost/fusion/functional/generation/make_fused.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED + +#include +#include + +#define BOOST_FUSION_CLASS_TPL_NAME fused +#include + +#endif + diff --git a/external/boost/fusion/functional/generation/make_fused_function_object.hpp b/external/boost/fusion/functional/generation/make_fused_function_object.hpp new file mode 100644 index 000000000..f3169e6ee --- /dev/null +++ b/external/boost/fusion/functional/generation/make_fused_function_object.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED + +#include +#include + +#define BOOST_FUSION_CLASS_TPL_NAME fused_function_object +#include + +#endif + diff --git a/external/boost/fusion/functional/generation/make_fused_procedure.hpp b/external/boost/fusion/functional/generation/make_fused_procedure.hpp new file mode 100644 index 000000000..f8ca1254a --- /dev/null +++ b/external/boost/fusion/functional/generation/make_fused_procedure.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED + +#include +#include + +#define BOOST_FUSION_CLASS_TPL_NAME fused_procedure +#include + +#endif + diff --git a/external/boost/fusion/functional/generation/make_unfused.hpp b/external/boost/fusion/functional/generation/make_unfused.hpp new file mode 100644 index 000000000..6e7f9e006 --- /dev/null +++ b/external/boost/fusion/functional/generation/make_unfused.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED + +#include +#include + +#define BOOST_FUSION_CLASS_TPL_NAME unfused +#include + +#endif + diff --git a/external/boost/fusion/functional/invocation.hpp b/external/boost/fusion/functional/invocation.hpp new file mode 100644 index 000000000..fe881bfb5 --- /dev/null +++ b/external/boost/fusion/functional/invocation.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED + +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/functional/invocation/detail/that_ptr.hpp b/external/boost/fusion/functional/invocation/detail/that_ptr.hpp new file mode 100644 index 000000000..33ee93bf3 --- /dev/null +++ b/external/boost/fusion/functional/invocation/detail/that_ptr.hpp @@ -0,0 +1,99 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED) +#define BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct that_ptr + { + private: + + typedef typename remove_reference::type pointee; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline pointee * do_get_pointer(T &, pointee * x) + { + return x; + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline pointee * do_get_pointer(T & x, void const *) + { + return get_pointer(x); + } + + public: + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline pointee * get(pointee * x) + { + return x; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline pointee * get(pointee & x) + { + return boost::addressof(x); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline pointee * get(T & x) + { + return do_get_pointer(x, boost::addressof(x)); + } + }; + + template struct non_const_pointee; + +#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) +# define BOOST_FUSION_TRAIT_DECL __cdecl +#else +# define BOOST_FUSION_TRAIT_DECL /**/ +#endif + +namespace adl_barrier + { + using boost::get_pointer; + void const * BOOST_FUSION_TRAIT_DECL get_pointer(...); // fallback + + template< typename T> char const_tester(T *); + template< typename T> long const_tester(T const *); + + template + struct non_const_pointee_impl + { + static Ptr & what; + + static bool const value = + sizeof(const_tester(get_pointer(what))) == 1; + }; + } + + template struct non_const_pointee + : adl_barrier::non_const_pointee_impl< + typename remove_cv< + typename remove_reference::type >::type > + { + typedef non_const_pointee type; + typedef bool value_type; + }; + +}}} + +#endif + diff --git a/external/boost/fusion/functional/invocation/invoke.hpp b/external/boost/fusion/functional/invocation/invoke.hpp new file mode 100644 index 000000000..09f3ead87 --- /dev/null +++ b/external/boost/fusion/functional/invocation/invoke.hpp @@ -0,0 +1,414 @@ +/*============================================================================= + Copyright (c) 2005-2006 Joao Abecasis + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED) +#if !defined(BOOST_PP_IS_ITERATING) + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace detail + { + namespace ft = function_types; + + template< + typename Function, class Sequence, + int N = result_of::size::value, + bool CBI = ft::is_callable_builtin::value, + bool RandomAccess = traits::is_random_access::value, + typename Enable = void + > + struct invoke_impl; + + template + struct invoke_param_types; + + template + struct invoke_data_member; + + template + struct invoke_fn_ptr; + + template + struct invoke_mem_fn; + + #define BOOST_PP_FILENAME_1 + #define BOOST_PP_ITERATION_LIMITS (0, BOOST_FUSION_INVOKE_MAX_ARITY) + #include BOOST_PP_ITERATE() + + template + struct invoke_nonmember_builtin + // use same implementation as for function objects but... + : invoke_fn_ptr< // ...work around boost::result_of bugs + typename mpl::eval_if< ft::is_function, + boost::add_reference, boost::remove_cv >::type, + Sequence, N, RandomAccess > + { }; + + template + struct invoke_impl + : mpl::if_< ft::is_member_function_pointer, + invoke_mem_fn, + invoke_nonmember_builtin + >::type + { }; + + template + struct invoke_impl + : mpl::eval_if< ft::is_member_pointer, + mpl::if_< ft::is_member_function_pointer, + invoke_mem_fn, + invoke_data_member >, + mpl::identity< invoke_nonmember_builtin< + Function,Sequence,1,RandomAccess> > + >::type + { }; + + template + struct invoke_data_member< T C::*, Sequence > + { + private: + + typedef typename result_of::front::type that; + + typedef mpl::or_< boost::is_convertible, + boost::is_convertible, + non_const_pointee > non_const_cond; + + typedef typename mpl::eval_if< non_const_cond, + mpl::identity, add_const >::type qualified_class; + + typedef typename mpl::eval_if< non_const_cond, + mpl::identity, add_const >::type qualified_type; + + public: + + typedef typename boost::add_reference::type + result_type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type call(T C::* f, Sequence & s) + { + typename result_of::front::type c = fusion::front(s); + return that_ptr::get(c)->*f; + } + }; + } + + namespace result_of + { + template + struct invoke; + + template + struct invoke::type, Sequence + >::result_type + >::type> + { + typedef typename detail::invoke_impl< + typename boost::remove_reference::type, Sequence + >::result_type type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke::type + invoke(Function f, Sequence & s) + { + return detail::invoke_impl< + typename boost::remove_reference::type,Sequence + >::call(f,s); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke::type + invoke(Function f, Sequence const & s) + { + return detail::invoke_impl< + typename boost::remove_reference::type,Sequence const + >::call(f,s); + } + +}} + +#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#define N BOOST_PP_ITERATION() + +#define M(z,j,data) typename result_of::at_c::type + + template + struct invoke_impl::type + >::type> + { + public: + + typedef typename boost::result_of< + Function(BOOST_PP_ENUM(N,M,~)) >::type result_type; +#undef M + +#if N > 0 + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { +#define M(z,j,data) fusion::at_c(s) + return f( BOOST_PP_ENUM(N,M,~) ); + } + +#else + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & /*s*/) + { + return f(); + } + +#endif + + }; + + template + struct invoke_fn_ptr + { + public: + + typedef typename ft::result_type::type result_type; + +#if N > 0 + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { +#define M(z,j,data) fusion::at_c(s) + return f( BOOST_PP_ENUM(N,M,~) ); + } + +#else + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & /*s*/) + { + return f(); + } + +#endif + + }; + + +#if N > 0 + template + struct invoke_mem_fn + { + public: + + typedef typename ft::result_type::type result_type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { + return (that_ptr >::type + >::get(fusion::at_c<0>(s))->*f)(BOOST_PP_ENUM_SHIFTED(N,M,~)); + } + }; +#endif + +#undef M + +#define M(z,j,data) \ + typename seq::I##j i##j = \ + fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); + + template + struct invoke_impl::BOOST_PP_CAT(T, j) + typename boost::result_of::type + >::type> +#undef L + { + private: + typedef invoke_param_types seq; + public: + + typedef typename boost::result_of< + Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T)) + >::type result_type; + +#if N > 0 + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { + typename seq::I0 i0 = fusion::begin(s); + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) + return f( BOOST_PP_ENUM_PARAMS(N,*i) ); + } + +#else + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & /*s*/) + { + return f(); + } + +#endif + + }; + + template + struct invoke_fn_ptr + { + private: + typedef invoke_param_types seq; + public: + + typedef typename ft::result_type::type result_type; + +#if N > 0 + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { + typename seq::I0 i0 = fusion::begin(s); + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) + return f( BOOST_PP_ENUM_PARAMS(N,*i) ); + } + +#else + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & /*s*/) + { + return f(); + } + +#endif + + }; + +#if N > 0 + template + struct invoke_mem_fn + { + private: + typedef invoke_param_types seq; + public: + + typedef typename ft::result_type::type result_type; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { + typename seq::I0 i0 = fusion::begin(s); + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) + + return (that_ptr< typename mpl::front< + ft::parameter_types >::type + >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); + } + }; +#endif + +#undef M + + template struct invoke_param_types + { +#if N > 0 + typedef typename result_of::begin::type I0; + typedef typename result_of::deref::type T0; + +#define M(z,i,data) \ + typedef typename result_of::next< \ + BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ + typedef typename result_of::deref::type T##i; + + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) +#undef M +#endif + }; + + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) +#endif + diff --git a/external/boost/fusion/functional/invocation/invoke_function_object.hpp b/external/boost/fusion/functional/invocation/invoke_function_object.hpp new file mode 100644 index 000000000..2a88eaec1 --- /dev/null +++ b/external/boost/fusion/functional/invocation/invoke_function_object.hpp @@ -0,0 +1,214 @@ +/*============================================================================= + Copyright (c) 2005-2006 Joao Abecasis + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP_INCLUDED) +#if !defined(BOOST_PP_IS_ITERATING) + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace detail + { + template< + class Function, class Sequence, + int N = result_of::size::value, + bool RandomAccess = traits::is_random_access::value, + typename Enable = void + > + struct invoke_function_object_impl; + + template + struct invoke_function_object_param_types; + + #define BOOST_PP_FILENAME_1 \ + + #define BOOST_PP_ITERATION_LIMITS \ + (0, BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY) + #include BOOST_PP_ITERATE() + } + + namespace result_of + { + template + struct invoke_function_object; + + template + struct invoke_function_object::type, Sequence + >::result_type + >::type> + { + typedef typename detail::invoke_function_object_impl< + typename boost::remove_reference::type, Sequence + >::result_type type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_function_object::type + invoke_function_object(Function f, Sequence & s) + { + return detail::invoke_function_object_impl< + typename boost::remove_reference::type,Sequence + >::call(f,s); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_function_object::type + invoke_function_object(Function f, Sequence const & s) + { + return detail::invoke_function_object_impl< + typename boost::remove_reference::type,Sequence const + >::call(f,s); + } + +}} + +#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP_INCLUDED +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#define N BOOST_PP_ITERATION() + +#define M(z,j,data) \ + typename result_of::at_c::type + + template + struct invoke_function_object_impl::type + >::type> + { + public: + + typedef typename boost::result_of< + Function (BOOST_PP_ENUM(N,M,~)) >::type result_type; +#undef M + +#if N > 0 + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { +#define M(z,j,data) fusion::at_c(s) + return f( BOOST_PP_ENUM(N,M,~) ); +#undef M + } + +#else + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & /*s*/) + { + return f(); + } + +#endif + + }; + +#define M(z,j,data) \ + typename invoke_function_object_param_types::T ## j + + template + struct invoke_function_object_impl::type + >::type> +#undef M + { + private: + typedef invoke_function_object_param_types seq; + public: + typedef typename boost::result_of< + Function (BOOST_PP_ENUM_PARAMS(N,typename seq::T)) + >::type result_type; + +#if N > 0 + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & s) + { + typename seq::I0 i0 = fusion::begin(s); +#define M(z,j,data) \ + typename seq::I##j i##j = \ + fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) +#undef M + return f( BOOST_PP_ENUM_PARAMS(N,*i) ); + } + +#else + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline result_type + call(F & f, Sequence & /*s*/) + { + return f(); + } + +#endif + + }; + + template + struct invoke_function_object_param_types + { +#if N > 0 + typedef typename result_of::begin::type I0; + typedef typename result_of::deref::type T0; + +#define M(z,i,data) \ + typedef typename result_of::next< \ + BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ + typedef typename result_of::deref::type T##i; + + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) +#undef M +#endif + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) +#endif + diff --git a/external/boost/fusion/functional/invocation/invoke_procedure.hpp b/external/boost/fusion/functional/invocation/invoke_procedure.hpp new file mode 100644 index 000000000..971ddbfde --- /dev/null +++ b/external/boost/fusion/functional/invocation/invoke_procedure.hpp @@ -0,0 +1,212 @@ +/*============================================================================= + Copyright (c) 2005-2006 Joao Abecasis + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP_INCLUDED) +#if !defined(BOOST_PP_IS_ITERATING) + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace detail + { + namespace ft = function_types; + + template< + typename Function, class Sequence, + int N = result_of::size::value, + bool MFP = ft::is_member_function_pointer::value, + bool RandomAccess = traits::is_random_access::value + > + struct invoke_procedure_impl; + + #define BOOST_PP_FILENAME_1 \ + + #define BOOST_PP_ITERATION_LIMITS \ + (0, BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY) + #include BOOST_PP_ITERATE() + + } + + namespace result_of + { + template + struct invoke_procedure; + + template + struct invoke_procedure::type,Sequence + >::result_type + >::type> + { + typedef void type; + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_procedure::type + invoke_procedure(Function f, Sequence & s) + { + detail::invoke_procedure_impl< + typename boost::remove_reference::type,Sequence + >::call(f,s); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_procedure::type + invoke_procedure(Function f, Sequence const & s) + { + detail::invoke_procedure_impl< + typename boost::remove_reference::type,Sequence const + >::call(f,s); + } + +}} + +#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP_INCLUDED +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// +#define N BOOST_PP_ITERATION() + +#define M(z,j,data) fusion::at_c(s) + + template + struct invoke_procedure_impl + { + typedef void result_type; + +#if N > 0 + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline void call(Function & f, Sequence & s) + { + f(BOOST_PP_ENUM(N,M,~)); + } + +#else + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline void call(Function & f, Sequence & /*s*/) + { + f(); + } + +#endif + + }; + +#if N > 0 + template + struct invoke_procedure_impl + { + typedef void result_type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline void call(Function & f, Sequence & s) + { + (that_ptr >::type + >::get(fusion::at_c<0>(s))->*f)(BOOST_PP_ENUM_SHIFTED(N,M,~)); + } + }; +#endif + +#undef M + +#define M(z,j,data) \ + typedef typename result_of::next< BOOST_PP_CAT(I,BOOST_PP_DEC(j)) \ + >::type I ## j ; \ + I##j i##j = fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); + + template + struct invoke_procedure_impl + { + typedef void result_type; + +#if N > 0 + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline void call(Function & f, Sequence & s) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(s); + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) + f( BOOST_PP_ENUM_PARAMS(N,*i) ); + } + +#else + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline void call(Function & f, Sequence & /*s*/) + { + f(); + } + +#endif + + }; + +#if N > 0 + template + struct invoke_procedure_impl + { + typedef void result_type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline void call(Function & f, Sequence & s) + { + typedef typename result_of::begin::type I0; + I0 i0 = fusion::begin(s); + BOOST_PP_REPEAT_FROM_TO(1,N,M,~) + + (that_ptr >::type + >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); + } + }; +#endif + +#undef M + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) +#endif + diff --git a/external/boost/fusion/functional/invocation/limits.hpp b/external/boost/fusion/functional/invocation/limits.hpp new file mode 100644 index 000000000..9cb5a04a4 --- /dev/null +++ b/external/boost/fusion/functional/invocation/limits.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2006-2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED) +# define BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED + +# if !defined(BOOST_FUSION_INVOKE_MAX_ARITY) +# define BOOST_FUSION_INVOKE_MAX_ARITY 6 +# endif +# if !defined(BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY) +# define BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY 6 +# endif +# if !defined(BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY) +# define BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY 6 +# endif + +#endif + diff --git a/external/boost/fusion/include/accumulate.hpp b/external/boost/fusion/include/accumulate.hpp new file mode 100644 index 000000000..b2cbc189e --- /dev/null +++ b/external/boost/fusion/include/accumulate.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ACCUMULATE) +#define FUSION_INCLUDE_ACCUMULATE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_adt.hpp b/external/boost/fusion/include/adapt_adt.hpp new file mode 100644 index 000000000..b84016d67 --- /dev/null +++ b/external/boost/fusion/include/adapt_adt.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_ADT_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_ADT_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_adt_named.hpp b/external/boost/fusion/include/adapt_adt_named.hpp new file mode 100644 index 000000000..46b0a4cb3 --- /dev/null +++ b/external/boost/fusion/include/adapt_adt_named.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_ADT_NAMED_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_ADT_NAMED_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_assoc_adt.hpp b/external/boost/fusion/include/adapt_assoc_adt.hpp new file mode 100644 index 000000000..775057c07 --- /dev/null +++ b/external/boost/fusion/include/adapt_assoc_adt.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADT_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADR_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_assoc_adt_named.hpp b/external/boost/fusion/include/adapt_assoc_adt_named.hpp new file mode 100644 index 000000000..d25aae514 --- /dev/null +++ b/external/boost/fusion/include/adapt_assoc_adt_named.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADT_NAMED_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADT_NAMED_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_assoc_struct.hpp b/external/boost/fusion/include/adapt_assoc_struct.hpp new file mode 100644 index 000000000..a55f6e560 --- /dev/null +++ b/external/boost/fusion/include/adapt_assoc_struct.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_assoc_struct_named.hpp b/external/boost/fusion/include/adapt_assoc_struct_named.hpp new file mode 100644 index 000000000..3afd13733 --- /dev/null +++ b/external/boost/fusion/include/adapt_assoc_struct_named.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_NAMED_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_NAMED_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_struct.hpp b/external/boost/fusion/include/adapt_struct.hpp new file mode 100644 index 000000000..ea2fea5b7 --- /dev/null +++ b/external/boost/fusion/include/adapt_struct.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_STRUCT_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_STRUCT_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapt_struct_named.hpp b/external/boost/fusion/include/adapt_struct_named.hpp new file mode 100644 index 000000000..c80b57df2 --- /dev/null +++ b/external/boost/fusion/include/adapt_struct_named.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ADAPT_STRUCT_NAMED_HPP +#define BOOST_FUSION_INCLUDE_ADAPT_STRUCT_NAMED_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapted.hpp b/external/boost/fusion/include/adapted.hpp new file mode 100644 index 000000000..da68f5b20 --- /dev/null +++ b/external/boost/fusion/include/adapted.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADAPTED) +#define FUSION_INCLUDE_ADAPTED + +#include +#include + +#endif diff --git a/external/boost/fusion/include/adapter.hpp b/external/boost/fusion/include/adapter.hpp new file mode 100644 index 000000000..53ff0796e --- /dev/null +++ b/external/boost/fusion/include/adapter.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADAPTER) +#define FUSION_INCLUDE_ADAPTER + +#include +#include + +#endif diff --git a/external/boost/fusion/include/advance.hpp b/external/boost/fusion/include/advance.hpp new file mode 100644 index 000000000..011c3b8b7 --- /dev/null +++ b/external/boost/fusion/include/advance.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADVANCE) +#define FUSION_INCLUDE_ADVANCE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/algorithm.hpp b/external/boost/fusion/include/algorithm.hpp new file mode 100644 index 000000000..df33a54a4 --- /dev/null +++ b/external/boost/fusion/include/algorithm.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ALGORITHM) +#define FUSION_INCLUDE_ALGORITHM + +#include +#include + +#endif diff --git a/external/boost/fusion/include/all.hpp b/external/boost/fusion/include/all.hpp new file mode 100644 index 000000000..1848e754b --- /dev/null +++ b/external/boost/fusion/include/all.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ALL) +#define FUSION_INCLUDE_ALL + +#include +#include + +#endif diff --git a/external/boost/fusion/include/any.hpp b/external/boost/fusion/include/any.hpp new file mode 100644 index 000000000..c76d6b690 --- /dev/null +++ b/external/boost/fusion/include/any.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ANY) +#define FUSION_INCLUDE_ANY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/array.hpp b/external/boost/fusion/include/array.hpp new file mode 100644 index 000000000..b0e53a7b3 --- /dev/null +++ b/external/boost/fusion/include/array.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ARRAY) +#define FUSION_INCLUDE_ARRAY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/as_deque.hpp b/external/boost/fusion/include/as_deque.hpp new file mode 100644 index 000000000..77f90fd34 --- /dev/null +++ b/external/boost/fusion/include/as_deque.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_DEQUE) +#define FUSION_INCLUDE_AS_DEQUE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/as_list.hpp b/external/boost/fusion/include/as_list.hpp new file mode 100644 index 000000000..9a4072ebb --- /dev/null +++ b/external/boost/fusion/include/as_list.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_LIST) +#define FUSION_INCLUDE_AS_LIST + +#include +#include + +#endif diff --git a/external/boost/fusion/include/as_map.hpp b/external/boost/fusion/include/as_map.hpp new file mode 100644 index 000000000..3a6db9134 --- /dev/null +++ b/external/boost/fusion/include/as_map.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_MAP) +#define FUSION_INCLUDE_AS_MAP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/as_set.hpp b/external/boost/fusion/include/as_set.hpp new file mode 100644 index 000000000..697f86c7c --- /dev/null +++ b/external/boost/fusion/include/as_set.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_SET) +#define FUSION_INCLUDE_AS_SET + +#include +#include + +#endif diff --git a/external/boost/fusion/include/as_vector.hpp b/external/boost/fusion/include/as_vector.hpp new file mode 100644 index 000000000..35aecd8f3 --- /dev/null +++ b/external/boost/fusion/include/as_vector.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_VECTOR) +#define FUSION_INCLUDE_AS_VECTOR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/at.hpp b/external/boost/fusion/include/at.hpp new file mode 100644 index 000000000..99b70d6d9 --- /dev/null +++ b/external/boost/fusion/include/at.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AT) +#define FUSION_INCLUDE_AT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/at_c.hpp b/external/boost/fusion/include/at_c.hpp new file mode 100644 index 000000000..053a59621 --- /dev/null +++ b/external/boost/fusion/include/at_c.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AT_C) +#define FUSION_INCLUDE_AT_C + +#include +#include + +#endif diff --git a/external/boost/fusion/include/at_key.hpp b/external/boost/fusion/include/at_key.hpp new file mode 100644 index 000000000..17331b917 --- /dev/null +++ b/external/boost/fusion/include/at_key.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AT_KEY) +#define FUSION_INCLUDE_AT_KEY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/auxiliary.hpp b/external/boost/fusion/include/auxiliary.hpp new file mode 100644 index 000000000..af36d6d2f --- /dev/null +++ b/external/boost/fusion/include/auxiliary.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AUXILIARY) +#define FUSION_INCLUDE_AUXILIARY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/back.hpp b/external/boost/fusion/include/back.hpp new file mode 100644 index 000000000..9e2e97700 --- /dev/null +++ b/external/boost/fusion/include/back.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_BACK) +#define FUSION_INCLUDE_BACK + +#include +#include + +#endif diff --git a/external/boost/fusion/include/begin.hpp b/external/boost/fusion/include/begin.hpp new file mode 100644 index 000000000..88a449f20 --- /dev/null +++ b/external/boost/fusion/include/begin.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_BEGIN) +#define FUSION_INCLUDE_BEGIN + +#include +#include + +#endif diff --git a/external/boost/fusion/include/boost_array.hpp b/external/boost/fusion/include/boost_array.hpp new file mode 100644 index 000000000..b85fa53ff --- /dev/null +++ b/external/boost/fusion/include/boost_array.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_BOOST_ARRAY) +#define FUSION_INCLUDE_BOOST_ARRAY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/boost_tuple.hpp b/external/boost/fusion/include/boost_tuple.hpp new file mode 100644 index 000000000..3f5fc8c30 --- /dev/null +++ b/external/boost/fusion/include/boost_tuple.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_BOOST_TUPLE) +#define FUSION_INCLUDE_BOOST_TUPLE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/category_of.hpp b/external/boost/fusion/include/category_of.hpp new file mode 100644 index 000000000..0b75369fe --- /dev/null +++ b/external/boost/fusion/include/category_of.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CATEGORY_OF) +#define FUSION_INCLUDE_CATEGORY_OF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/clear.hpp b/external/boost/fusion/include/clear.hpp new file mode 100644 index 000000000..0c742fd58 --- /dev/null +++ b/external/boost/fusion/include/clear.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CLEAR) +#define FUSION_INCLUDE_CLEAR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/comparison.hpp b/external/boost/fusion/include/comparison.hpp new file mode 100644 index 000000000..07e7cd808 --- /dev/null +++ b/external/boost/fusion/include/comparison.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_COMPARISON) +#define FUSION_INCLUDE_COMPARISON + +#include +#include + +#endif diff --git a/external/boost/fusion/include/cons.hpp b/external/boost/fusion/include/cons.hpp new file mode 100644 index 000000000..498e9407e --- /dev/null +++ b/external/boost/fusion/include/cons.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONS) +#define FUSION_INCLUDE_CONS + +#include +#include + +#endif diff --git a/external/boost/fusion/include/cons_tie.hpp b/external/boost/fusion/include/cons_tie.hpp new file mode 100644 index 000000000..7467ee470 --- /dev/null +++ b/external/boost/fusion/include/cons_tie.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONS_TIE) +#define FUSION_INCLUDE_CONS_TIE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/container.hpp b/external/boost/fusion/include/container.hpp new file mode 100644 index 000000000..4e6886f8c --- /dev/null +++ b/external/boost/fusion/include/container.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONTAINER) +#define FUSION_INCLUDE_CONTAINER + +#include +#include + +#endif diff --git a/external/boost/fusion/include/convert.hpp b/external/boost/fusion/include/convert.hpp new file mode 100644 index 000000000..10fff22e5 --- /dev/null +++ b/external/boost/fusion/include/convert.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONVERT) +#define FUSION_INCLUDE_CONVERT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/copy.hpp b/external/boost/fusion/include/copy.hpp new file mode 100644 index 000000000..e44f58bf3 --- /dev/null +++ b/external/boost/fusion/include/copy.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_COPY) +#define FUSION_INCLUDE_COPY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/count.hpp b/external/boost/fusion/include/count.hpp new file mode 100644 index 000000000..3e5b8fca5 --- /dev/null +++ b/external/boost/fusion/include/count.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_COUNT) +#define FUSION_INCLUDE_COUNT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/count_if.hpp b/external/boost/fusion/include/count_if.hpp new file mode 100644 index 000000000..524af8aba --- /dev/null +++ b/external/boost/fusion/include/count_if.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_COUNT_IF) +#define FUSION_INCLUDE_COUNT_IF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/deduce.hpp b/external/boost/fusion/include/deduce.hpp new file mode 100644 index 000000000..572e0d52f --- /dev/null +++ b/external/boost/fusion/include/deduce.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEDUCE) +#define FUSION_INCLUDE_DEDUCE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/deduce_sequence.hpp b/external/boost/fusion/include/deduce_sequence.hpp new file mode 100644 index 000000000..153fac544 --- /dev/null +++ b/external/boost/fusion/include/deduce_sequence.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEDUCE_SEQUENCE) +#define FUSION_INCLUDE_DEDUCE_SEQUENCE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/define_assoc_struct.hpp b/external/boost/fusion/include/define_assoc_struct.hpp new file mode 100644 index 000000000..56ca85af7 --- /dev/null +++ b/external/boost/fusion/include/define_assoc_struct.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_DEFINE_ASSOC_STRUCT_HPP +#define BOOST_FUSION_INCLUDE_DEFINE_ASSOC_STRUCT_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/define_struct.hpp b/external/boost/fusion/include/define_struct.hpp new file mode 100644 index 000000000..366c98d32 --- /dev/null +++ b/external/boost/fusion/include/define_struct.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_DEFINE_STRUCT_HPP +#define BOOST_FUSION_INCLUDE_DEFINE_STRUCT_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/define_struct_inline.hpp b/external/boost/fusion/include/define_struct_inline.hpp new file mode 100644 index 000000000..bf1886523 --- /dev/null +++ b/external/boost/fusion/include/define_struct_inline.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2012 Nathan Ridge + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_DEFINE_STRUCT_INLINE_HPP +#define BOOST_FUSION_INCLUDE_DEFINE_STRUCT_INLINE_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/deque.hpp b/external/boost/fusion/include/deque.hpp new file mode 100644 index 000000000..bbbdfe80a --- /dev/null +++ b/external/boost/fusion/include/deque.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEQUE) +#define FUSION_INCLUDE_DEQUE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/deque_fwd.hpp b/external/boost/fusion/include/deque_fwd.hpp new file mode 100644 index 000000000..8a41121a6 --- /dev/null +++ b/external/boost/fusion/include/deque_fwd.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEQUE) +#define FUSION_INCLUDE_DEQUE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/deque_tie.hpp b/external/boost/fusion/include/deque_tie.hpp new file mode 100644 index 000000000..400e9803e --- /dev/null +++ b/external/boost/fusion/include/deque_tie.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/include/deref.hpp b/external/boost/fusion/include/deref.hpp new file mode 100644 index 000000000..64dbe6972 --- /dev/null +++ b/external/boost/fusion/include/deref.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEREF) +#define FUSION_INCLUDE_DEREF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/deref_data.hpp b/external/boost/fusion/include/deref_data.hpp new file mode 100644 index 000000000..e6bc41f4d --- /dev/null +++ b/external/boost/fusion/include/deref_data.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_DEREF_DATA_HPP +#define BOOST_FUSION_INCLUDE_DEREF_DATA_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/distance.hpp b/external/boost/fusion/include/distance.hpp new file mode 100644 index 000000000..f76bad114 --- /dev/null +++ b/external/boost/fusion/include/distance.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DISTANCE) +#define FUSION_INCLUDE_DISTANCE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/empty.hpp b/external/boost/fusion/include/empty.hpp new file mode 100644 index 000000000..8e6ed931c --- /dev/null +++ b/external/boost/fusion/include/empty.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_EMPTY) +#define FUSION_INCLUDE_EMPTY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/end.hpp b/external/boost/fusion/include/end.hpp new file mode 100644 index 000000000..255d05f0d --- /dev/null +++ b/external/boost/fusion/include/end.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_END) +#define FUSION_INCLUDE_END + +#include +#include + +#endif diff --git a/external/boost/fusion/include/equal_to.hpp b/external/boost/fusion/include/equal_to.hpp new file mode 100644 index 000000000..24499a906 --- /dev/null +++ b/external/boost/fusion/include/equal_to.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_EQUAL_TO) +#define FUSION_INCLUDE_EQUAL_TO + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/include/erase.hpp b/external/boost/fusion/include/erase.hpp new file mode 100644 index 000000000..07e756540 --- /dev/null +++ b/external/boost/fusion/include/erase.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ERASE) +#define FUSION_INCLUDE_ERASE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/erase_key.hpp b/external/boost/fusion/include/erase_key.hpp new file mode 100644 index 000000000..11c342c4e --- /dev/null +++ b/external/boost/fusion/include/erase_key.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ERASE_KEY) +#define FUSION_INCLUDE_ERASE_KEY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/filter.hpp b/external/boost/fusion/include/filter.hpp new file mode 100644 index 000000000..96c8bd6c4 --- /dev/null +++ b/external/boost/fusion/include/filter.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FILTER) +#define FUSION_INCLUDE_FILTER + +#include +#include + +#endif diff --git a/external/boost/fusion/include/filter_if.hpp b/external/boost/fusion/include/filter_if.hpp new file mode 100644 index 000000000..081541b0f --- /dev/null +++ b/external/boost/fusion/include/filter_if.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FILTER_IF) +#define FUSION_INCLUDE_FILTER_IF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/filter_view.hpp b/external/boost/fusion/include/filter_view.hpp new file mode 100644 index 000000000..6ba64fe16 --- /dev/null +++ b/external/boost/fusion/include/filter_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FILTER_VIEW) +#define FUSION_INCLUDE_FILTER_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/find.hpp b/external/boost/fusion/include/find.hpp new file mode 100644 index 000000000..47167d854 --- /dev/null +++ b/external/boost/fusion/include/find.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FIND) +#define FUSION_INCLUDE_FIND + +#include +#include + +#endif diff --git a/external/boost/fusion/include/find_if.hpp b/external/boost/fusion/include/find_if.hpp new file mode 100644 index 000000000..a864d801d --- /dev/null +++ b/external/boost/fusion/include/find_if.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FIND_IF) +#define FUSION_INCLUDE_FIND_IF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/flatten.hpp b/external/boost/fusion/include/flatten.hpp new file mode 100644 index 000000000..33d734999 --- /dev/null +++ b/external/boost/fusion/include/flatten.hpp @@ -0,0 +1,14 @@ +/*////////////////////////////////////////////////////////////////////////////// + Copyright (c) 2014 Jamboree + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +//////////////////////////////////////////////////////////////////////////////*/ +#ifndef FUSION_INCLUDE_FLATTEN +#define FUSION_INCLUDE_FLATTEN + + +#include + + +#endif diff --git a/external/boost/fusion/include/flatten_view.hpp b/external/boost/fusion/include/flatten_view.hpp new file mode 100644 index 000000000..9a3536b23 --- /dev/null +++ b/external/boost/fusion/include/flatten_view.hpp @@ -0,0 +1,14 @@ +/*////////////////////////////////////////////////////////////////////////////// + Copyright (c) 2014 Jamboree + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +//////////////////////////////////////////////////////////////////////////////*/ +#ifndef FUSION_INCLUDE_FLATTEN_VIEW +#define FUSION_INCLUDE_FLATTEN_VIEW + + +#include + + +#endif diff --git a/external/boost/fusion/include/fold.hpp b/external/boost/fusion/include/fold.hpp new file mode 100644 index 000000000..04a18580b --- /dev/null +++ b/external/boost/fusion/include/fold.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FOLD) +#define FUSION_INCLUDE_FOLD + +#include +#include + +#endif diff --git a/external/boost/fusion/include/for_each.hpp b/external/boost/fusion/include/for_each.hpp new file mode 100644 index 000000000..b4a96ae0e --- /dev/null +++ b/external/boost/fusion/include/for_each.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FOR_EACH) +#define FUSION_INCLUDE_FOR_EACH + +#include +#include + +#endif diff --git a/external/boost/fusion/include/front.hpp b/external/boost/fusion/include/front.hpp new file mode 100644 index 000000000..b080fe565 --- /dev/null +++ b/external/boost/fusion/include/front.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FRONT) +#define FUSION_INCLUDE_FRONT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/functional.hpp b/external/boost/fusion/include/functional.hpp new file mode 100644 index 000000000..01e7439a0 --- /dev/null +++ b/external/boost/fusion/include/functional.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUNCTIONAL) +#define FUSION_INCLUDE_FUNCTIONAL + +#include +#include + +#endif diff --git a/external/boost/fusion/include/fused.hpp b/external/boost/fusion/include/fused.hpp new file mode 100644 index 000000000..f27094f1f --- /dev/null +++ b/external/boost/fusion/include/fused.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUSED) +#define FUSION_INCLUDE_FUSED + +#include +#include + +#endif diff --git a/external/boost/fusion/include/fused_function_object.hpp b/external/boost/fusion/include/fused_function_object.hpp new file mode 100644 index 000000000..4196410d3 --- /dev/null +++ b/external/boost/fusion/include/fused_function_object.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUSED_FUNCTION_OBJECT) +#define FUSION_INCLUDE_FUSED_FUNCTION_OBJECT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/fused_procedure.hpp b/external/boost/fusion/include/fused_procedure.hpp new file mode 100644 index 000000000..f6c3a01de --- /dev/null +++ b/external/boost/fusion/include/fused_procedure.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUSED_PROCEDURE) +#define FUSION_INCLUDE_FUSED_PROCEDURE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/generation.hpp b/external/boost/fusion/include/generation.hpp new file mode 100644 index 000000000..400e9803e --- /dev/null +++ b/external/boost/fusion/include/generation.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/include/greater.hpp b/external/boost/fusion/include/greater.hpp new file mode 100644 index 000000000..e70550ced --- /dev/null +++ b/external/boost/fusion/include/greater.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NOT_GREATER) +#define FUSION_INCLUDE_NOT_GREATER + +#include +#include + +#endif diff --git a/external/boost/fusion/include/greater_equal.hpp b/external/boost/fusion/include/greater_equal.hpp new file mode 100644 index 000000000..efd462c54 --- /dev/null +++ b/external/boost/fusion/include/greater_equal.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GREATER_EQUAL) +#define FUSION_INCLUDE_GREATER_EQUAL + +#include +#include + +#endif diff --git a/external/boost/fusion/include/has_key.hpp b/external/boost/fusion/include/has_key.hpp new file mode 100644 index 000000000..ee192cf09 --- /dev/null +++ b/external/boost/fusion/include/has_key.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_HAS_KEY) +#define FUSION_INCLUDE_HAS_KEY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/hash.hpp b/external/boost/fusion/include/hash.hpp new file mode 100644 index 000000000..8f483fc6d --- /dev/null +++ b/external/boost/fusion/include/hash.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2014 Christoph Weiss + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_HASH) +#define FUSION_INCLUDE_HASH + +#include + +#endif diff --git a/external/boost/fusion/include/ignore.hpp b/external/boost/fusion/include/ignore.hpp new file mode 100644 index 000000000..400e9803e --- /dev/null +++ b/external/boost/fusion/include/ignore.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/include/in.hpp b/external/boost/fusion/include/in.hpp new file mode 100644 index 000000000..4ceb928c9 --- /dev/null +++ b/external/boost/fusion/include/in.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IN) +#define FUSION_INCLUDE_IN + +#include +#include + +#endif diff --git a/external/boost/fusion/include/insert.hpp b/external/boost/fusion/include/insert.hpp new file mode 100644 index 000000000..389333d40 --- /dev/null +++ b/external/boost/fusion/include/insert.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INSERT) +#define FUSION_INCLUDE_INSERT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/insert_range.hpp b/external/boost/fusion/include/insert_range.hpp new file mode 100644 index 000000000..9f280e4e7 --- /dev/null +++ b/external/boost/fusion/include/insert_range.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INSERT_RANGE) +#define FUSION_INCLUDE_INSERT_RANGE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/intrinsic.hpp b/external/boost/fusion/include/intrinsic.hpp new file mode 100644 index 000000000..dcceea544 --- /dev/null +++ b/external/boost/fusion/include/intrinsic.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INTRINSIC) +#define FUSION_INCLUDE_INTRINSIC + +#include +#include + +#endif diff --git a/external/boost/fusion/include/invocation.hpp b/external/boost/fusion/include/invocation.hpp new file mode 100644 index 000000000..fbb4061ff --- /dev/null +++ b/external/boost/fusion/include/invocation.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOCATION) +#define FUSION_INCLUDE_INVOCATION + +#include +#include + +#endif diff --git a/external/boost/fusion/include/invoke.hpp b/external/boost/fusion/include/invoke.hpp new file mode 100644 index 000000000..2565f1fa7 --- /dev/null +++ b/external/boost/fusion/include/invoke.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOKE) +#define FUSION_INCLUDE_INVOKE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/invoke_function_object.hpp b/external/boost/fusion/include/invoke_function_object.hpp new file mode 100644 index 000000000..f0ca0a98f --- /dev/null +++ b/external/boost/fusion/include/invoke_function_object.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT) +#define FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/invoke_procedure.hpp b/external/boost/fusion/include/invoke_procedure.hpp new file mode 100644 index 000000000..28bd35d3c --- /dev/null +++ b/external/boost/fusion/include/invoke_procedure.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOKE_PROCEDURE) +#define FUSION_INCLUDE_INVOKE_PROCEDURE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/io.hpp b/external/boost/fusion/include/io.hpp new file mode 100644 index 000000000..992e0be29 --- /dev/null +++ b/external/boost/fusion/include/io.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IO) +#define FUSION_INCLUDE_IO + +#include +#include + +#endif diff --git a/external/boost/fusion/include/is_iterator.hpp b/external/boost/fusion/include/is_iterator.hpp new file mode 100644 index 000000000..83dc1484d --- /dev/null +++ b/external/boost/fusion/include/is_iterator.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IS_ITERATOR) +#define FUSION_INCLUDE_IS_ITERATOR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/is_segmented.hpp b/external/boost/fusion/include/is_segmented.hpp new file mode 100644 index 000000000..b13be3f00 --- /dev/null +++ b/external/boost/fusion/include/is_segmented.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_INCLUDE_IS_SEGMENTED) +#define BOOST_FUSION_INCLUDE_IS_SEGMENTED + +#include +#include + +#endif diff --git a/external/boost/fusion/include/is_sequence.hpp b/external/boost/fusion/include/is_sequence.hpp new file mode 100644 index 000000000..d3d820fcd --- /dev/null +++ b/external/boost/fusion/include/is_sequence.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IS_SEQUENCE) +#define FUSION_INCLUDE_IS_SEQUENCE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/is_view.hpp b/external/boost/fusion/include/is_view.hpp new file mode 100644 index 000000000..1f886f4dc --- /dev/null +++ b/external/boost/fusion/include/is_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IS_VIEW) +#define FUSION_INCLUDE_IS_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/iter_fold.hpp b/external/boost/fusion/include/iter_fold.hpp new file mode 100644 index 000000000..e39651bd1 --- /dev/null +++ b/external/boost/fusion/include/iter_fold.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_ITER_FOLD_HPP +#define BOOST_FUSION_INCLUDE_ITER_FOLD_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/iteration.hpp b/external/boost/fusion/include/iteration.hpp new file mode 100644 index 000000000..612f00c45 --- /dev/null +++ b/external/boost/fusion/include/iteration.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATION) +#define FUSION_INCLUDE_ITERATION + +#include +#include + +#endif diff --git a/external/boost/fusion/include/iterator.hpp b/external/boost/fusion/include/iterator.hpp new file mode 100644 index 000000000..a69be6408 --- /dev/null +++ b/external/boost/fusion/include/iterator.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR) +#define FUSION_INCLUDE_ITERATOR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/iterator_adapter.hpp b/external/boost/fusion/include/iterator_adapter.hpp new file mode 100644 index 000000000..95de7cfba --- /dev/null +++ b/external/boost/fusion/include/iterator_adapter.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR_ADAPTER) +#define FUSION_INCLUDE_ITERATOR_ADAPTER + +#include +#include + +#endif diff --git a/external/boost/fusion/include/iterator_base.hpp b/external/boost/fusion/include/iterator_base.hpp new file mode 100644 index 000000000..41223c58f --- /dev/null +++ b/external/boost/fusion/include/iterator_base.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR_BASE) +#define FUSION_INCLUDE_ITERATOR_BASE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/iterator_facade.hpp b/external/boost/fusion/include/iterator_facade.hpp new file mode 100644 index 000000000..a137414ba --- /dev/null +++ b/external/boost/fusion/include/iterator_facade.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR_FACADE) +#define FUSION_INCLUDE_ITERATOR_FACADE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/iterator_range.hpp b/external/boost/fusion/include/iterator_range.hpp new file mode 100644 index 000000000..1f5d1ed6a --- /dev/null +++ b/external/boost/fusion/include/iterator_range.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR_RANGE) +#define FUSION_INCLUDE_ITERATOR_RANGE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/join.hpp b/external/boost/fusion/include/join.hpp new file mode 100644 index 000000000..419caabf1 --- /dev/null +++ b/external/boost/fusion/include/join.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_JOIN) +#define FUSION_INCLUDE_JOIN + +#include +#include + +#endif diff --git a/external/boost/fusion/include/joint_view.hpp b/external/boost/fusion/include/joint_view.hpp new file mode 100644 index 000000000..94b2d0716 --- /dev/null +++ b/external/boost/fusion/include/joint_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_JOINT_VIEW) +#define FUSION_INCLUDE_JOINT_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/key_of.hpp b/external/boost/fusion/include/key_of.hpp new file mode 100644 index 000000000..4e79a0efb --- /dev/null +++ b/external/boost/fusion/include/key_of.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_KEY_OF_HPP +#define BOOST_FUSION_INCLUDE_KEY_OF_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/less.hpp b/external/boost/fusion/include/less.hpp new file mode 100644 index 000000000..463b91a65 --- /dev/null +++ b/external/boost/fusion/include/less.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_LESS) +#define FUSION_INCLUDE_LESS + +#include +#include + +#endif diff --git a/external/boost/fusion/include/less_equal.hpp b/external/boost/fusion/include/less_equal.hpp new file mode 100644 index 000000000..48de2a373 --- /dev/null +++ b/external/boost/fusion/include/less_equal.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_LESS_EQUAL) +#define FUSION_INCLUDE_LESS_EQUAL + +#include +#include + +#endif diff --git a/external/boost/fusion/include/list.hpp b/external/boost/fusion/include/list.hpp new file mode 100644 index 000000000..9d8e33c13 --- /dev/null +++ b/external/boost/fusion/include/list.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_LIST) +#define FUSION_INCLUDE_LIST + +#include +#include + +#endif diff --git a/external/boost/fusion/include/list_fwd.hpp b/external/boost/fusion/include/list_fwd.hpp new file mode 100644 index 000000000..8f7216d14 --- /dev/null +++ b/external/boost/fusion/include/list_fwd.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_LIST_FWD) +#define FUSION_INCLUDE_LIST_FWD + +#include +#include + +#endif diff --git a/external/boost/fusion/include/list_tie.hpp b/external/boost/fusion/include/list_tie.hpp new file mode 100644 index 000000000..400e9803e --- /dev/null +++ b/external/boost/fusion/include/list_tie.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_cons.hpp b/external/boost/fusion/include/make_cons.hpp new file mode 100644 index 000000000..89d3a26bd --- /dev/null +++ b/external/boost/fusion/include/make_cons.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_CONS) +#define FUSION_INCLUDE_MAKE_CONS + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_deque.hpp b/external/boost/fusion/include/make_deque.hpp new file mode 100644 index 000000000..d16b3785b --- /dev/null +++ b/external/boost/fusion/include/make_deque.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_DEQUE) +#define FUSION_INCLUDE_MAKE_DEQUE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_fused.hpp b/external/boost/fusion/include/make_fused.hpp new file mode 100644 index 000000000..82b7ed7ed --- /dev/null +++ b/external/boost/fusion/include/make_fused.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_FUSED) +#define FUSION_INCLUDE_MAKE_FUSED + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_fused_function_object.hpp b/external/boost/fusion/include/make_fused_function_object.hpp new file mode 100644 index 000000000..68667c777 --- /dev/null +++ b/external/boost/fusion/include/make_fused_function_object.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT) +#define FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_fused_procedure.hpp b/external/boost/fusion/include/make_fused_procedure.hpp new file mode 100644 index 000000000..b6ac33398 --- /dev/null +++ b/external/boost/fusion/include/make_fused_procedure.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_FUSED_PROCEDURE) +#define FUSION_INCLUDE_MAKE_FUSED_PROCEDURE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_list.hpp b/external/boost/fusion/include/make_list.hpp new file mode 100644 index 000000000..affee7215 --- /dev/null +++ b/external/boost/fusion/include/make_list.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_LIST) +#define FUSION_INCLUDE_MAKE_LIST + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_map.hpp b/external/boost/fusion/include/make_map.hpp new file mode 100644 index 000000000..9492eaefd --- /dev/null +++ b/external/boost/fusion/include/make_map.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_MAP) +#define FUSION_INCLUDE_MAKE_MAP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_set.hpp b/external/boost/fusion/include/make_set.hpp new file mode 100644 index 000000000..c87b3998a --- /dev/null +++ b/external/boost/fusion/include/make_set.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_SET) +#define FUSION_INCLUDE_MAKE_SET + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_tuple.hpp b/external/boost/fusion/include/make_tuple.hpp new file mode 100644 index 000000000..82f3447d6 --- /dev/null +++ b/external/boost/fusion/include/make_tuple.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_TUPLE) +#define FUSION_INCLUDE_MAKE_TUPLE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_unfused.hpp b/external/boost/fusion/include/make_unfused.hpp new file mode 100644 index 000000000..db3ad80c7 --- /dev/null +++ b/external/boost/fusion/include/make_unfused.hpp @@ -0,0 +1,14 @@ +/*============================================================================== + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_MAKE_UNFUSED_HPP +#define BOOST_FUSION_INCLUDE_MAKE_UNFUSED_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/make_vector.hpp b/external/boost/fusion/include/make_vector.hpp new file mode 100644 index 000000000..9d9a70a32 --- /dev/null +++ b/external/boost/fusion/include/make_vector.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_VECTOR) +#define FUSION_INCLUDE_MAKE_VECTOR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/map.hpp b/external/boost/fusion/include/map.hpp new file mode 100644 index 000000000..17c4e762d --- /dev/null +++ b/external/boost/fusion/include/map.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAP) +#define FUSION_INCLUDE_MAP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/map_fwd.hpp b/external/boost/fusion/include/map_fwd.hpp new file mode 100644 index 000000000..86fa7cafa --- /dev/null +++ b/external/boost/fusion/include/map_fwd.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAP_FWD) +#define FUSION_INCLUDE_MAP_FWD + +#include +#include + +#endif diff --git a/external/boost/fusion/include/map_tie.hpp b/external/boost/fusion/include/map_tie.hpp new file mode 100644 index 000000000..58afafbad --- /dev/null +++ b/external/boost/fusion/include/map_tie.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAP_TIE) +#define FUSION_INCLUDE_MAP_TIE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/move.hpp b/external/boost/fusion/include/move.hpp new file mode 100644 index 000000000..8042db48e --- /dev/null +++ b/external/boost/fusion/include/move.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2013 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MOVE) +#define FUSION_INCLUDE_MOVE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/mpl.hpp b/external/boost/fusion/include/mpl.hpp new file mode 100644 index 000000000..cf7fff2f5 --- /dev/null +++ b/external/boost/fusion/include/mpl.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MPL) +#define FUSION_INCLUDE_MPL + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/include/next.hpp b/external/boost/fusion/include/next.hpp new file mode 100644 index 000000000..266b6ecb3 --- /dev/null +++ b/external/boost/fusion/include/next.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NEXT) +#define FUSION_INCLUDE_NEXT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/nil.hpp b/external/boost/fusion/include/nil.hpp new file mode 100644 index 000000000..3efde4e99 --- /dev/null +++ b/external/boost/fusion/include/nil.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2014 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NIL) +#define FUSION_INCLUDE_NIL + +#include +#include + +#endif diff --git a/external/boost/fusion/include/none.hpp b/external/boost/fusion/include/none.hpp new file mode 100644 index 000000000..3870b3980 --- /dev/null +++ b/external/boost/fusion/include/none.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NONE) +#define FUSION_INCLUDE_NONE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/not_equal_to.hpp b/external/boost/fusion/include/not_equal_to.hpp new file mode 100644 index 000000000..e11f2d6ae --- /dev/null +++ b/external/boost/fusion/include/not_equal_to.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NOT_EQUAL_TO) +#define FUSION_INCLUDE_NOT_EQUAL_TO + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/include/nview.hpp b/external/boost/fusion/include/nview.hpp new file mode 100644 index 000000000..f1309ca51 --- /dev/null +++ b/external/boost/fusion/include/nview.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NVIEW) +#define FUSION_INCLUDE_NVIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/out.hpp b/external/boost/fusion/include/out.hpp new file mode 100644 index 000000000..85d26dda1 --- /dev/null +++ b/external/boost/fusion/include/out.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_OUT) +#define FUSION_INCLUDE_OUT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/pair.hpp b/external/boost/fusion/include/pair.hpp new file mode 100644 index 000000000..bf0897d0f --- /dev/null +++ b/external/boost/fusion/include/pair.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PAIR) +#define FUSION_INCLUDE_PAIR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/pair_tie.hpp b/external/boost/fusion/include/pair_tie.hpp new file mode 100644 index 000000000..3a783f33c --- /dev/null +++ b/external/boost/fusion/include/pair_tie.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PAIR_TIE) +#define FUSION_INCLUDE_PAIR_TIE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/pop_back.hpp b/external/boost/fusion/include/pop_back.hpp new file mode 100644 index 000000000..213fb3b27 --- /dev/null +++ b/external/boost/fusion/include/pop_back.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_POP_BACK) +#define FUSION_INCLUDE_POP_BACK + +#include +#include + +#endif diff --git a/external/boost/fusion/include/pop_front.hpp b/external/boost/fusion/include/pop_front.hpp new file mode 100644 index 000000000..d52d61226 --- /dev/null +++ b/external/boost/fusion/include/pop_front.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_POP_FRONT) +#define FUSION_INCLUDE_POP_FRONT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/prior.hpp b/external/boost/fusion/include/prior.hpp new file mode 100644 index 000000000..605b3b398 --- /dev/null +++ b/external/boost/fusion/include/prior.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PRIOR) +#define FUSION_INCLUDE_PRIOR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/proxy_type.hpp b/external/boost/fusion/include/proxy_type.hpp new file mode 100644 index 000000000..a73c23448 --- /dev/null +++ b/external/boost/fusion/include/proxy_type.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_PROXY_TYPE_HPP +#define BOOST_FUSION_INCLUDE_PROXY_TYPE_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/push_back.hpp b/external/boost/fusion/include/push_back.hpp new file mode 100644 index 000000000..6e74b3fa8 --- /dev/null +++ b/external/boost/fusion/include/push_back.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PUSH_BACK) +#define FUSION_INCLUDE_PUSH_BACK + +#include +#include + +#endif diff --git a/external/boost/fusion/include/push_front.hpp b/external/boost/fusion/include/push_front.hpp new file mode 100644 index 000000000..8c4b0357e --- /dev/null +++ b/external/boost/fusion/include/push_front.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PUSH_FRONT) +#define FUSION_INCLUDE_PUSH_FRONT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/query.hpp b/external/boost/fusion/include/query.hpp new file mode 100644 index 000000000..edfbd1e29 --- /dev/null +++ b/external/boost/fusion/include/query.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_QUERY) +#define FUSION_INCLUDE_QUERY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/remove.hpp b/external/boost/fusion/include/remove.hpp new file mode 100644 index 000000000..269d86f22 --- /dev/null +++ b/external/boost/fusion/include/remove.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REMOVE) +#define FUSION_INCLUDE_REMOVE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/remove_if.hpp b/external/boost/fusion/include/remove_if.hpp new file mode 100644 index 000000000..6e6266d30 --- /dev/null +++ b/external/boost/fusion/include/remove_if.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REMOVE_IF) +#define FUSION_INCLUDE_REMOVE_IF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/repetitive_view.hpp b/external/boost/fusion/include/repetitive_view.hpp new file mode 100644 index 000000000..b57c997dd --- /dev/null +++ b/external/boost/fusion/include/repetitive_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REPETETIVE_VIEW) +#define FUSION_INCLUDE_REPETETIVE_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/replace.hpp b/external/boost/fusion/include/replace.hpp new file mode 100644 index 000000000..3ff05a67e --- /dev/null +++ b/external/boost/fusion/include/replace.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REPLACE) +#define FUSION_INCLUDE_REPLACE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/replace_if.hpp b/external/boost/fusion/include/replace_if.hpp new file mode 100644 index 000000000..9bc9931d5 --- /dev/null +++ b/external/boost/fusion/include/replace_if.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REPLACE_IF) +#define FUSION_INCLUDE_REPLACE_IF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/reverse.hpp b/external/boost/fusion/include/reverse.hpp new file mode 100644 index 000000000..4f147b988 --- /dev/null +++ b/external/boost/fusion/include/reverse.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REVERSE) +#define FUSION_INCLUDE_REVERSE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/reverse_fold.hpp b/external/boost/fusion/include/reverse_fold.hpp new file mode 100644 index 000000000..4b3e61c2b --- /dev/null +++ b/external/boost/fusion/include/reverse_fold.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_REVERSE_FOLD_HPP +#define BOOST_FUSION_INCLUDE_REVERSE_FOLD_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/reverse_iter_fold.hpp b/external/boost/fusion/include/reverse_iter_fold.hpp new file mode 100644 index 000000000..bbd1ea40c --- /dev/null +++ b/external/boost/fusion/include/reverse_iter_fold.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_REVERSE_ITER_FOLD_HPP +#define BOOST_FUSION_INCLUDE_REVERSE_ITER_FOLD_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/reverse_view.hpp b/external/boost/fusion/include/reverse_view.hpp new file mode 100644 index 000000000..6652d0607 --- /dev/null +++ b/external/boost/fusion/include/reverse_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REVERSE_VIEW) +#define FUSION_INCLUDE_REVERSE_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/segmented_fold_until.hpp b/external/boost/fusion/include/segmented_fold_until.hpp new file mode 100644 index 000000000..7a5cc62d3 --- /dev/null +++ b/external/boost/fusion/include/segmented_fold_until.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_INCLUDE_SEGMENTED_FOLD_UNTIL) +#define BOOST_FUSION_INCLUDE_SEGMENTED_FOLD_UNTIL + +#include +#include + +#endif diff --git a/external/boost/fusion/include/segmented_iterator.hpp b/external/boost/fusion/include/segmented_iterator.hpp new file mode 100644 index 000000000..18d0a65ee --- /dev/null +++ b/external/boost/fusion/include/segmented_iterator.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_INCLUDE_SEGMENTED_ITERATOR) +#define BOOST_FUSION_INCLUDE_SEGMENTED_ITERATOR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/segments.hpp b/external/boost/fusion/include/segments.hpp new file mode 100644 index 000000000..c0a4c50c4 --- /dev/null +++ b/external/boost/fusion/include/segments.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_INCLUDE_SEGMENTS) +#define BOOST_FUSION_INCLUDE_SEGMENTS + +#include +#include + +#endif diff --git a/external/boost/fusion/include/sequence.hpp b/external/boost/fusion/include/sequence.hpp new file mode 100644 index 000000000..ff36266b6 --- /dev/null +++ b/external/boost/fusion/include/sequence.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SEQUENCE) +#define FUSION_INCLUDE_SEQUENCE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/sequence_base.hpp b/external/boost/fusion/include/sequence_base.hpp new file mode 100644 index 000000000..fc68090e9 --- /dev/null +++ b/external/boost/fusion/include/sequence_base.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SEQUENCE_BASE) +#define FUSION_INCLUDE_SEQUENCE_BASE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/sequence_facade.hpp b/external/boost/fusion/include/sequence_facade.hpp new file mode 100644 index 000000000..ef989b4c7 --- /dev/null +++ b/external/boost/fusion/include/sequence_facade.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SEQUENCE_FACADE) +#define FUSION_INCLUDE_SEQUENCE_FACADE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/set.hpp b/external/boost/fusion/include/set.hpp new file mode 100644 index 000000000..370ae6558 --- /dev/null +++ b/external/boost/fusion/include/set.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SET) +#define FUSION_INCLUDE_SET + +#include +#include + +#endif diff --git a/external/boost/fusion/include/set_fwd.hpp b/external/boost/fusion/include/set_fwd.hpp new file mode 100644 index 000000000..3c21cd67b --- /dev/null +++ b/external/boost/fusion/include/set_fwd.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SET_FWD) +#define FUSION_INCLUDE_SET_FWD + +#include +#include + +#endif diff --git a/external/boost/fusion/include/single_view.hpp b/external/boost/fusion/include/single_view.hpp new file mode 100644 index 000000000..306fac6c5 --- /dev/null +++ b/external/boost/fusion/include/single_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SINGLE_VIEW) +#define FUSION_INCLUDE_SINGLE_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/size.hpp b/external/boost/fusion/include/size.hpp new file mode 100644 index 000000000..5131116da --- /dev/null +++ b/external/boost/fusion/include/size.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SIZE) +#define FUSION_INCLUDE_SIZE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/std_array.hpp b/external/boost/fusion/include/std_array.hpp new file mode 100644 index 000000000..ceb815ba9 --- /dev/null +++ b/external/boost/fusion/include/std_array.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2017 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_STD_ARRAY) +#define FUSION_INCLUDE_STD_ARRAY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/std_pair.hpp b/external/boost/fusion/include/std_pair.hpp new file mode 100644 index 000000000..7a882a97a --- /dev/null +++ b/external/boost/fusion/include/std_pair.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_STD_PAIR) +#define FUSION_INCLUDE_STD_PAIR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/std_tuple.hpp b/external/boost/fusion/include/std_tuple.hpp new file mode 100644 index 000000000..9c9d8a1a5 --- /dev/null +++ b/external/boost/fusion/include/std_tuple.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_INCLUDE_STD_TUPLE +#define FUSION_INCLUDE_STD_TUPLE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/struct.hpp b/external/boost/fusion/include/struct.hpp new file mode 100644 index 000000000..fc4366fdb --- /dev/null +++ b/external/boost/fusion/include/struct.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_STRUCT) +#define FUSION_INCLUDE_STRUCT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/support.hpp b/external/boost/fusion/include/support.hpp new file mode 100644 index 000000000..8762517f7 --- /dev/null +++ b/external/boost/fusion/include/support.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SUPPORT) +#define FUSION_INCLUDE_SUPPORT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/swap.hpp b/external/boost/fusion/include/swap.hpp new file mode 100644 index 000000000..c25d557f1 --- /dev/null +++ b/external/boost/fusion/include/swap.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SWAP) +#define FUSION_INCLUDE_SWAP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/tag_of.hpp b/external/boost/fusion/include/tag_of.hpp new file mode 100644 index 000000000..dc583eeb5 --- /dev/null +++ b/external/boost/fusion/include/tag_of.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TAG_OF) +#define FUSION_INCLUDE_TAG_OF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/tag_of_fwd.hpp b/external/boost/fusion/include/tag_of_fwd.hpp new file mode 100644 index 000000000..287dc3389 --- /dev/null +++ b/external/boost/fusion/include/tag_of_fwd.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TAG_OF_FWD) +#define FUSION_INCLUDE_TAG_OF_FWD + +#include +#include + +#endif diff --git a/external/boost/fusion/include/transform.hpp b/external/boost/fusion/include/transform.hpp new file mode 100644 index 000000000..04fdc3847 --- /dev/null +++ b/external/boost/fusion/include/transform.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TRANSFORM) +#define FUSION_INCLUDE_TRANSFORM + +#include +#include + +#endif diff --git a/external/boost/fusion/include/transform_view.hpp b/external/boost/fusion/include/transform_view.hpp new file mode 100644 index 000000000..b07a79793 --- /dev/null +++ b/external/boost/fusion/include/transform_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TRANSFORM_VIEW) +#define FUSION_INCLUDE_TRANSFORM_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/transformation.hpp b/external/boost/fusion/include/transformation.hpp new file mode 100644 index 000000000..195b3eb2e --- /dev/null +++ b/external/boost/fusion/include/transformation.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TRANSFORMATION) +#define FUSION_INCLUDE_TRANSFORMATION + +#include +#include + +#endif diff --git a/external/boost/fusion/include/tuple.hpp b/external/boost/fusion/include/tuple.hpp new file mode 100644 index 000000000..5d167f4f9 --- /dev/null +++ b/external/boost/fusion/include/tuple.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TUPLE) +#define FUSION_INCLUDE_TUPLE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/tuple_fwd.hpp b/external/boost/fusion/include/tuple_fwd.hpp new file mode 100644 index 000000000..d95ce2be7 --- /dev/null +++ b/external/boost/fusion/include/tuple_fwd.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TUPLE_FWD) +#define FUSION_INCLUDE_TUPLE_FWD + +#include +#include + +#endif diff --git a/external/boost/fusion/include/tuple_tie.hpp b/external/boost/fusion/include/tuple_tie.hpp new file mode 100644 index 000000000..c61451a0b --- /dev/null +++ b/external/boost/fusion/include/tuple_tie.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TUPLE_TIE) +#define FUSION_INCLUDE_TUPLE_TIE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/unfused.hpp b/external/boost/fusion/include/unfused.hpp new file mode 100644 index 000000000..192d23b29 --- /dev/null +++ b/external/boost/fusion/include/unfused.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2010 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_UNFUSED_HPP +#define BOOST_FUSION_INCLUDE_UNFUSED_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/unfused_typed.hpp b/external/boost/fusion/include/unfused_typed.hpp new file mode 100644 index 000000000..c14c51535 --- /dev/null +++ b/external/boost/fusion/include/unfused_typed.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UNFUSED_TYPED) +#define FUSION_INCLUDE_UNFUSED_TYPED + +#include +#include + +#endif diff --git a/external/boost/fusion/include/unused.hpp b/external/boost/fusion/include/unused.hpp new file mode 100644 index 000000000..6114f282c --- /dev/null +++ b/external/boost/fusion/include/unused.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UNUSED) +#define FUSION_INCLUDE_UNUSED + +#include +#include + +#endif diff --git a/external/boost/fusion/include/value_at.hpp b/external/boost/fusion/include/value_at.hpp new file mode 100644 index 000000000..d40a9f08b --- /dev/null +++ b/external/boost/fusion/include/value_at.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VALUE_AT) +#define FUSION_INCLUDE_VALUE_AT + +#include +#include + +#endif diff --git a/external/boost/fusion/include/value_at_key.hpp b/external/boost/fusion/include/value_at_key.hpp new file mode 100644 index 000000000..229210096 --- /dev/null +++ b/external/boost/fusion/include/value_at_key.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VALUE_AT_KEY) +#define FUSION_INCLUDE_VALUE_AT_KEY + +#include +#include + +#endif diff --git a/external/boost/fusion/include/value_of.hpp b/external/boost/fusion/include/value_of.hpp new file mode 100644 index 000000000..33e49d8fd --- /dev/null +++ b/external/boost/fusion/include/value_of.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VALUE_OF) +#define FUSION_INCLUDE_VALUE_OF + +#include +#include + +#endif diff --git a/external/boost/fusion/include/value_of_data.hpp b/external/boost/fusion/include/value_of_data.hpp new file mode 100644 index 000000000..afa9863f8 --- /dev/null +++ b/external/boost/fusion/include/value_of_data.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP +#define BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector.hpp b/external/boost/fusion/include/vector.hpp new file mode 100644 index 000000000..83aa74446 --- /dev/null +++ b/external/boost/fusion/include/vector.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR) +#define FUSION_INCLUDE_VECTOR + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector10.hpp b/external/boost/fusion/include/vector10.hpp new file mode 100644 index 000000000..50e5f1825 --- /dev/null +++ b/external/boost/fusion/include/vector10.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR10) +#define FUSION_INCLUDE_VECTOR10 + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector20.hpp b/external/boost/fusion/include/vector20.hpp new file mode 100644 index 000000000..5d1f1fe62 --- /dev/null +++ b/external/boost/fusion/include/vector20.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR20) +#define FUSION_INCLUDE_VECTOR20 + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector30.hpp b/external/boost/fusion/include/vector30.hpp new file mode 100644 index 000000000..243f2bb9a --- /dev/null +++ b/external/boost/fusion/include/vector30.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR30) +#define FUSION_INCLUDE_VECTOR30 + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector40.hpp b/external/boost/fusion/include/vector40.hpp new file mode 100644 index 000000000..8dd800a8c --- /dev/null +++ b/external/boost/fusion/include/vector40.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR40) +#define FUSION_INCLUDE_VECTOR40 + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector50.hpp b/external/boost/fusion/include/vector50.hpp new file mode 100644 index 000000000..d3e899688 --- /dev/null +++ b/external/boost/fusion/include/vector50.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR50) +#define FUSION_INCLUDE_VECTOR50 + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector_fwd.hpp b/external/boost/fusion/include/vector_fwd.hpp new file mode 100644 index 000000000..f9c71a6f7 --- /dev/null +++ b/external/boost/fusion/include/vector_fwd.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR_FWD) +#define FUSION_INCLUDE_VECTOR_FWD + +#include +#include + +#endif diff --git a/external/boost/fusion/include/vector_tie.hpp b/external/boost/fusion/include/vector_tie.hpp new file mode 100644 index 000000000..390e3bfed --- /dev/null +++ b/external/boost/fusion/include/vector_tie.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR_TIE) +#define FUSION_INCLUDE_VECTOR_TIE + +#include +#include + +#endif diff --git a/external/boost/fusion/include/view.hpp b/external/boost/fusion/include/view.hpp new file mode 100644 index 000000000..66ffa74ea --- /dev/null +++ b/external/boost/fusion/include/view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VIEW) +#define FUSION_INCLUDE_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/include/void.hpp b/external/boost/fusion/include/void.hpp new file mode 100644 index 000000000..ee358fb13 --- /dev/null +++ b/external/boost/fusion/include/void.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VOID) +#define FUSION_INCLUDE_VOID + +#include +#include + +#endif diff --git a/external/boost/fusion/include/zip.hpp b/external/boost/fusion/include/zip.hpp new file mode 100644 index 000000000..87b04bc3f --- /dev/null +++ b/external/boost/fusion/include/zip.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ZIP) +#define FUSION_INCLUDE_ZIP + +#include +#include + +#endif diff --git a/external/boost/fusion/include/zip_view.hpp b/external/boost/fusion/include/zip_view.hpp new file mode 100644 index 000000000..bf0e9cfb9 --- /dev/null +++ b/external/boost/fusion/include/zip_view.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ZIP_VIEW) +#define FUSION_INCLUDE_ZIP_VIEW + +#include +#include + +#endif diff --git a/external/boost/fusion/iterator.hpp b/external/boost/fusion/iterator.hpp new file mode 100644 index 000000000..8aa15a39d --- /dev/null +++ b/external/boost/fusion/iterator.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ITERATOR_10022005_0559) +#define FUSION_ITERATOR_10022005_0559 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/iterator/advance.hpp b/external/boost/fusion/iterator/advance.hpp new file mode 100644 index 000000000..f81596a7a --- /dev/null +++ b/external/boost/fusion/iterator/advance.hpp @@ -0,0 +1,95 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADVANCE_09172005_1146) +#define FUSION_ADVANCE_09172005_1146 + +#include +#include +#include + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + // Special tags: + struct iterator_facade_tag; // iterator facade tag + struct boost_array_iterator_tag; // boost::array iterator tag + struct mpl_iterator_tag; // mpl sequence iterator tag + struct std_pair_iterator_tag; // std::pair iterator tag + + namespace extension + { + template + struct advance_impl + { + // default implementation + template + struct apply : + mpl::if_c< + (N::value > 0) + , advance_detail::forward + , advance_detail::backward + >::type + { + BOOST_MPL_ASSERT_NOT((traits::is_random_access)); + }; + }; + + template <> + struct advance_impl + { + template + struct apply : Iterator::template advance {}; + }; + + template <> + struct advance_impl; + + template <> + struct advance_impl; + + template <> + struct advance_impl; + } + + namespace result_of + { + template + struct advance_c + : extension::advance_impl::type>::template apply > + {}; + + template + struct advance + : extension::advance_impl::type>::template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::advance_c::type const + advance_c(Iterator const& i) + { + return result_of::advance_c::call(i); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::advance::type const + advance(Iterator const& i) + { + return result_of::advance::call(i); + } + +}} // namespace boost::fusion + +#endif diff --git a/external/boost/fusion/iterator/basic_iterator.hpp b/external/boost/fusion/iterator/basic_iterator.hpp new file mode 100644 index 000000000..eae46e635 --- /dev/null +++ b/external/boost/fusion/iterator/basic_iterator.hpp @@ -0,0 +1,156 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP +#define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP + +#include +#include + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct value_of_impl; + + template + struct deref_impl; + + template + struct value_of_data_impl; + + template + struct key_of_impl; + + template + struct deref_data_impl; + } + + template + struct basic_iterator + : iterator_facade, Category> + { + typedef mpl::int_ index; + typedef Seq seq_type; + + template + struct value_of + : extension::value_of_impl::template apply + {}; + + template + struct deref + : extension::deref_impl::template apply + {}; + + template + struct value_of_data + : extension::value_of_data_impl::template apply + {}; + + template + struct key_of + : extension::key_of_impl::template apply + {}; + + template + struct deref_data + : extension::deref_data_impl::template apply + {}; + + template + struct advance + { + typedef + basic_iterator + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return type(*it.seq,0); + } + }; + + template + struct next + : advance > + {}; + + template + struct prior + : advance > + {}; + + template + struct distance + { + typedef mpl::minus type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static + type + call(It1 const&, It2 const&) + { + return type(); + } + }; + + template + struct equal_to + : mpl::and_< + is_same< + typename remove_const::type + , typename remove_const::type + > + , mpl::equal_to + > + {}; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + basic_iterator(basic_iterator const& it) + : seq(it.seq) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + basic_iterator(Seq& in_seq, int) + : seq(&in_seq) + {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + basic_iterator& + operator=(basic_iterator const& it) + { + seq=it.seq; + return *this; + } + + Seq* seq; + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::basic_iterator > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/iterator/deref.hpp b/external/boost/fusion/iterator/deref.hpp new file mode 100644 index 000000000..c31962cb0 --- /dev/null +++ b/external/boost/fusion/iterator/deref.hpp @@ -0,0 +1,75 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_05042005_1019) +#define FUSION_DEREF_05042005_1019 + +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct iterator_facade_tag; // iterator facade tag + struct boost_array_iterator_tag; // boost::array iterator tag + struct mpl_iterator_tag; // mpl sequence iterator tag + struct std_pair_iterator_tag; // std::pair iterator tag + + namespace extension + { + template + struct deref_impl + { + template + struct apply {}; + }; + + template <> + struct deref_impl + { + template + struct apply : Iterator::template deref {}; + }; + + template <> + struct deref_impl; + + template <> + struct deref_impl; + + template <> + struct deref_impl; + } + + namespace result_of + { + template + struct deref + : extension::deref_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::deref::type + deref(Iterator const& i) + { + typedef result_of::deref deref_meta; + return deref_meta::call(i); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::deref::type + operator*(iterator_base const& i) + { + return fusion::deref(i.cast()); + } +}} + +#endif diff --git a/external/boost/fusion/iterator/deref_data.hpp b/external/boost/fusion/iterator/deref_data.hpp new file mode 100644 index 000000000..65a43324f --- /dev/null +++ b/external/boost/fusion/iterator/deref_data.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ITERATOR_DEREF_DATA_HPP +#define BOOST_FUSION_ITERATOR_DEREF_DATA_HPP + +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_facade_tag; + + namespace extension + { + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + : It::template deref_data + {}; + }; + } + + namespace result_of + { + template + struct deref_data + : extension::deref_data_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::deref_data::type + deref_data(It const& it) + { + return result_of::deref_data::call(it); + } +}} + +#endif diff --git a/external/boost/fusion/iterator/detail/adapt_deref_traits.hpp b/external/boost/fusion/iterator/detail/adapt_deref_traits.hpp new file mode 100644 index 000000000..bee0934f5 --- /dev/null +++ b/external/boost/fusion/iterator/detail/adapt_deref_traits.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADAPT_DEREF_TRAITS_05062005_0900) +#define FUSION_ADAPT_DEREF_TRAITS_05062005_0900 + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + struct adapt_deref_traits + { + template + struct apply + { + typedef typename + result_of::deref::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return *i.first; + } + }; + }; +}}} + +#endif + + diff --git a/external/boost/fusion/iterator/detail/adapt_value_traits.hpp b/external/boost/fusion/iterator/detail/adapt_value_traits.hpp new file mode 100644 index 000000000..e27a2f90f --- /dev/null +++ b/external/boost/fusion/iterator/detail/adapt_value_traits.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADAPT_VALUE_TRAITS_05062005_0859) +#define FUSION_ADAPT_VALUE_TRAITS_05062005_0859 + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + struct adapt_value_traits + { + template + struct apply + { + typedef typename + result_of::value_of::type + type; + }; + }; +}}} + +#endif + + diff --git a/external/boost/fusion/iterator/detail/advance.hpp b/external/boost/fusion/iterator/detail/advance.hpp new file mode 100644 index 000000000..7eb3bbbdb --- /dev/null +++ b/external/boost/fusion/iterator/detail/advance.hpp @@ -0,0 +1,107 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADVANCE_09172005_1149) +#define FUSION_ADVANCE_09172005_1149 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace advance_detail +{ + // Default advance implementation, perform next(i) + // or prior(i) N times. + + template + struct forward; + + template + struct next_forward + { + typedef typename + forward< + typename result_of::next::type + , N-1 + >::type + type; + }; + + template + struct forward + { + typedef typename + mpl::eval_if_c< + (N == 0) + , mpl::identity + , next_forward + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type const& + call(type const& i) + { + return i; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(I const& i) + { + return call(fusion::next(i)); + } + }; + + template + struct backward; + + template + struct next_backward + { + typedef typename + backward< + typename result_of::prior::type + , N+1 + >::type + type; + }; + + template + struct backward + { + typedef typename + mpl::eval_if_c< + (N == 0) + , mpl::identity + , next_backward + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type const& + call(type const& i) + { + return i; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(I const& i) + { + return call(fusion::prior(i)); + } + }; + +}}} + +#endif diff --git a/external/boost/fusion/iterator/detail/distance.hpp b/external/boost/fusion/iterator/detail/distance.hpp new file mode 100644 index 000000000..698490263 --- /dev/null +++ b/external/boost/fusion/iterator/detail/distance.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DISTANCE_09172005_0730) +#define FUSION_DISTANCE_09172005_0730 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace distance_detail +{ + // Default distance implementation, linear + // search for the Last iterator. + + template + struct linear_distance; + + template + struct next_distance + { + typedef typename + mpl::next< + typename linear_distance< + typename result_of::next::type + , Last + >::type + >::type + type; + }; + + template + struct linear_distance + : mpl::eval_if< + result_of::equal_to + , mpl::identity > + , next_distance + >::type + { + typedef typename + mpl::eval_if< + result_of::equal_to + , mpl::identity > + , next_distance + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + +}}} + +#endif diff --git a/external/boost/fusion/iterator/detail/segment_sequence.hpp b/external/boost/fusion/iterator/detail/segment_sequence.hpp new file mode 100644 index 000000000..8b8d5c13f --- /dev/null +++ b/external/boost/fusion/iterator/detail/segment_sequence.hpp @@ -0,0 +1,73 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + struct segment_sequence_tag {}; + + // Here, Sequence is a sequence of ranges (which may or may not be + // segmented). + template + struct segment_sequence + : sequence_base > + { + typedef fusion_sequence_tag tag; + typedef segment_sequence_tag fusion_tag; + typedef typename Sequence::is_view is_view; + typedef typename Sequence::category category; + typedef Sequence sequence_type; + sequence_type sequence; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segment_sequence(Sequence const & seq) + : sequence(seq) + {} + }; +} + +namespace extension +{ + template + struct is_segmented_impl; + + template<> + struct is_segmented_impl + { + template + struct apply + : mpl::true_ + {}; + }; + + template + struct segments_impl; + + template<> + struct segments_impl + { + template + struct apply + { + typedef typename Sequence::sequence_type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence & seq) + { + return seq.sequence; + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/iterator/detail/segmented_equal_to.hpp b/external/boost/fusion/iterator/detail/segmented_equal_to.hpp new file mode 100644 index 000000000..77a080f2b --- /dev/null +++ b/external/boost/fusion/iterator/detail/segmented_equal_to.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + + namespace detail + { + template + struct segmented_equal_to + : mpl::and_< + segmented_equal_to< + typename Stack1::cdr_type, + typename Stack2::cdr_type + > + , result_of::equal_to< + typename Stack1::car_type::begin_type, + typename Stack2::car_type::begin_type + > + > + {}; + + template <> + struct segmented_equal_to + : mpl::true_ + {}; + } +}} + +#endif diff --git a/external/boost/fusion/iterator/detail/segmented_iterator.hpp b/external/boost/fusion/iterator/detail/segmented_iterator.hpp new file mode 100644 index 000000000..9e114155e --- /dev/null +++ b/external/boost/fusion/iterator/detail/segmented_iterator.hpp @@ -0,0 +1,148 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nil_; + + namespace detail + { + template + struct segmented_next_impl; + } + + // A segmented iterator wraps a "context", which is a cons list + // of ranges, the frontmost is range over values and the rest + // are ranges over internal segments. + template + struct segmented_iterator + : iterator_facade, forward_traversal_tag> + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_iterator(Context const& ctx) + : context(ctx) + {} + + //auto deref(it) + //{ + // return deref(begin(car(it.context))) + //} + template + struct deref + { + typedef + typename result_of::deref< + typename It::context_type::car_type::begin_type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(It const& it) + { + return *it.context.car.first; + } + }; + + //auto deref_data(it) + //{ + // return deref_data(begin(car(it.context))) + //} + template + struct deref_data + { + typedef + typename result_of::deref_data< + typename It::context_type::car_type::begin_type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(It const& it) + { + return fusion::deref_data(it.context.car.first); + } + }; + + //auto key_of(it) + //{ + // return key_of(begin(car(it.context))) + //} + template + struct key_of + : result_of::key_of + {}; + + //auto value_of(it) + //{ + // return value_of(begin(car(it.context))) + //} + template + struct value_of + : result_of::value_of + {}; + + //auto value_of_data(it) + //{ + // return value_of_data(begin(car(it.context))) + //} + template + struct value_of_data + : result_of::value_of_data + {}; + + // Compare all the segment iterators in each stack, starting with + // the bottom-most. + template < + typename It1 + , typename It2 + , int Size1 = It1::context_type::size::value + , int Size2 = It2::context_type::size::value + > + struct equal_to + : mpl::false_ + {}; + + template + struct equal_to + : detail::segmented_equal_to< + typename It1::context_type + , typename It2::context_type + > + {}; + + template + struct next + { + typedef detail::segmented_next_impl impl; + typedef segmented_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(It const& it) + { + return type(impl::call(it.context)); + } + }; + + typedef Context context_type; + context_type context; + }; + +}} + +#endif diff --git a/external/boost/fusion/iterator/detail/segmented_next_impl.hpp b/external/boost/fusion/iterator/detail/segmented_next_impl.hpp new file mode 100644 index 000000000..62502ceef --- /dev/null +++ b/external/boost/fusion/iterator/detail/segmented_next_impl.hpp @@ -0,0 +1,265 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct iterator_range; + + template + struct segmented_iterator; + + namespace detail + { + template + struct segmented_begin_impl; + + //bool is_invalid(stack) + //{ + // return empty(car(stack)); + //} + + template + struct is_invalid + : result_of::equal_to< + typename Stack::car_type::begin_type, + typename Stack::car_type::end_type + > + {}; + + ////Advance the first iterator in the seq at the + ////top of a stack of iterator ranges. Return the + ////new stack. + //auto pop_front_car(stack) + //{ + // return cons(iterator_range(next(begin(car(stack))), end(car(stack))), cdr(stack)); + //} + + template + struct pop_front_car + { + typedef + iterator_range< + typename result_of::next< + typename Stack::car_type::begin_type + >::type + , typename Stack::car_type::end_type + > + car_type; + + typedef + cons + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return type( + car_type(fusion::next(stack.car.first), stack.car.last), + stack.cdr); + } + }; + + template < + typename Stack, + typename Next = typename pop_front_car::type, + bool IsInvalid = is_invalid::value, + int StackSize = Stack::size::value> + struct segmented_next_impl_recurse; + + // Handle the case where the top of the stack has no usable + //auto segmented_next_impl_recurse3(stack) + //{ + // if (size(stack) == 1) + // return cons(iterator_range(end(car(stack)), end(car(stack))), nil_); + // else + // return segmented_next_impl_recurse(stack.cdr); + //} + + template < + typename Stack, + int StackSize = Stack::size::value> + struct segmented_next_impl_recurse3 + { + typedef segmented_next_impl_recurse impl; + typedef typename impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return impl::call(stack.cdr); + } + }; + + template + struct segmented_next_impl_recurse3 + { + typedef typename Stack::car_type::end_type end_type; + typedef iterator_range range_type; + typedef cons type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return type(range_type(stack.car.last, stack.car.last)); + } + }; + + //auto segmented_next_impl_recurse2(stack) + //{ + // auto res = segmented_begin_impl(front(car(stack)), stack); + // if (is_invalid(res)) + // return segmented_next_impl_recurse3(stack); + // else + // return res; + //} + + template < + typename Stack, + typename Sequence = + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type, + typename Result = + typename segmented_begin_impl::type, + bool IsInvalid = + is_invalid::value> + struct segmented_next_impl_recurse2 + { + typedef segmented_next_impl_recurse3 impl; + typedef typename impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return impl::call(stack); + } + }; + + template + struct segmented_next_impl_recurse2 + { + typedef Result type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return segmented_begin_impl::call(*stack.car.first, stack); + } + }; + + //auto segmented_next_impl_recurse(stack) + //{ + // auto next = pop_front_car(stack); + // if (is_invalid(next)) + // if (1 == size(stack)) + // return next; + // else + // return segmented_next_impl_recurse(cdr(stack)); + // else + // return segmented_next_impl_recurse2(next) + //} + + template + struct segmented_next_impl_recurse + { + typedef + typename segmented_next_impl_recurse::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const& stack) + { + return segmented_next_impl_recurse::call(stack.cdr); + } + }; + + template + struct segmented_next_impl_recurse + { + typedef Next type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return pop_front_car::call(stack); + } + }; + + template + struct segmented_next_impl_recurse + { + typedef segmented_next_impl_recurse2 impl; + typedef typename impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return impl::call(pop_front_car::call(stack)); + } + }; + + //auto segmented_next_impl(stack) + //{ + // // car(stack) is a seq of values, not a seq of segments + // auto next = pop_front_car(stack); + // if (is_invalid(next)) + // return segmented_next_impl_recurse(cdr(next)); + // else + // return next; + //} + + template < + typename Stack, + typename Next = typename pop_front_car::type, + bool IsInvalid = is_invalid::value> + struct segmented_next_impl_aux + { + typedef segmented_next_impl_recurse impl; + typedef typename impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return impl::call(stack.cdr); + } + }; + + template + struct segmented_next_impl_aux + { + typedef Next type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const & stack) + { + return pop_front_car::call(stack); + } + }; + + template + struct segmented_next_impl + : segmented_next_impl_aux + {}; + } +}} + +#endif diff --git a/external/boost/fusion/iterator/distance.hpp b/external/boost/fusion/iterator/distance.hpp new file mode 100644 index 000000000..7f993c0d1 --- /dev/null +++ b/external/boost/fusion/iterator/distance.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DISTANCE_09172005_0721) +#define FUSION_DISTANCE_09172005_0721 + +#include +#include +#include + +#include +#include +#include + +#include + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + // Special tags: + struct iterator_facade_tag; // iterator facade tag + struct boost_array_iterator_tag; // boost::array iterator tag + struct mpl_iterator_tag; // mpl sequence iterator tag + struct std_pair_iterator_tag; // std::pair iterator tag + + namespace extension + { + template + struct distance_impl + { + // default implementation + template + struct apply : distance_detail::linear_distance + {}; + }; + + template <> + struct distance_impl + { + template + struct apply : First::template distance {}; + }; + + template <> + struct distance_impl; + + template <> + struct distance_impl; + + template <> + struct distance_impl; + } + + namespace result_of + { + template + struct distance + : extension::distance_impl::type>:: + template apply + { + typedef typename extension::distance_impl::type>:: + template apply::type distance_application; + BOOST_STATIC_CONSTANT(int, value = distance_application::value); + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::distance::type + distance(First const& a, Last const& b) + { + return result_of::distance::call(a,b); + } +}} + +#endif diff --git a/external/boost/fusion/iterator/equal_to.hpp b/external/boost/fusion/iterator/equal_to.hpp new file mode 100644 index 000000000..191795e13 --- /dev/null +++ b/external/boost/fusion/iterator/equal_to.hpp @@ -0,0 +1,106 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EQUAL_TO_05052005_1208) +#define FUSION_EQUAL_TO_05052005_1208 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct iterator_facade_tag; // iterator facade tag + struct boost_array_iterator_tag; // boost::array iterator tag + struct mpl_iterator_tag; // mpl sequence iterator tag + struct std_pair_iterator_tag; // std::pair iterator tag + + namespace extension + { + template + struct equal_to_impl + { + // default implementation + template + struct apply + : is_same::type, typename add_const::type> + {}; + }; + + template <> + struct equal_to_impl + { + template + struct dispatch : mpl::false_ {}; + + template + struct dispatch // same tag + : It1::template equal_to + {}; + + template + struct apply : dispatch + {}; + }; + + template <> + struct equal_to_impl; + + template <> + struct equal_to_impl; + + template <> + struct equal_to_impl; + } + + namespace result_of + { + template + struct equal_to + : extension::equal_to_impl::type>:: + template apply + {}; + } + + namespace iterator_operators + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + mpl::and_, is_fusion_iterator > + , bool + >::type + operator==(Iter1 const&, Iter2 const&) + { + return result_of::equal_to::value; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + mpl::and_, is_fusion_iterator > + , bool + >::type + operator!=(Iter1 const&, Iter2 const&) + { + return !result_of::equal_to::value; + } + } + + using iterator_operators::operator==; + using iterator_operators::operator!=; +}} + +#endif + diff --git a/external/boost/fusion/iterator/iterator_adapter.hpp b/external/boost/fusion/iterator/iterator_adapter.hpp new file mode 100644 index 000000000..de8938f6c --- /dev/null +++ b/external/boost/fusion/iterator/iterator_adapter.hpp @@ -0,0 +1,147 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ITERATOR_ADAPTER_08112011_0942) +#define FUSION_ITERATOR_ADAPTER_08112011_0942 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template ::type> + struct iterator_adapter + : iterator_facade + { + typedef typename + remove_const::type + iterator_base_type; + iterator_base_type iterator_base; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + iterator_adapter(iterator_base_type const& iterator_base_) + : iterator_base(iterator_base_) {} + + // default implementation + template + struct equal_to + : result_of::equal_to< + typename I1::iterator_base_type + , typename I2::iterator_base_type + > + {}; + + // default implementation + template + struct advance + { + typedef typename Derived_::template make< + typename result_of::advance< + typename Iterator::iterator_base_type, N + >::type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& it) + { + return type(fusion::advance(it.iterator_base)); + } + }; + + // default implementation + template + struct distance + : result_of::distance< + typename First::iterator_base_type + , typename Last::iterator_base_type + > + {}; + + // default implementation + template + struct value_of + : result_of::value_of< + typename Iterator::iterator_base_type + > + {}; + + // default implementation + template + struct deref + { + typedef typename + result_of::deref< + typename Iterator::iterator_base_type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& it) + { + return fusion::deref(it.iterator_base); + } + }; + + // default implementation + template + struct next + { + typedef typename Derived_::template make< + typename result_of::next< + typename Iterator::iterator_base_type + >::type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::next(i.iterator_base)); + } + }; + + // default implementation + template + struct prior + { + typedef typename Derived_::template make< + typename result_of::prior< + typename Iterator::iterator_base_type + >::type>::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::prior(i.iterator_base)); + } + }; + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::iterator_adapter > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/iterator/iterator_facade.hpp b/external/boost/fusion/iterator/iterator_facade.hpp new file mode 100644 index 000000000..1760957ee --- /dev/null +++ b/external/boost/fusion/iterator/iterator_facade.hpp @@ -0,0 +1,68 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ITERATOR_FACADE_09252006_1011) +#define FUSION_ITERATOR_FACADE_09252006_1011 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_facade_tag; + + template + struct iterator_facade : iterator_base + { + typedef iterator_facade_tag fusion_tag; + typedef Derived derived_type; + typedef Category category; + + // default implementation + template + struct equal_to // default implementation + : is_same< + typename I1::derived_type + , typename I2::derived_type + > + {}; + + // default implementation + template + struct advance : + mpl::if_c< + (N::value > 0) + , advance_detail::forward + , advance_detail::backward + >::type + { + BOOST_MPL_ASSERT_NOT((traits::is_random_access)); + }; + + // default implementation + template + struct distance : + distance_detail::linear_distance + {}; + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::iterator_facade > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/iterator/key_of.hpp b/external/boost/fusion/iterator/key_of.hpp new file mode 100644 index 000000000..3459ab58e --- /dev/null +++ b/external/boost/fusion/iterator/key_of.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ITERATOR_KEY_OF_HPP +#define BOOST_FUSION_ITERATOR_KEY_OF_HPP + +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_facade_tag; + + namespace extension + { + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : It::template key_of + {}; + }; + } + + namespace result_of + { + template + struct key_of + : extension::key_of_impl::type>:: + template apply + {}; + } +}} + +#endif diff --git a/external/boost/fusion/iterator/mpl.hpp b/external/boost/fusion/iterator/mpl.hpp new file mode 100644 index 000000000..fdaf749c0 --- /dev/null +++ b/external/boost/fusion/iterator/mpl.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ITERATOR_MPL_10022005_0557) +#define FUSION_ITERATOR_MPL_10022005_0557 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/iterator/mpl/convert_iterator.hpp b/external/boost/fusion/iterator/mpl/convert_iterator.hpp new file mode 100644 index 000000000..3e17478eb --- /dev/null +++ b/external/boost/fusion/iterator/mpl/convert_iterator.hpp @@ -0,0 +1,62 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_ITERATOR_05062005_1218) +#define FUSION_CONVERT_ITERATOR_05062005_1218 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct mpl_iterator; // forward declaration + + // Test T. If it is a fusion iterator, return a reference to it. + // else, assume it is an mpl iterator. + + template + struct convert_iterator + { + typedef typename + mpl::if_< + is_fusion_iterator + , T + , mpl_iterator + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static T const& + call(T const& x, mpl::true_) + { + return x; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static mpl_iterator + call(T const& /*x*/, mpl::false_) + { + return mpl_iterator(); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename + mpl::if_< + is_fusion_iterator + , T const& + , mpl_iterator + >::type + call(T const& x) + { + return call(x, is_fusion_iterator()); + } + }; +}} + +#endif diff --git a/external/boost/fusion/iterator/mpl/fusion_iterator.hpp b/external/boost/fusion/iterator/mpl/fusion_iterator.hpp new file mode 100644 index 000000000..f8feacf67 --- /dev/null +++ b/external/boost/fusion/iterator/mpl/fusion_iterator.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FUSION_ITERATOR_10012005_1551) +#define FUSION_FUSION_ITERATOR_10012005_1551 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + +template +struct to_mpl_category { + typedef typename mpl::eval_if< + is_base_of, + mpl::random_access_iterator_tag, + mpl::eval_if< + is_base_of, + mpl::bidirectional_iterator_tag, + mpl::forward_iterator_tag + > + >::type type; +}; + +}}} + +namespace boost { namespace mpl +{ + template + struct fusion_iterator + { + typedef typename fusion::result_of::value_of::type type; + typedef typename fusion::traits::category_of::type fusion_category; + typedef typename fusion::detail::to_mpl_category::type category; + typedef Iterator iterator; + }; + + template + struct next > + { + typedef fusion_iterator::type> type; + }; + + template + struct prior > + { + typedef fusion_iterator::type> type; + }; + + template + struct advance, N> + { + typedef fusion_iterator::type> type; + }; + + template + struct distance, fusion_iterator > + : fusion::result_of::distance + {}; + +}} + +#endif + + diff --git a/external/boost/fusion/iterator/next.hpp b/external/boost/fusion/iterator/next.hpp new file mode 100644 index 000000000..d6ca3d663 --- /dev/null +++ b/external/boost/fusion/iterator/next.hpp @@ -0,0 +1,65 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_05042005_1101) +#define FUSION_NEXT_05042005_1101 + +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct iterator_facade_tag; // iterator facade tag + struct boost_array_iterator_tag; // boost::array iterator tag + struct mpl_iterator_tag; // mpl sequence iterator tag + struct std_pair_iterator_tag; // std::pair iterator tag + + namespace extension + { + template + struct next_impl + { + template + struct apply {}; + }; + + template <> + struct next_impl + { + template + struct apply : Iterator::template next {}; + }; + + template <> + struct next_impl; + + template <> + struct next_impl; + + template <> + struct next_impl; + } + + namespace result_of + { + template + struct next + : extension::next_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::next::type const + next(Iterator const& i) + { + return result_of::next::call(i); + } +}} + +#endif diff --git a/external/boost/fusion/iterator/prior.hpp b/external/boost/fusion/iterator/prior.hpp new file mode 100644 index 000000000..80e891c79 --- /dev/null +++ b/external/boost/fusion/iterator/prior.hpp @@ -0,0 +1,65 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PRIOR_05042005_1144) +#define FUSION_PRIOR_05042005_1144 + +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct iterator_facade_tag; // iterator facade tag + struct boost_array_iterator_tag; // boost::array iterator tag + struct mpl_iterator_tag; // mpl sequence iterator tag + struct std_pair_iterator_tag; // std::pair iterator tag + + namespace extension + { + template + struct prior_impl + { + template + struct apply {}; + }; + + template <> + struct prior_impl + { + template + struct apply : Iterator::template prior {}; + }; + + template <> + struct prior_impl; + + template <> + struct prior_impl; + + template <> + struct prior_impl; + } + + namespace result_of + { + template + struct prior + : extension::prior_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::prior::type const + prior(Iterator const& i) + { + return result_of::prior::call(i); + } +}} + +#endif diff --git a/external/boost/fusion/iterator/segmented_iterator.hpp b/external/boost/fusion/iterator/segmented_iterator.hpp new file mode 100644 index 000000000..b9aac07c6 --- /dev/null +++ b/external/boost/fusion/iterator/segmented_iterator.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED + +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/iterator/value_of.hpp b/external/boost/fusion/iterator/value_of.hpp new file mode 100644 index 000000000..1408dc7a5 --- /dev/null +++ b/external/boost/fusion/iterator/value_of.hpp @@ -0,0 +1,58 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_OF_05052005_1126) +#define FUSION_VALUE_OF_05052005_1126 + +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct iterator_facade_tag; // iterator facade tag + struct boost_array_iterator_tag; // boost::array iterator tag + struct mpl_iterator_tag; // mpl sequence iterator tag + struct std_pair_iterator_tag; // std::pair iterator tag + + namespace extension + { + template + struct value_of_impl + { + template + struct apply {}; + }; + + template <> + struct value_of_impl + { + template + struct apply : Iterator::template value_of {}; + }; + + template <> + struct value_of_impl; + + template <> + struct value_of_impl; + + template <> + struct value_of_impl; + } + + namespace result_of + { + template + struct value_of + : extension::value_of_impl::type>:: + template apply + {}; + } +}} + +#endif diff --git a/external/boost/fusion/iterator/value_of_data.hpp b/external/boost/fusion/iterator/value_of_data.hpp new file mode 100644 index 000000000..341fe882a --- /dev/null +++ b/external/boost/fusion/iterator/value_of_data.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP +#define BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP + +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_facade_tag; + + namespace extension + { + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : It::template value_of_data + {}; + }; + } + + namespace result_of + { + template + struct value_of_data + : extension::value_of_data_impl::type>:: + template apply + {}; + } +}} + +#endif diff --git a/external/boost/fusion/mpl.hpp b/external/boost/fusion/mpl.hpp new file mode 100644 index 000000000..705f0db7e --- /dev/null +++ b/external/boost/fusion/mpl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MPL_09172006_2049) +#define FUSION_MPL_09172006_2049 + +// The fusion <--> MPL link headers +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/mpl/at.hpp b/external/boost/fusion/mpl/at.hpp new file mode 100644 index 000000000..ec4b257d7 --- /dev/null +++ b/external/boost/fusion/mpl/at.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_AT_10022005_1616) +#define FUSION_AT_10022005_1616 + +#include +#include +#include + +namespace boost { +namespace fusion +{ + struct fusion_sequence_tag; +} + +namespace mpl +{ + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply : fusion::result_of::value_at {}; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/back.hpp b/external/boost/fusion/mpl/back.hpp new file mode 100644 index 000000000..631b4ea65 --- /dev/null +++ b/external/boost/fusion/mpl/back.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BACK_10022005_1620) +#define FUSION_BACK_10022005_1620 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct back_impl; + + template <> + struct back_impl + { + template + struct apply : + fusion::result_of::value_of< + typename fusion::result_of::prior< + typename fusion::result_of::end::type + >::type> {}; + }; +}} + +#endif diff --git a/external/boost/fusion/mpl/begin.hpp b/external/boost/fusion/mpl/begin.hpp new file mode 100644 index 000000000..f97e82ceb --- /dev/null +++ b/external/boost/fusion/mpl/begin.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_10022005_1620) +#define FUSION_BEGIN_10022005_1620 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef fusion_iterator::type> type; + }; + }; +}} + +#endif diff --git a/external/boost/fusion/mpl/clear.hpp b/external/boost/fusion/mpl/clear.hpp new file mode 100644 index 000000000..745ca0f9c --- /dev/null +++ b/external/boost/fusion/mpl/clear.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CLEAR_10022005_1817) +#define FUSION_CLEAR_10022005_1817 + +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct clear_impl; + + template <> + struct clear_impl + { + template + struct apply + { + typedef typename + fusion::detail::clear::type>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/detail/clear.hpp b/external/boost/fusion/mpl/detail/clear.hpp new file mode 100644 index 000000000..9e640daad --- /dev/null +++ b/external/boost/fusion/mpl/detail/clear.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CLEAR_10022005_1442) +#define FUSION_CLEAR_10022005_1442 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_tag; + struct map_tag; + struct set_tag; + struct vector_tag; + struct deque_tag; + + namespace detail + { + template + struct clear; + + template <> + struct clear : mpl::identity > {}; + + template <> + struct clear : mpl::identity > {}; + + template <> + struct clear : mpl::identity > {}; + + template <> + struct clear : mpl::identity > {}; + + template <> + struct clear : mpl::identity > {}; + } +}} + +#endif diff --git a/external/boost/fusion/mpl/empty.hpp b/external/boost/fusion/mpl/empty.hpp new file mode 100644 index 000000000..b058ae950 --- /dev/null +++ b/external/boost/fusion/mpl/empty.hpp @@ -0,0 +1,27 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EMPTY_10022005_1619) +#define FUSION_EMPTY_10022005_1619 + +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct empty_impl; + + template <> + struct empty_impl + { + template + struct apply : fusion::result_of::empty {}; + }; +}} + +#endif diff --git a/external/boost/fusion/mpl/end.hpp b/external/boost/fusion/mpl/end.hpp new file mode 100644 index 000000000..e5aa8b96c --- /dev/null +++ b/external/boost/fusion/mpl/end.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_10022005_1619) +#define FUSION_END_10022005_1619 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef fusion_iterator::type> type; + }; + }; +}} + +#endif diff --git a/external/boost/fusion/mpl/erase.hpp b/external/boost/fusion/mpl/erase.hpp new file mode 100644 index 000000000..82d4260fb --- /dev/null +++ b/external/boost/fusion/mpl/erase.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ERASE_10022005_1835) +#define FUSION_ERASE_10022005_1835 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct erase_impl; + + template <> + struct erase_impl + { + template + struct apply + { + typedef typename + fusion::result_of::erase::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/erase_key.hpp b/external/boost/fusion/mpl/erase_key.hpp new file mode 100644 index 000000000..4dabf0425 --- /dev/null +++ b/external/boost/fusion/mpl/erase_key.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ERASE_KEY_10022005_1907) +#define FUSION_ERASE_KEY_10022005_1907 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct erase_key_impl; + + template <> + struct erase_key_impl + { + template + struct apply + { + typedef typename + fusion::result_of::erase_key::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/front.hpp b/external/boost/fusion/mpl/front.hpp new file mode 100644 index 000000000..45672a6dc --- /dev/null +++ b/external/boost/fusion/mpl/front.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FRONT_10022005_1618) +#define FUSION_FRONT_10022005_1618 + +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct front_impl; + + template <> + struct front_impl + { + template + struct apply : + fusion::result_of::value_of::type> {}; + }; +}} + +#endif diff --git a/external/boost/fusion/mpl/has_key.hpp b/external/boost/fusion/mpl/has_key.hpp new file mode 100644 index 000000000..f1e3359f5 --- /dev/null +++ b/external/boost/fusion/mpl/has_key.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_HAS_KEY_10022005_1617) +#define FUSION_HAS_KEY_10022005_1617 + +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct has_key_impl; + + template <> + struct has_key_impl + { + template + struct apply : fusion::result_of::has_key {}; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/insert.hpp b/external/boost/fusion/mpl/insert.hpp new file mode 100644 index 000000000..45b5d87d7 --- /dev/null +++ b/external/boost/fusion/mpl/insert.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INSERT_10022005_1837) +#define FUSION_INSERT_10022005_1837 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct insert_impl; + + template <> + struct insert_impl + { + template + struct apply + { + typedef typename + fusion::result_of::insert::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/insert_range.hpp b/external/boost/fusion/mpl/insert_range.hpp new file mode 100644 index 000000000..31389ffc4 --- /dev/null +++ b/external/boost/fusion/mpl/insert_range.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INSERT_RANGE_10022005_1838) +#define FUSION_INSERT_RANGE_10022005_1838 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct insert_range_impl; + + template <> + struct insert_range_impl + { + template + struct apply + { + typedef typename + fusion::result_of::insert_range::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/pop_back.hpp b/external/boost/fusion/mpl/pop_back.hpp new file mode 100644 index 000000000..d91ca8aac --- /dev/null +++ b/external/boost/fusion/mpl/pop_back.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_POP_BACK_10022005_1801) +#define FUSION_POP_BACK_10022005_1801 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct pop_back_impl; + + template <> + struct pop_back_impl + { + template + struct apply + { + typedef typename + fusion::result_of::pop_back::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/pop_front.hpp b/external/boost/fusion/mpl/pop_front.hpp new file mode 100644 index 000000000..5f6533bc3 --- /dev/null +++ b/external/boost/fusion/mpl/pop_front.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_POP_FRONT_10022005_1800) +#define FUSION_POP_FRONT_10022005_1800 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct pop_front_impl; + + template <> + struct pop_front_impl + { + template + struct apply + { + typedef typename + fusion::result_of::pop_front::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/push_back.hpp b/external/boost/fusion/mpl/push_back.hpp new file mode 100644 index 000000000..8af5456ba --- /dev/null +++ b/external/boost/fusion/mpl/push_back.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PUSH_BACK_10022005_1647) +#define FUSION_PUSH_BACK_10022005_1647 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct push_back_impl; + + template <> + struct push_back_impl + { + template + struct apply + { + typedef typename + fusion::result_of::push_back::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/push_front.hpp b/external/boost/fusion/mpl/push_front.hpp new file mode 100644 index 000000000..5978fd6e2 --- /dev/null +++ b/external/boost/fusion/mpl/push_front.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PUSH_FRONT_10022005_1720) +#define FUSION_PUSH_FRONT_10022005_1720 + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct push_front_impl; + + template <> + struct push_front_impl + { + template + struct apply + { + typedef typename + fusion::result_of::push_front::type + result; + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type + type; + }; + }; +}} + +#endif + diff --git a/external/boost/fusion/mpl/size.hpp b/external/boost/fusion/mpl/size.hpp new file mode 100644 index 000000000..c77e55fbd --- /dev/null +++ b/external/boost/fusion/mpl/size.hpp @@ -0,0 +1,27 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SIZE_10022005_1617) +#define FUSION_SIZE_10022005_1617 + +#include +#include +#include + +namespace boost { namespace mpl +{ + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply : fusion::result_of::size {}; + }; +}} + +#endif diff --git a/external/boost/fusion/sequence.hpp b/external/boost/fusion/sequence.hpp new file mode 100644 index 000000000..4d5d8a2b1 --- /dev/null +++ b/external/boost/fusion/sequence.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_10022005_0559) +#define FUSION_SEQUENCE_10022005_0559 + +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/sequence/comparison.hpp b/external/boost/fusion/sequence/comparison.hpp new file mode 100644 index 000000000..d319f9e07 --- /dev/null +++ b/external/boost/fusion/sequence/comparison.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_COMPARISON_10022005_0615) +#define FUSION_SEQUENCE_COMPARISON_10022005_0615 + +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/sequence/comparison/detail/equal_to.hpp b/external/boost/fusion/sequence/comparison/detail/equal_to.hpp new file mode 100644 index 000000000..cffed6c39 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/detail/equal_to.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EQUAL_TO_05052005_1142) +#define FUSION_EQUAL_TO_05052005_1142 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct sequence_equal_to + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const&, I2 const&, mpl::true_) + { + return true; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b, mpl::false_) + { + return extension::as_const(*a) == extension::as_const(*b) + && call(fusion::next(a), fusion::next(b)); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b) + { + typename result_of::equal_to::type eq; + return call(a, b, eq); + } + }; + + template + struct sequence_equal_to + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& /*a*/, I2 const& /*b*/) + { + return false; + } + }; +}}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/detail/greater.hpp b/external/boost/fusion/sequence/comparison/detail/greater.hpp new file mode 100644 index 000000000..d76265293 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/detail/greater.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_GREATER_05052005_1142) +#define FUSION_GREATER_05052005_1142 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct sequence_greater + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const&, I2 const&, mpl::true_) + { + return false; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b, mpl::false_) + { + return extension::as_const(*a) > extension::as_const(*b) || + (!(extension::as_const(*b) > extension::as_const(*a)) && + call(fusion::next(a), fusion::next(b))); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b) + { + typename result_of::equal_to::type eq; + return call(a, b, eq); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/detail/greater_equal.hpp b/external/boost/fusion/sequence/comparison/detail/greater_equal.hpp new file mode 100644 index 000000000..d15d88c40 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/detail/greater_equal.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_GREATER_EQUAL_05052005_1142) +#define FUSION_GREATER_EQUAL_05052005_1142 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct sequence_greater_equal + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const&, I2 const&, mpl::true_) + { + return true; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b, mpl::false_) + { + return extension::as_const(*a) >= extension::as_const(*b) + && (!(extension::as_const(*b) >= extension::as_const(*a)) || + call(fusion::next(a), fusion::next(b))); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b) + { + typename result_of::equal_to::type eq; + return call(a, b, eq); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/detail/less.hpp b/external/boost/fusion/sequence/comparison/detail/less.hpp new file mode 100644 index 000000000..04377d696 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/detail/less.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LESS_05052005_1141) +#define FUSION_LESS_05052005_1141 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct sequence_less + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const&, I2 const&, mpl::true_) + { + return false; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b, mpl::false_) + { + return extension::as_const(*a) < extension::as_const(*b) || + (!(extension::as_const(*b) < extension::as_const(*a)) && + call(fusion::next(a), fusion::next(b))); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b) + { + typename result_of::equal_to::type eq; + return call(a, b, eq); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/detail/less_equal.hpp b/external/boost/fusion/sequence/comparison/detail/less_equal.hpp new file mode 100644 index 000000000..e61d33c4f --- /dev/null +++ b/external/boost/fusion/sequence/comparison/detail/less_equal.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LESS_EQUAL_05052005_1141) +#define FUSION_LESS_EQUAL_05052005_1141 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct sequence_less_equal + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const&, I2 const&, mpl::true_) + { + return true; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b, mpl::false_) + { + return extension::as_const(*a) <= extension::as_const(*b) + && (!(extension::as_const(*b) <= extension::as_const(*a)) || + call(fusion::next(a), fusion::next(b))); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b) + { + typename result_of::equal_to::type eq; + return call(a, b, eq); + } + }; +}}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp b/external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp new file mode 100644 index 000000000..323b2ac9d --- /dev/null +++ b/external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NOT_EQUAL_TO_05052005_1141) +#define FUSION_NOT_EQUAL_TO_05052005_1141 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct sequence_not_equal_to + { + typedef typename result_of::end::type end1_type; + typedef typename result_of::end::type end2_type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const&, I2 const&, mpl::true_) + { + return false; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b, mpl::false_) + { + return extension::as_const(*a) != extension::as_const(*b) + || call(fusion::next(a), fusion::next(b)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b) + { + typename result_of::equal_to::type eq; + return call(a, b, eq); + } + }; + + template + struct sequence_not_equal_to + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static bool + call(I1 const& a, I2 const& b) + { + return true; + } + }; +}}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/enable_comparison.hpp b/external/boost/fusion/sequence/comparison/enable_comparison.hpp new file mode 100644 index 000000000..127941771 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/enable_comparison.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ENABLE_COMPARISON_09232005_1958) +#define FUSION_ENABLE_COMPARISON_09232005_1958 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace traits +{ + template + struct enable_equality + : mpl::or_, traits::is_sequence > + {}; + + template + struct enable_comparison + : mpl::and_< + mpl::or_, traits::is_sequence > + , mpl::equal_to, result_of::size > + > + {}; +}}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/equal_to.hpp b/external/boost/fusion/sequence/comparison/equal_to.hpp new file mode 100644 index 000000000..283ffefc8 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/equal_to.hpp @@ -0,0 +1,59 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EQUAL_TO_05052005_0431) +#define FUSION_EQUAL_TO_05052005_0431 + +#include +#include +#include +#include +#include +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4100) // unreferenced formal parameter +#endif + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + equal_to(Seq1 const& a, Seq2 const& b) + { + return result_of::size::value == result_of::size::value + && detail::sequence_equal_to< + Seq1 const, Seq2 const + , result_of::size::value == result_of::size::value>:: + call(fusion::begin(a), fusion::begin(b)); + } + + namespace operators + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + traits::enable_equality + , bool + >::type + operator==(Seq1 const& a, Seq2 const& b) + { + return fusion::equal_to(a, b); + } + } + using operators::operator==; +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/fusion/sequence/comparison/greater.hpp b/external/boost/fusion/sequence/comparison/greater.hpp new file mode 100644 index 000000000..fbbb7bfae --- /dev/null +++ b/external/boost/fusion/sequence/comparison/greater.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_GREATER_05052005_0432) +#define FUSION_GREATER_05052005_0432 + +#include +#include +#include +#include +#include + +#if defined(FUSION_DIRECT_OPERATOR_USAGE) +#include +#else +#include +#endif + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + greater(Seq1 const& a, Seq2 const& b) + { +#if defined(FUSION_DIRECT_OPERATOR_USAGE) + return detail::sequence_greater:: + call(fusion::begin(a), fusion::begin(b)); +#else + return (b < a); +#endif + } + + namespace operators + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + traits::enable_comparison + , bool + >::type + operator>(Seq1 const& a, Seq2 const& b) + { + return fusion::greater(a, b); + } + } + using operators::operator>; +}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/greater_equal.hpp b/external/boost/fusion/sequence/comparison/greater_equal.hpp new file mode 100644 index 000000000..7b91a8886 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/greater_equal.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_GREATER_EQUAL_05052005_0432) +#define FUSION_GREATER_EQUAL_05052005_0432 + +#include +#include +#include +#include +#include + +#if defined(FUSION_DIRECT_OPERATOR_USAGE) +#include +#else +#include +#endif + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + greater_equal(Seq1 const& a, Seq2 const& b) + { +#if defined(FUSION_DIRECT_OPERATOR_USAGE) + return detail::sequence_greater_equal:: + call(fusion::begin(a), fusion::begin(b)); +#else + return !(a < b); +#endif + } + + namespace operators + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + traits::enable_comparison + , bool + >::type + operator>=(Seq1 const& a, Seq2 const& b) + { + return fusion::greater_equal(a, b); + } + } + using operators::operator>=; +}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/less.hpp b/external/boost/fusion/sequence/comparison/less.hpp new file mode 100644 index 000000000..b056552a9 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/less.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LESS_05052005_0432) +#define FUSION_LESS_05052005_0432 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + less(Seq1 const& a, Seq2 const& b) + { + return detail::sequence_less:: + call(fusion::begin(a), fusion::begin(b)); + } + + namespace operators + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + traits::enable_comparison + , bool + >::type + operator<(Seq1 const& a, Seq2 const& b) + { + return fusion::less(a, b); + } + } + using operators::operator<; +}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/less_equal.hpp b/external/boost/fusion/sequence/comparison/less_equal.hpp new file mode 100644 index 000000000..c5dfa8d5c --- /dev/null +++ b/external/boost/fusion/sequence/comparison/less_equal.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_LESS_EQUAL_05052005_0432) +#define FUSION_LESS_EQUAL_05052005_0432 + +#include +#include +#include +#include +#include + +#if defined(FUSION_DIRECT_OPERATOR_USAGE) +#include +#else +#include +#endif + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + less_equal(Seq1 const& a, Seq2 const& b) + { +#if defined(FUSION_DIRECT_OPERATOR_USAGE) + return detail::sequence_less_equal:: + call(fusion::begin(a), fusion::begin(b)); +#else + return !(b < a); +#endif + } + + namespace operators + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + traits::enable_comparison + , bool + >::type + operator<=(Seq1 const& a, Seq2 const& b) + { + return fusion::less_equal(a, b); + } + } + using operators::operator<=; +}} + +#endif diff --git a/external/boost/fusion/sequence/comparison/not_equal_to.hpp b/external/boost/fusion/sequence/comparison/not_equal_to.hpp new file mode 100644 index 000000000..fc2fef334 --- /dev/null +++ b/external/boost/fusion/sequence/comparison/not_equal_to.hpp @@ -0,0 +1,58 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NOT_EQUAL_TO_05052005_0431) +#define FUSION_NOT_EQUAL_TO_05052005_0431 + +#include +#include +#include +#include +#include + +#if defined(FUSION_DIRECT_OPERATOR_USAGE) +#include +#else +#include +#endif + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + not_equal_to(Seq1 const& a, Seq2 const& b) + { +#if defined(FUSION_DIRECT_OPERATOR_USAGE) + return result_of::size::value != result_of::size::value + || detail::sequence_not_equal_to< + Seq1 const, Seq2 const + , result_of::size::value == result_of::size::value>:: + call(fusion::begin(a), fusion::begin(b)); +#else + return !(a == b); +#endif + } + + namespace operators + { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + boost::enable_if< + traits::enable_equality + , bool + >::type + operator!=(Seq1 const& a, Seq2 const& b) + { + return fusion::not_equal_to(a, b); + } + } + using operators::operator!=; +}} + +#endif diff --git a/external/boost/fusion/sequence/convert.hpp b/external/boost/fusion/sequence/convert.hpp new file mode 100644 index 000000000..534d991a2 --- /dev/null +++ b/external/boost/fusion/sequence/convert.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_10022005_1442) +#define FUSION_CONVERT_10022005_1442 + +#include +#if BOOST_WORKAROUND(BOOST_GCC, < 30500) +#include +#include +#define BOOST_FUSION_WA_GCC34(type1, type2) \ + boost::lazy_disable_if, type1, type2> +#else +#define BOOST_FUSION_WA_GCC34(type1, type2) type1, type2 +#endif + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct convert_impl; + } + + namespace result_of + { + template + struct convert + { + typedef typename + extension::convert_impl::template apply + gen; + + typedef typename gen::type type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename BOOST_FUSION_WA_GCC34(result_of::convert)::type + convert(Sequence& seq) + { + typedef typename result_of::convert::gen gen; + return gen::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::convert::type + convert(Sequence const& seq) + { + typedef typename result_of::convert::gen gen; + return gen::call(seq); + } +}} + +#undef BOOST_FUSION_WA_GCC34 +#endif diff --git a/external/boost/fusion/sequence/hash.hpp b/external/boost/fusion/sequence/hash.hpp new file mode 100644 index 000000000..bc5b1499d --- /dev/null +++ b/external/boost/fusion/sequence/hash.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2014 Christoph Weiss + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_HASH_23072014_1017) +#define FUSION_HASH_23072014_1017 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace hashing + { + struct hash_combine_fold + { + typedef std::size_t result_type; + template + inline std::size_t operator()(std::size_t seed, T const& v) + { + boost::hash_combine(seed, v); + return seed; + } + }; + + template + inline typename + boost::enable_if, std::size_t>::type + hash_value(Seq const& seq) + { + return fold(seq, 0, hash_combine_fold()); + } + } + + using hashing::hash_value; +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic.hpp b/external/boost/fusion/sequence/intrinsic.hpp new file mode 100644 index 000000000..d3e5af0b0 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic.hpp @@ -0,0 +1,25 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_INTRINSIC_10022005_0618) +#define FUSION_SEQUENCE_INTRINSIC_10022005_0618 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/at.hpp b/external/boost/fusion/sequence/intrinsic/at.hpp new file mode 100644 index 000000000..a103e078a --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/at.hpp @@ -0,0 +1,134 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_AT_05042005_0722) +#define FUSION_AT_05042005_0722 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + struct std_tuple_tag; // std::tuple tag + + namespace extension + { + template + struct at_impl + { + template + struct apply; + }; + + template <> + struct at_impl + { + template + struct apply : Sequence::template at {}; + }; + + template <> + struct at_impl; + + template <> + struct at_impl; + + template <> + struct at_impl; + + template <> + struct at_impl; + + template <> + struct at_impl; + } + + namespace detail + { + template + struct at_impl + : mpl::if_< + mpl::or_< + mpl::less::template apply::type> + , traits::is_unbounded + > + , typename extension::at_impl::template apply + , mpl::empty_base + >::type + {}; + } + + namespace result_of + { + template + struct at + : detail::at_impl::type> + {}; + + template + struct at_c + : at > + {}; + } + + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at + >::type + at(Sequence& seq) + { + return result_of::at::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::at::type + at(Sequence const& seq) + { + return result_of::at::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + at_c(Sequence& seq) + { + return fusion::at >(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + at_c(Sequence const& seq) + { + return fusion::at >(seq); + } +}} + +#endif + diff --git a/external/boost/fusion/sequence/intrinsic/at_c.hpp b/external/boost/fusion/sequence/intrinsic/at_c.hpp new file mode 100644 index 000000000..327798c0c --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/at_c.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_AT_C_08252008_0308) +#define FUSION_AT_C_08252008_0308 + +#include +#include + +#endif + diff --git a/external/boost/fusion/sequence/intrinsic/at_key.hpp b/external/boost/fusion/sequence/intrinsic/at_key.hpp new file mode 100644 index 000000000..9454cb56f --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/at_key.hpp @@ -0,0 +1,116 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_KEY_20060304_1755) +#define BOOST_FUSION_AT_KEY_20060304_1755 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct at_key_impl + { + template + struct apply + { + typedef typename + result_of::deref_data< + typename result_of::find::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return fusion::deref_data(fusion::find(seq)); + } + }; + }; + + template <> + struct at_key_impl + { + template + struct apply : Sequence::template at_key_impl {}; + }; + + template <> + struct at_key_impl; + + template <> + struct at_key_impl; + + template <> + struct at_key_impl; + } + + namespace detail + { + template + struct at_key_impl + : mpl::if_< + mpl::or_< + typename extension::has_key_impl::template apply + , traits::is_unbounded + > + , typename extension::at_key_impl::template apply + , mpl::empty_base + >::type + {}; + } + + namespace result_of + { + template + struct at_key + : detail::at_key_impl::type> + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_key + >::type + at_key(Sequence& seq) + { + return result_of::at_key::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_key::type + at_key(Sequence const& seq) + { + return result_of::at_key::call(seq); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/back.hpp b/external/boost/fusion/sequence/intrinsic/back.hpp new file mode 100644 index 000000000..3f998a7d9 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/back.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BACK_09162005_0350) +#define FUSION_BACK_09162005_0350 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + + namespace result_of + { + template + struct back + : result_of::deref::type>::type> + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::back::type + back(Sequence& seq) + { + return *fusion::prior(fusion::end(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::back::type + back(Sequence const& seq) + { + return *fusion::prior(fusion::end(seq)); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/begin.hpp b/external/boost/fusion/sequence/intrinsic/begin.hpp new file mode 100644 index 000000000..79c14d74a --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/begin.hpp @@ -0,0 +1,98 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_04052005_1132) +#define FUSION_BEGIN_04052005_1132 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; // iterator facade tag + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct begin_impl + { + template + struct apply + : mpl::if_< + traits::is_segmented + , detail::segmented_begin + , mpl::empty_base + >::type + {}; + }; + + template <> + struct begin_impl + { + template + struct apply : Sequence::template begin {}; + }; + + template <> + struct begin_impl; + + template <> + struct begin_impl; + + template <> + struct begin_impl; + + template <> + struct begin_impl; + } + + namespace result_of + { + template + struct begin + : extension::begin_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::begin + >::type const + begin(Sequence& seq) + { + return result_of::begin::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::begin + >::type const + begin(Sequence const& seq) + { + return result_of::begin::call(seq); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp new file mode 100644 index 000000000..ec20ac414 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + //auto segmented_begin( seq ) + //{ + // return make_segmented_iterator( segmented_begin_impl( seq, nil_ ) ); + //} + + template + struct segmented_begin + { + typedef + segmented_iterator< + typename segmented_begin_impl::type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) + { + return type( + segmented_begin_impl::call(seq, Nil_())); + } + }; + +}}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp new file mode 100644 index 000000000..12d9e24c4 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp @@ -0,0 +1,96 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct iterator_range; +}} + +namespace boost { namespace fusion { namespace detail +{ + struct segmented_begin_fun + { + template + struct apply + { + typedef + iterator_range< + typename fusion::result_of::begin::type + , typename fusion::result_of::end::type + > + range_type; + + typedef cons type; + typedef mpl::false_ continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State const&, Context const& context, segmented_begin_fun) + { + return type(range_type(fusion::begin(seq), fusion::end(seq)), context); + } + }; + }; + + template ::type::value> + struct segmented_begin_impl_aux + { + typedef + segmented_end_impl + end_impl; + + typedef + segmented_fold_until_impl< + Sequence + , typename end_impl::type + , Stack + , segmented_begin_fun + > + fold_impl; + + typedef typename fold_impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, Stack const& stack) + { + return fold_impl::call(seq, end_impl::call(seq, stack), stack, segmented_begin_fun()); + } + }; + + template + struct segmented_begin_impl_aux + { + typedef typename result_of::begin::type begin_type; + typedef typename result_of::end::type end_type; + typedef iterator_range pair_type; + typedef cons type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, Stack stack) + { + return type(pair_type(fusion::begin(seq), fusion::end(seq)), stack); + } + }; + + template + struct segmented_begin_impl + : segmented_begin_impl_aux + {}; + +}}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp new file mode 100644 index 000000000..55419ed80 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + //auto segmented_end( seq ) + //{ + // return make_segmented_iterator( segmented_end_impl( seq ) ); + //} + + template + struct segmented_end + { + typedef + segmented_iterator< + typename segmented_end_impl::type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence & seq) + { + return type( + segmented_end_impl::call(seq, Nil_())); + } + }; + +}}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp new file mode 100644 index 000000000..da48649a2 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp @@ -0,0 +1,68 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct iterator_range; +}} + +namespace boost { namespace fusion { namespace detail +{ + //auto segmented_end_impl( seq, stack ) + //{ + // assert(is_segmented(seq)); + // auto it = end(segments(seq)); + // return cons(iterator_range(it, it), stack); + //} + + template + struct segmented_end_impl + { + BOOST_MPL_ASSERT((traits::is_segmented)); + + typedef + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments::type + >::type + >::type + >::type + end_type; + + typedef iterator_range pair_type; + typedef cons type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static pair_type make_pair(end_type end) + { + return pair_type(end, end); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence & seq, Stack stack) + { + return type( + make_pair(fusion::end(fusion::segments(seq))), + stack); + } + }; + +}}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp new file mode 100644 index 000000000..4defcedde --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_SIZE_08112006_1141) +#define BOOST_FUSION_SEGMENTED_SIZE_08112006_1141 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + /////////////////////////////////////////////////////////////////////////// + // calculates the size of any segmented data structure. + template + struct segmented_size; + + /////////////////////////////////////////////////////////////////////////// + template::value> + struct segmented_size_impl + : mpl::fold< + typename remove_reference< + typename add_const< + typename result_of::segments::type + >::type + >::type + , mpl::size_t<0> + , mpl::plus > > + >::type + {}; + + template + struct segmented_size_impl + : result_of::size::type + {}; + + template + struct segmented_size + : segmented_size_impl + {}; + +}}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/empty.hpp b/external/boost/fusion/sequence/intrinsic/empty.hpp new file mode 100644 index 000000000..6a0dbe74a --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/empty.hpp @@ -0,0 +1,63 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EMPTY_09162005_0335) +#define FUSION_EMPTY_09162005_0335 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct mpl_sequence_tag; // mpl sequence tag + + namespace extension + { + template + struct empty_impl + { + template + struct apply + : mpl::bool_<(result_of::size::value == 0)> + {}; + }; + + template <> + struct empty_impl + { + template + struct apply : Sequence::template empty {}; + }; + + template <> + struct empty_impl; + } + + namespace result_of + { + template + struct empty + : extension::empty_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::empty::type + empty(Sequence const&) + { + typedef typename result_of::empty::type result; + return result(); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/end.hpp b/external/boost/fusion/sequence/intrinsic/end.hpp new file mode 100644 index 000000000..b342468f0 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/end.hpp @@ -0,0 +1,98 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_04052005_1141) +#define FUSION_END_04052005_1141 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct end_impl + { + template + struct apply + : mpl::if_< + traits::is_segmented + , detail::segmented_end + , mpl::empty_base + >::type + {}; + }; + + template <> + struct end_impl + { + template + struct apply : Sequence::template end {}; + }; + + template <> + struct end_impl; + + template <> + struct end_impl; + + template <> + struct end_impl; + + template <> + struct end_impl; + } + + namespace result_of + { + template + struct end + : extension::end_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::end + >::type const + end(Sequence& seq) + { + return result_of::end::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::end + >::type const + end(Sequence const& seq) + { + return result_of::end::call(seq); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/front.hpp b/external/boost/fusion/sequence/intrinsic/front.hpp new file mode 100644 index 000000000..8971298ac --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/front.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FRONT_09162005_0343) +#define FUSION_FRONT_09162005_0343 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct fusion_sequence_tag; + + namespace result_of + { + template + struct front + : result_of::deref::type> + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::front::type + front(Sequence& seq) + { + return *fusion::begin(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::front::type + front(Sequence const& seq) + { + return *fusion::begin(seq); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/has_key.hpp b/external/boost/fusion/sequence/intrinsic/has_key.hpp new file mode 100644 index 000000000..d69a82fbf --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/has_key.hpp @@ -0,0 +1,81 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_HAS_KEY_09232005_1454) +#define FUSION_HAS_KEY_09232005_1454 + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct void_; + + // Special tags: + struct sequence_facade_tag; + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct has_key_impl + { + template + struct apply + : mpl::not_< + typename result_of::equal_to< + typename result_of::find::type + , typename result_of::end::type + >::type + >::type + {}; + }; + + template <> + struct has_key_impl + { + template + struct apply : Sequence::template has_key {}; + }; + + template <> + struct has_key_impl; + + template <> + struct has_key_impl; + + template <> + struct has_key_impl; + } + + namespace result_of + { + template + struct has_key + : extension::has_key_impl::type>:: + template apply + {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::has_key::type + has_key(Sequence const&) + { + typedef typename result_of::has_key::type result; + return result(); + } +}} + +#endif + diff --git a/external/boost/fusion/sequence/intrinsic/segments.hpp b/external/boost/fusion/sequence/intrinsic/segments.hpp new file mode 100644 index 000000000..41501a964 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/segments.hpp @@ -0,0 +1,79 @@ +/*============================================================================= + Copyright (c) 2006 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTS_04052005_1141) +#define BOOST_FUSION_SEGMENTS_04052005_1141 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct iterator_range_tag; + + // segments: returns a sequence of sequences + namespace extension + { + template + struct segments_impl + { + template + struct apply {}; + }; + + template <> + struct segments_impl + { + template + struct apply : Sequence::template segments {}; + }; + + template <> + struct segments_impl; + } + + namespace result_of + { + template + struct segments + { + typedef typename traits::tag_of::type tag_type; + + typedef typename + extension::segments_impl::template apply::type + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::segments + >::type + segments(Sequence& seq) + { + typedef typename traits::tag_of::type tag_type; + return extension::segments_impl::template apply::call(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::segments::type + segments(Sequence const& seq) + { + typedef typename traits::tag_of::type tag_type; + return extension::segments_impl::template apply::call(seq); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/size.hpp b/external/boost/fusion/sequence/intrinsic/size.hpp new file mode 100644 index 000000000..97aa3ef9e --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/size.hpp @@ -0,0 +1,86 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SIZE_05052005_0214) +#define FUSION_SIZE_05052005_0214 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct size_impl + { + template + struct unsegmented_size : Sequence::size {}; + + template + struct apply + : mpl::if_< + traits::is_segmented + , detail::segmented_size + , unsegmented_size + >::type + {}; + }; + + template <> + struct size_impl + { + template + struct apply : Sequence::template size {}; + }; + + template <> + struct size_impl; + + template <> + struct size_impl; + + template <> + struct size_impl; + + template <> + struct size_impl; + } + + namespace result_of + { + template + struct size + : mpl::int_< + extension::size_impl::type> + ::template apply::type::value + > {}; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::size::type + size(Sequence const&) + { + typedef typename result_of::size::type result; + return result(); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/swap.hpp b/external/boost/fusion/sequence/intrinsic/swap.hpp new file mode 100644 index 000000000..8c49dc489 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/swap.hpp @@ -0,0 +1,64 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SWAP_20070501_1956) +#define BOOST_FUSION_SWAP_20070501_1956 + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + namespace result_of + { + template + struct swap + : enable_if, + traits::is_sequence + > > {}; + } + + namespace detail + { + struct swap + { + template + struct result + { + typedef void type; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void operator()(Elem const& e) const + { + using std::swap; + swap(front(e), back(e)); + } + }; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::swap::type + swap(Seq1& lhs, Seq2& rhs) + { + typedef vector references; + for_each(zip_view(references(lhs, rhs)), detail::swap()); + } +}} + +#endif diff --git a/external/boost/fusion/sequence/intrinsic/value_at.hpp b/external/boost/fusion/sequence/intrinsic/value_at.hpp new file mode 100644 index 000000000..152f0c945 --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/value_at.hpp @@ -0,0 +1,88 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_AT_05052005_0229) +#define FUSION_VALUE_AT_05052005_0229 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct value_at_impl + { + template + struct apply; + }; + + template <> + struct value_at_impl + { + template + struct apply : Sequence::template value_at {}; + }; + + template <> + struct value_at_impl; + + template <> + struct value_at_impl; + + template <> + struct value_at_impl; + + template <> + struct value_at_impl; + } + + namespace detail + { + template + struct value_at_impl + : mpl::if_< + mpl::or_< + mpl::less::template apply::type> + , traits::is_unbounded + > + , typename extension::value_at_impl::template apply + , mpl::empty_base + >::type + {}; + } + + namespace result_of + { + template + struct value_at + : detail::value_at_impl::type> + {}; + + template + struct value_at_c + : fusion::result_of::value_at > + {}; + } +}} + +#endif + diff --git a/external/boost/fusion/sequence/intrinsic/value_at_key.hpp b/external/boost/fusion/sequence/intrinsic/value_at_key.hpp new file mode 100644 index 000000000..76baf1b8a --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic/value_at_key.hpp @@ -0,0 +1,86 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_AT_KEY_05052005_0229) +#define FUSION_VALUE_AT_KEY_05052005_0229 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct value_at_key_impl + { + template + struct apply + : result_of::value_of_data< + typename result_of::find::type + > + {}; + }; + + template <> + struct value_at_key_impl + { + template + struct apply : Sequence::template value_at_key {}; + }; + + template <> + struct value_at_key_impl; + + template <> + struct value_at_key_impl; + + template <> + struct value_at_key_impl; + } + + namespace detail + { + template + struct value_at_key_impl + : mpl::if_< + mpl::or_< + typename extension::has_key_impl::template apply + , traits::is_unbounded + > + , typename extension::value_at_key_impl::template apply + , mpl::empty_base + >::type + {}; + } + + namespace result_of + { + template + struct value_at_key + : detail::value_at_key_impl::type> + {}; + } +}} + +#endif + diff --git a/external/boost/fusion/sequence/intrinsic_fwd.hpp b/external/boost/fusion/sequence/intrinsic_fwd.hpp new file mode 100644 index 000000000..a6354ea3b --- /dev/null +++ b/external/boost/fusion/sequence/intrinsic_fwd.hpp @@ -0,0 +1,223 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED) +#define BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct at_impl; + + template + struct begin_impl; + + template + struct empty_impl; + + template + struct end_impl; + + template + struct has_key_impl; + + template + struct segments_impl; + + template + struct size_impl; + + template + struct value_at_impl; + + template + struct at_key_impl; + + template + struct value_at_key_impl; + } + + namespace result_of + { + template + struct at; + + template + struct at_c; + + template + struct back; + + template + struct begin; + + template + struct empty; + + template + struct end; + + template + struct front; + + template + struct has_key; + + template + struct segments; + + template + struct size; + + template + struct value_at; + + template + struct value_at_c; + + template + struct at_key; + + template + struct value_at_key; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_disable_if< + is_const + , result_of::at + >::type + at(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::at::type + at(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + at_c(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::at_c::type + at_c(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::back::type + back(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::back::type + back(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_enable_if< + traits::is_sequence + , result_of::begin + >::type const + begin(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_enable_if< + traits::is_sequence + , result_of::begin + >::type const + begin(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::empty::type + empty(Sequence const&); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_enable_if< + traits::is_sequence + , result_of::end + >::type const + end(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_enable_if< + traits::is_sequence + , result_of::end + >::type const + end(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::front::type + front(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::front::type + front(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::has_key::type + has_key(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_disable_if< + is_const + , result_of::segments + >::type + segments(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::segments::type + segments(Sequence const& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::size::type + size(Sequence const&); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename + lazy_disable_if< + is_const + , result_of::at_key + >::type + at_key(Sequence& seq); + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result_of::at_key::type + at_key(Sequence const& seq); +}} + +#endif diff --git a/external/boost/fusion/sequence/io.hpp b/external/boost/fusion/sequence/io.hpp new file mode 100644 index 000000000..b0baf426c --- /dev/null +++ b/external/boost/fusion/sequence/io.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_IO_10032005_0836) +#define FUSION_SEQUENCE_IO_10032005_0836 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/sequence/io/detail/in.hpp b/external/boost/fusion/sequence/io/detail/in.hpp new file mode 100644 index 000000000..d0a8dc496 --- /dev/null +++ b/external/boost/fusion/sequence/io/detail/in.hpp @@ -0,0 +1,86 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 1999-2003 Jeremiah Willcock + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_IN_05052005_0121) +#define FUSION_IN_05052005_0121 + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct delimiter_in + { + // read a delimiter + template + static void + read(IS& is, char const* delim, mpl::false_ = mpl::false_()) + { + detail::string_ios_manip manip(is); + manip.read(delim); + } + + template + static void + read(IS&, char const*, mpl::true_) + { + } + }; + + struct read_sequence_loop + { + template + static void + call(IS&, First const&, Last const&, mpl::true_) + { + } + + template + static void + call(IS& is, First const& first, Last const& last, mpl::false_) + { + result_of::equal_to< + typename result_of::next::type + , Last + > + is_last; + + is >> *first; + delimiter_in::read(is, " ", is_last); + call(is, fusion::next(first), last, is_last); + } + + template + static void + call(IS& is, First const& first, Last const& last) + { + result_of::equal_to eq; + call(is, first, last, eq); + } + }; + + template + inline void + read_sequence(IS& is, Sequence& seq) + { + delimiter_in::read(is, "("); + read_sequence_loop::call(is, fusion::begin(seq), fusion::end(seq)); + delimiter_in::read(is, ")"); + } +}}} + +#endif diff --git a/external/boost/fusion/sequence/io/detail/manip.hpp b/external/boost/fusion/sequence/io/detail/manip.hpp new file mode 100644 index 000000000..01dd476cb --- /dev/null +++ b/external/boost/fusion/sequence/io/detail/manip.hpp @@ -0,0 +1,269 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jeremiah Willcock + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MANIP_05052005_1200) +#define FUSION_MANIP_05052005_1200 + +#include +#include +#include +#include +#include + +// Tuple I/O manipulators + +#define FUSION_GET_CHAR_TYPE(T) typename T::char_type +#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type + +#define FUSION_STRING_OF_STREAM(Stream) \ + std::basic_string< \ + FUSION_GET_CHAR_TYPE(Stream) \ + , FUSION_GET_TRAITS_TYPE(Stream) \ + > + +//$$$ these should be part of the public API$$$ +//$$$ rename tuple_open, tuple_close and tuple_delimiter to +// open, close and delimeter and add these synonyms to the +// TR1 tuple module. + +namespace boost { namespace fusion +{ + namespace detail + { + template + int get_xalloc_index(Tag* = 0) + { + // each Tag will have a unique index + static int index = std::ios::xalloc(); + return index; + } + + template + struct stream_data + { + struct arena + { + ~arena() + { + for ( + typename std::vector::iterator i = data.begin() + ; i != data.end() + ; ++i) + { + delete *i; + } + } + + std::vector data; + }; + + static void attach(Stream& stream, T const& data) + { + static arena ar; // our arena + ar.data.push_back(new T(data)); + stream.pword(get_xalloc_index()) = ar.data.back(); + } + + static T const* get(Stream& stream) + { + return (T const*)stream.pword(get_xalloc_index()); + } + }; + + template + class string_ios_manip + { + public: + + typedef FUSION_STRING_OF_STREAM(Stream) string_type; + + typedef stream_data stream_data_t; + + string_ios_manip(Stream& str_) + : stream(str_) + {} + + void + set(string_type const& s) + { + stream_data_t::attach(stream, s); + } + + void + print(char const* default_) const + { + // print a delimiter + string_type const* p = stream_data_t::get(stream); + if (p) + stream << *p; + else + stream << default_; + } + + void + read(char const* default_) const + { + // read a delimiter + string_type const* p = stream_data_t::get(stream); + std::ws(stream); + + if (p) + { + typedef typename string_type::const_iterator iterator; + for (iterator i = p->begin(); i != p->end(); ++i) + check_delim(*i); + } + else + { + while (*default_) + check_delim(*default_++); + } + } + + private: + + template + void + check_delim(Char c) const + { + using namespace std; + if (!isspace(c)) + { + if (stream.get() != c) + { + stream.unget(); + stream.setstate(std::ios::failbit); + } + } + } + + Stream& stream; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + string_ios_manip& operator= (string_ios_manip const&); + }; + + } // detail + + +#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) + +#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \ + template \ + inline detail::name##_type \ + name(const std::basic_string& s) \ + { \ + return detail::name##_type(s); \ + } \ + \ + inline detail::name##_type \ + name(char const* s) \ + { \ + return detail::name##_type(std::basic_string(s)); \ + } \ + \ + inline detail::name##_type \ + name(wchar_t const* s) \ + { \ + return detail::name##_type(std::basic_string(s)); \ + } \ + \ + inline detail::name##_type \ + name(char c) \ + { \ + return detail::name##_type(std::basic_string(1, c)); \ + } \ + \ + inline detail::name##_type \ + name(wchar_t c) \ + { \ + return detail::name##_type(std::basic_string(1, c)); \ + } + +#else // defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) + +#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \ + template \ + inline detail::name##_type \ + name(const std::basic_string& s) \ + { \ + return detail::name##_type(s); \ + } \ + \ + template \ + inline detail::name##_type \ + name(Char s[]) \ + { \ + return detail::name##_type(std::basic_string(s)); \ + } \ + \ + template \ + inline detail::name##_type \ + name(Char const s[]) \ + { \ + return detail::name##_type(std::basic_string(s)); \ + } \ + \ + template \ + inline detail::name##_type \ + name(Char c) \ + { \ + return detail::name##_type(std::basic_string(1, c)); \ + } + +#endif + +#define STD_TUPLE_DEFINE_MANIPULATOR(name) \ + namespace detail \ + { \ + struct name##_tag; \ + \ + template > \ + struct name##_type \ + { \ + typedef std::basic_string string_type; \ + string_type data; \ + name##_type(const string_type& d): data(d) {} \ + }; \ + \ + template \ + Stream& operator>>(Stream& s, const name##_type& m) \ + { \ + string_ios_manip manip(s); \ + manip.set(m.data); \ + return s; \ + } \ + \ + template \ + Stream& operator<<(Stream& s, const name##_type& m) \ + { \ + string_ios_manip manip(s); \ + manip.set(m.data); \ + return s; \ + } \ + } \ + + + STD_TUPLE_DEFINE_MANIPULATOR(tuple_open) + STD_TUPLE_DEFINE_MANIPULATOR(tuple_close) + STD_TUPLE_DEFINE_MANIPULATOR(tuple_delimiter) + + STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_open) + STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_close) + STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_delimiter) + +#undef STD_TUPLE_DEFINE_MANIPULATOR +#undef STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS +#undef FUSION_STRING_OF_STREAM +#undef FUSION_GET_CHAR_TYPE +#undef FUSION_GET_TRAITS_TYPE + +}} + +#endif diff --git a/external/boost/fusion/sequence/io/detail/out.hpp b/external/boost/fusion/sequence/io/detail/out.hpp new file mode 100644 index 000000000..7da87a53a --- /dev/null +++ b/external/boost/fusion/sequence/io/detail/out.hpp @@ -0,0 +1,86 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 1999-2003 Jeremiah Willcock + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_OUT_05052005_0121) +#define FUSION_OUT_05052005_0121 + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct delimiter_out + { + // print a delimiter + template + static void + print(OS& os, char const* delim, mpl::false_ = mpl::false_()) + { + detail::string_ios_manip manip(os); + manip.print(delim); + } + + template + static void + print(OS&, char const*, mpl::true_) + { + } + }; + + struct print_sequence_loop + { + template + static void + call(OS&, First const&, Last const&, mpl::true_) + { + } + + template + static void + call(OS& os, First const& first, Last const& last, mpl::false_) + { + result_of::equal_to< + typename result_of::next::type + , Last + > + is_last; + + os << *first; + delimiter_out::print(os, " ", is_last); + call(os, fusion::next(first), last, is_last); + } + + template + static void + call(OS& os, First const& first, Last const& last) + { + result_of::equal_to eq; + call(os, first, last, eq); + } + }; + + template + inline void + print_sequence(OS& os, Sequence const& seq) + { + delimiter_out::print(os, "("); + print_sequence_loop::call(os, fusion::begin(seq), fusion::end(seq)); + delimiter_out::print(os, ")"); + } +}}} + +#endif diff --git a/external/boost/fusion/sequence/io/in.hpp b/external/boost/fusion/sequence/io/in.hpp new file mode 100644 index 000000000..288c24733 --- /dev/null +++ b/external/boost/fusion/sequence/io/in.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 1999-2003 Jeremiah Willcock + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_IN_05042005_0120) +#define BOOST_IN_05042005_0120 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + inline std::istream& + in(std::istream& is, Sequence& seq) + { + detail::read_sequence(is, seq); + return is; + } + + namespace operators + { + template + inline typename + boost::enable_if< + fusion::traits::is_sequence + , std::istream& + >::type + operator>>(std::istream& is, Sequence& seq) + { + return fusion::in(is, seq); + } + } + using operators::operator>>; +}} + +#endif diff --git a/external/boost/fusion/sequence/io/out.hpp b/external/boost/fusion/sequence/io/out.hpp new file mode 100644 index 000000000..5c4637d57 --- /dev/null +++ b/external/boost/fusion/sequence/io/out.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 1999-2003 Jeremiah Willcock + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_OUT_05042005_0120) +#define BOOST_OUT_05042005_0120 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + inline std::ostream& + out(std::ostream& os, Sequence& seq) + { + detail::print_sequence(os, seq); + return os; + } + + namespace operators + { + template + inline typename + boost::enable_if< + fusion::traits::is_sequence + , std::ostream& + >::type + operator<<(std::ostream& os, Sequence const& seq) + { + return fusion::out(os, seq); + } + } + using operators::operator<<; +}} + +#endif diff --git a/external/boost/fusion/sequence/sequence_facade.hpp b/external/boost/fusion/sequence/sequence_facade.hpp new file mode 100644 index 000000000..ff578a00c --- /dev/null +++ b/external/boost/fusion/sequence/sequence_facade.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_FACADE_09252006_1044) +#define FUSION_SEQUENCE_FACADE_09252006_1044 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct sequence_facade_tag; + + template + struct sequence_facade : sequence_base + { + typedef fusion_sequence_tag tag; + typedef sequence_facade_tag fusion_tag; + typedef Derived derived_type; + typedef Category category; + typedef IsView is_view; + typedef mpl::false_ is_segmented; + }; +}} + +#endif diff --git a/external/boost/fusion/support.hpp b/external/boost/fusion/support.hpp new file mode 100644 index 000000000..11e17eb56 --- /dev/null +++ b/external/boost/fusion/support.hpp @@ -0,0 +1,25 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SUPPORT_10022005_0545) +#define FUSION_SUPPORT_10022005_0545 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/support/as_const.hpp b/external/boost/fusion/support/as_const.hpp new file mode 100644 index 000000000..04d5bfcc1 --- /dev/null +++ b/external/boost/fusion/support/as_const.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2012 Nathan Ridge + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_SUPPORT_AS_CONST_HPP +#define BOOST_FUSION_SUPPORT_AS_CONST_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + // A customization point that allows certain wrappers around + // Fusion sequence elements (e.g. adt_attribute_proxy) to be + // unwrapped in contexts where the element only needs to be + // read. The library wraps accesses to Fusion elements in + // such contexts with calls to this function. Users can + // specialize this function for their own wrappers. + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline const T& as_const(const T& obj) BOOST_NOEXCEPT + { + return obj; + } + +}}} + +#endif diff --git a/external/boost/fusion/support/category_of.hpp b/external/boost/fusion/support/category_of.hpp new file mode 100644 index 000000000..92b0ea1b6 --- /dev/null +++ b/external/boost/fusion/support/category_of.hpp @@ -0,0 +1,122 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CATEGORY_OF_07202005_0308) +#define FUSION_CATEGORY_OF_07202005_0308 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + struct incrementable_traversal_tag {}; + + struct single_pass_traversal_tag + : incrementable_traversal_tag {}; + + struct forward_traversal_tag + : single_pass_traversal_tag {}; + + struct bidirectional_traversal_tag + : forward_traversal_tag {}; + + struct random_access_traversal_tag + : bidirectional_traversal_tag {}; + + struct associative_tag {}; + + struct unbounded_tag {}; + + namespace extension + { + template + struct category_of_impl + { + template + struct apply : detail::fusion_category_of {}; + }; + + template <> + struct category_of_impl; + + template <> + struct category_of_impl; + + template <> + struct category_of_impl; + + template <> + struct category_of_impl; + } + + namespace traits + { + template + struct category_of + : extension::category_of_impl::type>:: + template apply + {}; + + template + struct is_associative + : is_base_of< + associative_tag + , typename category_of::type> + {}; + + template + struct is_incrementable + : is_base_of< + incrementable_traversal_tag + , typename category_of::type> + {}; + + template + struct is_single_pass + : is_base_of< + single_pass_traversal_tag + , typename category_of::type> + {}; + + template + struct is_forward + : is_base_of< + forward_traversal_tag + , typename category_of::type> + {}; + + template + struct is_bidirectional + : is_base_of< + bidirectional_traversal_tag + , typename category_of::type> + {}; + + template + struct is_random_access + : is_base_of< + random_access_traversal_tag + , typename category_of::type> + {}; + + template + struct is_unbounded + : is_base_of< + unbounded_tag + , typename category_of::type> + {}; + } +}} + +#endif diff --git a/external/boost/fusion/support/config.hpp b/external/boost/fusion/support/config.hpp new file mode 100644 index 000000000..23554531b --- /dev/null +++ b/external/boost/fusion/support/config.hpp @@ -0,0 +1,99 @@ +/*============================================================================= + Copyright (c) 2014 Eric Niebler + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SUPPORT_CONFIG_01092014_1718) +#define FUSION_SUPPORT_CONFIG_01092014_1718 + +#include +#include +#include + +#ifndef BOOST_FUSION_GPU_ENABLED +#define BOOST_FUSION_GPU_ENABLED BOOST_GPU_ENABLED +#endif + +// Enclose with inline namespace because unqualified lookup of GCC < 4.5 is broken. +// +// namespace detail { +// struct foo; +// struct X { }; +// } +// +// template void foo(T) { } +// +// int main() +// { +// foo(detail::X()); +// // prog.cc: In function 'int main()': +// // prog.cc:2: error: 'struct detail::foo' is not a function, +// // prog.cc:6: error: conflict with 'template void foo(T)' +// // prog.cc:10: error: in call to 'foo' +// } +namespace boost { namespace fusion { namespace detail +{ + namespace barrier { } + using namespace barrier; +}}} +#define BOOST_FUSION_BARRIER_BEGIN namespace barrier { +#define BOOST_FUSION_BARRIER_END } + + +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) +// All of rvalue-reference ready MSVC don't perform implicit conversion from +// fundamental type to rvalue-reference of another fundamental type [1]. +// +// Following example doesn't compile +// +// int i; +// long &&l = i; // sigh..., std::forward(i) also fail. +// +// however, following one will work. +// +// int i; +// long &&l = static_cast(i); +// +// OK, now can we replace all usage of std::forward to static_cast? -- I say NO! +// All of rvalue-reference ready Clang doesn't compile above static_cast usage [2], sigh... +// +// References: +// 1. https://connect.microsoft.com/VisualStudio/feedback/details/1037806/implicit-conversion-doesnt-perform-for-fund +// 2. http://llvm.org/bugs/show_bug.cgi?id=19917 +// +// Tentatively, we use static_cast to forward if run under MSVC. +# define BOOST_FUSION_FWD_ELEM(type, value) static_cast(value) +#else +# define BOOST_FUSION_FWD_ELEM(type, value) std::forward(value) +#endif + + +// Workaround for LWG 2408: C++17 SFINAE-friendly std::iterator_traits. +// http://cplusplus.github.io/LWG/lwg-defects.html#2408 +// +// - GCC 4.5 enables the feature under C++11. +// https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01105.html +// +// - MSVC 10.0 implements iterator intrinsics; MSVC 13.0 implements LWG2408. +#if (defined(BOOST_LIBSTDCXX_VERSION) && (BOOST_LIBSTDCXX_VERSION < 40500) && \ + defined(BOOST_LIBSTDCXX11)) || \ + (defined(BOOST_MSVC) && (1600 <= BOOST_MSVC && BOOST_MSVC < 1900)) +# define BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits; +} +#endif + + +// Workaround for older GCC that doesn't accept `this` in constexpr. +#if BOOST_WORKAROUND(BOOST_GCC, < 40700) +#define BOOST_FUSION_CONSTEXPR_THIS +#else +#define BOOST_FUSION_CONSTEXPR_THIS BOOST_CONSTEXPR +#endif + +#endif diff --git a/external/boost/fusion/support/deduce.hpp b/external/boost/fusion/support/deduce.hpp new file mode 100644 index 000000000..b75381c5b --- /dev/null +++ b/external/boost/fusion/support/deduce.hpp @@ -0,0 +1,137 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_SUPPORT_DEDUCE_HPP_INCLUDED) +#define BOOST_FUSION_SUPPORT_DEDUCE_HPP_INCLUDED + +#include +#include + +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL +#include +#endif + +namespace boost { namespace fusion { namespace traits +{ + template struct deduce; + + //----- ---- --- -- - - - - + + // Non-references pass unchanged + + template + struct deduce + { + typedef T type; + }; + + template + struct deduce + { + typedef T type; + }; + + template + struct deduce + { + typedef T type; + }; + + template + struct deduce + { + typedef T type; + }; + + // Keep references on mutable LValues + + template + struct deduce + { + typedef T & type; + }; + + template + struct deduce + { + typedef T volatile& type; + }; + + // Store away potential RValues + + template + struct deduce + { + typedef T type; + }; + + template + struct deduce + { + typedef T type; + }; + + // Unwrap Boost.RefS (referencee cv is deduced) + + template + struct deduce & > + { + typedef T& type; + }; + + template + struct deduce const & > + { + typedef T& type; + }; + + // Also unwrap C++11 std::ref if available (referencee cv is deduced) +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL + template + struct deduce &> + { + typedef T& type; + }; + + template + struct deduce const &> + { + typedef T& type; + }; +#endif + + // Keep references on arrays, even if const + + template + struct deduce + { + typedef T(&type)[N]; + }; + + template + struct deduce + { + typedef volatile T(&type)[N]; + }; + + template + struct deduce + { + typedef const T(&type)[N]; + }; + + template + struct deduce + { + typedef const volatile T(&type)[N]; + }; + +}}} + +#endif + diff --git a/external/boost/fusion/support/deduce_sequence.hpp b/external/boost/fusion/support/deduce_sequence.hpp new file mode 100644 index 000000000..24f4e2d82 --- /dev/null +++ b/external/boost/fusion/support/deduce_sequence.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Use modification and distribution are subject to the Boost Software + License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). +==============================================================================*/ + +#if !defined(BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED) +#define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED + +#include +#include +#include +#include +#include + + +namespace boost { namespace fusion { namespace traits +{ + template struct deduce_sequence; + + namespace detail + { + struct deducer + { + template + struct result; + + template + struct result< Self(T) > + : fusion::traits::deduce + { }; + + // never called, but needed for decltype-based result_of (C++0x) +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + template + BOOST_FUSION_GPU_ENABLED + typename result< deducer(T) >::type + operator()(T&&) const; +#endif + }; + } + + template + struct deduce_sequence + : result_of::as_vector< + fusion::transform_view > + { }; + +}}} + +#endif + diff --git a/external/boost/fusion/support/detail/access.hpp b/external/boost/fusion/support/detail/access.hpp new file mode 100644 index 000000000..ab8853831 --- /dev/null +++ b/external/boost/fusion/support/detail/access.hpp @@ -0,0 +1,65 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ACCESS_04182005_0737) +#define FUSION_ACCESS_04182005_0737 + +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct ref_result + { + typedef typename add_reference::type type; + }; + + template + struct cref_result + { + typedef typename + add_reference< + typename add_const::type + >::type + type; + }; + + template + struct call_param + { + typedef T const& type; + }; + + template + struct call_param + { + typedef T& type; + }; + + template + struct call_param + { + typedef T const& type; + }; + + template + struct call_param + { + typedef T const& type; + }; + + template + struct call_param + { + typedef T const& type; + }; + +}}} + +#endif + diff --git a/external/boost/fusion/support/detail/and.hpp b/external/boost/fusion/support/detail/and.hpp new file mode 100644 index 000000000..1b310dda3 --- /dev/null +++ b/external/boost/fusion/support/detail/and.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2016 Lee Clagett + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_AND_07152016_1625 +#define FUSION_AND_07152016_1625 + +#include +#include + +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#error fusion::detail::and_ requires variadic templates +#endif + +namespace boost { namespace fusion { namespace detail { + template + struct and_impl : false_type {}; + + template + struct and_impl...> : true_type {}; + + // This specialization is necessary to avoid MSVC-12 variadics bug. + template + struct and_impl1 : and_impl...> {}; + + /* fusion::detail::and_ differs from mpl::and_ in the following ways: + - The empty set is valid and returns true + - A single element set is valid and returns the identity + - There is no upper bound on the set size + - The conditions are evaluated at once, and are not short-circuited. This + reduces instantations when returning true; the implementation is not + recursive. */ + template + struct and_ : and_impl1 {}; +}}} + +#endif // FUSION_AND_07152016_1625 diff --git a/external/boost/fusion/support/detail/as_fusion_element.hpp b/external/boost/fusion/support/detail/as_fusion_element.hpp new file mode 100644 index 000000000..2af960eed --- /dev/null +++ b/external/boost/fusion/support/detail/as_fusion_element.hpp @@ -0,0 +1,60 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_AS_FUSION_ELEMENT_05052005_0338) +#define FUSION_AS_FUSION_ELEMENT_05052005_0338 + +#include +#include + +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL +#include +#endif + +namespace boost { namespace fusion { namespace detail +{ + template + struct as_fusion_element + { + typedef T type; + }; + + template + struct as_fusion_element > + { + typedef T& type; + }; + +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL + template + struct as_fusion_element > + { + typedef T& type; + }; +#endif + + template + struct as_fusion_element + { + typedef const T(&type)[N]; + }; + + template + struct as_fusion_element + { + typedef const volatile T(&type)[N]; + }; + + template + struct as_fusion_element + { + typedef const volatile T(&type)[N]; + }; + +}}} + +#endif diff --git a/external/boost/fusion/support/detail/category_of.hpp b/external/boost/fusion/support/detail/category_of.hpp new file mode 100644 index 000000000..e7ac44e55 --- /dev/null +++ b/external/boost/fusion/support/detail/category_of.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CATEGORY_OF_07212005_1025) +#define FUSION_CATEGORY_OF_07212005_1025 + +namespace boost { namespace fusion { namespace detail +{ + template + struct fusion_category_of + { + typedef typename T::category type; + }; +}}} + +#endif diff --git a/external/boost/fusion/support/detail/enabler.hpp b/external/boost/fusion/support/detail/enabler.hpp new file mode 100644 index 000000000..ea263a41d --- /dev/null +++ b/external/boost/fusion/support/detail/enabler.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_SUPPORT_DETAIL_ENABLER_12102015_0346 +#define BOOST_FUSION_SUPPORT_DETAIL_ENABLER_12102015_0346 + +#include + +namespace boost { namespace fusion { namespace detail +{ + +struct enabler_ {}; +BOOST_STATIC_CONSTEXPR enabler_ enabler = {}; + +}}} + +#endif + diff --git a/external/boost/fusion/support/detail/index_sequence.hpp b/external/boost/fusion/support/detail/index_sequence.hpp new file mode 100644 index 000000000..e86def005 --- /dev/null +++ b/external/boost/fusion/support/detail/index_sequence.hpp @@ -0,0 +1,79 @@ +/*============================================================================= + Copyright (c) 2015 Agustin K-ballo Berge + Copyright (c) 2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_SUPPORT_DETAIL_INDEX_SEQUENCE_06232015_1038 +#define BOOST_FUSION_SUPPORT_DETAIL_INDEX_SEQUENCE_06232015_1038 + +#include +#include + +// GCC5 has O(logN) implementation, see https://gcc.gnu.org/PR66059 . +#if (defined(__cpp_lib_integer_sequence) && __cpp_lib_integer_sequence >= 201304) \ + || (defined(BOOST_LIBSTDCXX_VERSION) \ + && BOOST_LIBSTDCXX_VERSION >= 500000 && __cplusplus >= 201402) +#include +#define BOOST_FUSION_STDLIB_HAS_INTEGER_SEQUENCE +#endif + +namespace boost { namespace fusion { namespace detail +{ +#ifdef BOOST_FUSION_STDLIB_HAS_INTEGER_SEQUENCE + // Use aliasing templates without checking availability, the compiler should work. + template + using index_sequence = std::index_sequence; + + template + struct make_index_sequence + { + using type = std::make_index_sequence; + }; +#else + template + struct index_sequence + { + typedef std::size_t value_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static std::size_t size() BOOST_NOEXCEPT + { return sizeof...(Ints); } + + // non standard extension + typedef index_sequence type; + }; + + template + struct _make_index_sequence_join; + + template + struct _make_index_sequence_join< + index_sequence, index_sequence + > : index_sequence + {}; + + template + struct make_index_sequence + : _make_index_sequence_join< + typename make_index_sequence::type + , typename make_index_sequence::type + > + {}; + + template <> + struct make_index_sequence<1> + : index_sequence<0> + {}; + + template <> + struct make_index_sequence<0> + : index_sequence<> + {}; +#endif +}}} + +#endif + diff --git a/external/boost/fusion/support/detail/is_mpl_sequence.hpp b/external/boost/fusion/support/detail/is_mpl_sequence.hpp new file mode 100644 index 000000000..1c485f91c --- /dev/null +++ b/external/boost/fusion/support/detail/is_mpl_sequence.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DETAIL_IS_MPL_SEQUENCE_29122006_1105) +#define FUSION_DETAIL_IS_MPL_SEQUENCE_29122006_1105 + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct is_mpl_sequence + : mpl::and_< + mpl::not_ > + , mpl::is_sequence > + {}; +}}} + +#endif diff --git a/external/boost/fusion/support/detail/is_same_size.hpp b/external/boost/fusion/support/detail/is_same_size.hpp new file mode 100644 index 000000000..b1bf7cde4 --- /dev/null +++ b/external/boost/fusion/support/detail/is_same_size.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_IS_SAME_SIZE_10082015_1156 +#define FUSION_IS_SAME_SIZE_10082015_1156 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct is_same_size : mpl::false_ {}; + + template + struct is_same_size >::type, + typename enable_if >::type> + : mpl::equal_to, result_of::size > + {}; +}}} + +#endif diff --git a/external/boost/fusion/support/detail/is_view.hpp b/external/boost/fusion/support/detail/is_view.hpp new file mode 100644 index 000000000..c518dfc46 --- /dev/null +++ b/external/boost/fusion/support/detail/is_view.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_IS_VIEW_03202006_0018) +#define FUSION_IS_VIEW_03202006_0018 + +namespace boost { namespace fusion { namespace detail +{ + template + struct fusion_is_view + { + typedef typename T::is_view type; + }; +}}} + +#endif diff --git a/external/boost/fusion/support/detail/mpl_iterator_category.hpp b/external/boost/fusion/support/detail/mpl_iterator_category.hpp new file mode 100644 index 000000000..fcb00a01c --- /dev/null +++ b/external/boost/fusion/support/detail/mpl_iterator_category.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_MPL_ITERATOR_CATEGORY_07212005_0923) +#define FUSION_MPL_ITERATOR_CATEGORY_07212005_0923 + +namespace boost { namespace mpl +{ + struct forward_iterator_tag; + struct bidirectional_iterator_tag; + struct random_access_iterator_tag; +}} + +namespace boost { namespace fusion +{ + struct forward_traversal_tag; + struct bidirectional_traversal_tag; + struct random_access_traversal_tag; +}} + +namespace boost { namespace fusion { namespace detail +{ + template + struct mpl_iterator_category; + + template <> + struct mpl_iterator_category + { + typedef forward_traversal_tag type; + }; + + template <> + struct mpl_iterator_category + { + typedef bidirectional_traversal_tag type; + }; + + template <> + struct mpl_iterator_category + { + typedef random_access_traversal_tag type; + }; + + template <> + struct mpl_iterator_category + { + typedef forward_traversal_tag type; + }; + + template <> + struct mpl_iterator_category + { + typedef bidirectional_traversal_tag type; + }; + + template <> + struct mpl_iterator_category + { + typedef random_access_traversal_tag type; + }; +}}} + +#endif diff --git a/external/boost/fusion/support/detail/pp_round.hpp b/external/boost/fusion/support/detail/pp_round.hpp new file mode 100644 index 000000000..6c43b66f1 --- /dev/null +++ b/external/boost/fusion/support/detail/pp_round.hpp @@ -0,0 +1,72 @@ +/*============================================================================= + Copyright (c) 2011 Thomas Heller + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP +#define BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP + +#include +#include +#include +#include + +#define BOOST_FUSION_PP_ROUND_UP(N) \ + BOOST_PP_CAT(BOOST_FUSION_PP_DO_ROUND_UP_, N)() \ +/**/ + +#define BOOST_FUSION_PP_DO_ROUND_UP_0() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_1() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_2() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_3() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_4() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_5() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_6() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_7() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_8() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_9() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_10() 10 +#define BOOST_FUSION_PP_DO_ROUND_UP_11() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_12() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_13() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_14() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_15() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_16() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_17() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_18() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_19() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_20() 20 +#define BOOST_FUSION_PP_DO_ROUND_UP_21() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_22() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_23() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_24() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_25() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_26() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_27() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_28() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_29() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_30() 30 +#define BOOST_FUSION_PP_DO_ROUND_UP_31() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_32() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_33() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_34() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_35() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_36() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_37() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_38() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_39() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_40() 40 +#define BOOST_FUSION_PP_DO_ROUND_UP_41() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_42() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_43() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_44() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_45() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_46() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_47() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_48() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_49() 50 +#define BOOST_FUSION_PP_DO_ROUND_UP_50() 50 + +#endif diff --git a/external/boost/fusion/support/detail/segmented_fold_until_impl.hpp b/external/boost/fusion/support/detail/segmented_fold_until_impl.hpp new file mode 100644 index 000000000..6a388bf83 --- /dev/null +++ b/external/boost/fusion/support/detail/segmented_fold_until_impl.hpp @@ -0,0 +1,401 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +// fun(seq, state, context) +// seq: a non-segmented range +// state: the state of the fold so far +// context: the path to the current range +// +// returns: (state', fcontinue) + +namespace boost { namespace fusion +{ + template + struct iterator_range; + + template + struct segmented_iterator; + + namespace result_of + { + template + struct make_segmented_iterator + { + typedef + iterator_range< + Cur + , typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Context::car_type::begin_type + >::type + >::type + >::type + >::type + > + range_type; + + typedef + segmented_iterator > + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::make_segmented_iterator::type + make_segmented_iterator(Cur const& cur, Context const& context) + { + typedef result_of::make_segmented_iterator impl_type; + typedef typename impl_type::type type; + typedef typename impl_type::range_type range_type; + return type(cons(range_type(cur, fusion::end(*context.car.first)), context)); + } + + namespace detail + { + template < + typename Begin + , typename End + , typename State + , typename Context + , typename Fun + , bool IsEmpty + > + struct segmented_fold_until_iterate_skip_empty; + + template < + typename Begin + , typename End + , typename State + , typename Context + , typename Fun + , bool IsDone = result_of::equal_to::type::value + > + struct segmented_fold_until_iterate; + + template < + typename Sequence + , typename State + , typename Context + , typename Fun + , bool IsSegmented = traits::is_segmented::type::value + > + struct segmented_fold_until_impl; + + template + struct segmented_fold_until_on_segments; + + //auto push_context(cur, end, context) + //{ + // return push_back(context, segment_sequence(iterator_range(cur, end))); + //} + + template + struct push_context + { + typedef iterator_range range_type; + typedef cons type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Cur const& cur, End const& end, Context const& context) + { + return cons(range_type(cur, end), context); + } + }; + + //auto make_segmented_iterator(cur, end, context) + //{ + // return segmented_iterator(push_context(cur, end, context)); + //} + // + //auto segmented_fold_until_impl(seq, state, context, fun) + //{ + // if (is_segmented(seq)) + // { + // segmented_fold_until_on_segments(segments(seq), state, context, fun); + // } + // else + // { + // return fun(seq, state, context); + // } + //} + + template < + typename Sequence + , typename State + , typename Context + , typename Fun + , bool IsSegmented + > + struct segmented_fold_until_impl + { + typedef + segmented_fold_until_on_segments< + typename remove_reference< + typename add_const< + typename result_of::segments::type + >::type + >::type + , State + , Context + , Fun + > + impl; + + typedef typename impl::type type; + typedef typename impl::continue_type continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) + { + return impl::call(fusion::segments(seq), state, context, fun); + } + }; + + template < + typename Sequence + , typename State + , typename Context + , typename Fun + > + struct segmented_fold_until_impl + { + typedef + typename Fun::template apply + apply_type; + + typedef typename apply_type::type type; + typedef typename apply_type::continue_type continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) + { + return apply_type::call(seq, state, context, fun); + } + }; + + //auto segmented_fold_until_on_segments(segs, state, context, fun) + //{ + // auto cur = begin(segs), end = end(segs); + // for (; cur != end; ++cur) + // { + // if (empty(*cur)) + // continue; + // auto context` = push_context(cur, end, context); + // state = segmented_fold_until_impl(*cur, state, context`, fun); + // if (!second(state)) + // return state; + // } + //} + + template + struct continue_wrap + { + typedef typename Apply::continue_type type; + }; + + template + struct segmented_fold_until_iterate_skip_empty + { + // begin != end and !empty(*begin) + typedef + push_context + push_context_impl; + + typedef + typename push_context_impl::type + next_context_type; + + typedef + segmented_fold_until_impl< + typename remove_reference< + typename add_const< + typename result_of::deref::type + >::type + >::type + , State + , next_context_type + , Fun + > + fold_recurse_impl; + + typedef + typename fold_recurse_impl::type + next_state_type; + + typedef + segmented_fold_until_iterate< + typename result_of::next::type + , End + , next_state_type + , Context + , Fun + > + next_iteration_impl; + + typedef + typename mpl::eval_if< + typename fold_recurse_impl::continue_type + , next_iteration_impl + , mpl::identity + >::type + type; + + typedef + typename mpl::eval_if< + typename fold_recurse_impl::continue_type + , continue_wrap + , mpl::identity + >::type + continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Begin const& beg, End const& end, State const& state + , Context const& context, Fun const& fun) + { + return call(beg, end, state, context, fun, typename fold_recurse_impl::continue_type()); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Begin const& beg, End const& end, State const& state + , Context const& context, Fun const& fun, mpl::true_) // continue + { + return next_iteration_impl::call( + fusion::next(beg) + , end + , fold_recurse_impl::call( + *beg + , state + , push_context_impl::call(beg, end, context) + , fun) + , context + , fun); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Begin const& beg, End const& end, State const& state + , Context const& context, Fun const& fun, mpl::false_) // break + { + return fold_recurse_impl::call( + *beg + , state + , push_context_impl::call(beg, end, context) + , fun); + } + }; + + template + struct segmented_fold_until_iterate_skip_empty + { + typedef + segmented_fold_until_iterate< + typename result_of::next::type + , End + , State + , Context + , Fun + > + impl; + + typedef typename impl::type type; + typedef typename impl::continue_type continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Begin const& beg, End const& end, State const& state + , Context const& context, Fun const& fun) + { + return impl::call(fusion::next(beg), end, state, context, fun); + } + }; + + template + struct segmented_fold_until_iterate + { + typedef + typename result_of::empty< + typename remove_reference< + typename result_of::deref::type + >::type + >::type + empty_type; + + typedef + segmented_fold_until_iterate_skip_empty + impl; + + typedef typename impl::type type; + typedef typename impl::continue_type continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Begin const& beg, End const& end, State const& state + , Context const& context, Fun const& fun) + { + return impl::call(beg, end, state, context, fun); + } + }; + + template + struct segmented_fold_until_iterate + { + typedef State type; + typedef mpl::true_ continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Begin const&, End const&, State const& state + , Context const&, Fun const&) + { + return state; + } + }; + + template + struct segmented_fold_until_on_segments + { + typedef + segmented_fold_until_iterate< + typename result_of::begin::type + , typename result_of::end::type + , State + , Context + , Fun + > + impl; + + typedef typename impl::type type; + typedef typename impl::continue_type continue_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Segments& segs, State const& state, Context const& context, Fun const& fun) + { + return impl::call(fusion::begin(segs), fusion::end(segs), state, context, fun); + } + }; + } +}} + +#endif diff --git a/external/boost/fusion/support/detail/unknown_key.hpp b/external/boost/fusion/support/detail/unknown_key.hpp new file mode 100644 index 000000000..9466b9c04 --- /dev/null +++ b/external/boost/fusion/support/detail/unknown_key.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_UNKNOWN_KEY_09242005_1219) +#define FUSION_UNKNOWN_KEY_09242005_1219 + +namespace boost { namespace fusion { namespace detail +{ + template + struct unknown_key {}; +}}} + +#endif diff --git a/external/boost/fusion/support/is_iterator.hpp b/external/boost/fusion/support/is_iterator.hpp new file mode 100644 index 000000000..b48aab8c3 --- /dev/null +++ b/external/boost/fusion/support/is_iterator.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_IS_ITERATOR_05062005_1219) +#define FUSION_IS_ITERATOR_05062005_1219 + +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_root; + + template + struct is_fusion_iterator : is_base_of {}; +}} + +#endif diff --git a/external/boost/fusion/support/is_segmented.hpp b/external/boost/fusion/support/is_segmented.hpp new file mode 100644 index 000000000..1326feb34 --- /dev/null +++ b/external/boost/fusion/support/is_segmented.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2006 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_IS_SEGMENTED_03202006_0015) +#define FUSION_IS_SEGMENTED_03202006_0015 + +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct iterator_range_tag; + + namespace extension + { + template + struct is_segmented_impl + { + template + struct apply + : mpl::false_ + {}; + }; + + template <> + struct is_segmented_impl + { + template + struct apply : Sequence::is_segmented {}; + }; + + template <> + struct is_segmented_impl; + } + + namespace traits + { + template + struct is_segmented + : mpl::bool_< + (bool)extension::is_segmented_impl::type>:: + template apply::type::value + > + { + }; + } +}} + +#endif diff --git a/external/boost/fusion/support/is_sequence.hpp b/external/boost/fusion/support/is_sequence.hpp new file mode 100644 index 000000000..6b9b21185 --- /dev/null +++ b/external/boost/fusion/support/is_sequence.hpp @@ -0,0 +1,77 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_IS_SEQUENCE_05052005_1002) +#define FUSION_IS_SEQUENCE_05052005_1002 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct non_fusion_tag; + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct is_sequence_impl + { + template + struct apply + : is_convertible + {}; + }; + + template <> + struct is_sequence_impl + { + template + struct apply : mpl::false_ {}; + }; + + template <> + struct is_sequence_impl; + + template <> + struct is_sequence_impl; + + template <> + struct is_sequence_impl; + + template <> + struct is_sequence_impl; + } + + namespace traits + { + template + struct is_sequence + : mpl::bool_< + (bool)extension::is_sequence_impl< + typename fusion::detail::tag_of::type + >::template apply::type::value + > + {}; + + template + struct is_native_fusion_sequence + : is_convertible + {}; + } +}} + +#endif diff --git a/external/boost/fusion/support/is_view.hpp b/external/boost/fusion/support/is_view.hpp new file mode 100644 index 000000000..c54e60e19 --- /dev/null +++ b/external/boost/fusion/support/is_view.hpp @@ -0,0 +1,67 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_IS_VIEW_03202006_0015) +#define FUSION_IS_VIEW_03202006_0015 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Special tags: + struct sequence_facade_tag; + struct boost_tuple_tag; // boost::tuples::tuple tag + struct boost_array_tag; // boost::array tag + struct mpl_sequence_tag; // mpl sequence tag + struct std_pair_tag; // std::pair tag + + namespace extension + { + template + struct is_view_impl + { + template + struct apply + : detail::fusion_is_view + {}; + }; + + template <> + struct is_view_impl + { + template + struct apply : Sequence::is_view {}; + }; + + template <> + struct is_view_impl; + + template <> + struct is_view_impl; + + template <> + struct is_view_impl; + + template <> + struct is_view_impl; + } + + namespace traits + { + template + struct is_view : + mpl::bool_< + (bool)extension::is_view_impl::type>:: + template apply::type::value + > + {}; + } +}} + +#endif diff --git a/external/boost/fusion/support/iterator_base.hpp b/external/boost/fusion/support/iterator_base.hpp new file mode 100644 index 000000000..5d8ce3abb --- /dev/null +++ b/external/boost/fusion/support/iterator_base.hpp @@ -0,0 +1,36 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ITERATOR_BASE_05042005_1008) +#define FUSION_ITERATOR_BASE_05042005_1008 + +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_root {}; + + template + struct iterator_base : iterator_root + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Iterator const& + cast() const BOOST_NOEXCEPT + { + return static_cast(*this); + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Iterator& + cast() BOOST_NOEXCEPT + { + return static_cast(*this); + } + }; +}} + +#endif diff --git a/external/boost/fusion/support/pair.hpp b/external/boost/fusion/support/pair.hpp new file mode 100644 index 000000000..a4cd1ff09 --- /dev/null +++ b/external/boost/fusion/support/pair.hpp @@ -0,0 +1,168 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PAIR_07222005_1203) +#define FUSION_PAIR_07222005_1203 + +#include +#include + +#include +#include +#include +#include +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + // A half runtime pair where the first type does not have data + template + struct pair + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair() + : second() {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair(pair const& rhs) + : second(rhs.second) {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair(pair&& rhs) + : second(BOOST_FUSION_FWD_ELEM(Second, rhs.second)) {} +#endif + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair(typename detail::call_param::type val) + : second(val) {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + pair(Second2&& val + , typename boost::disable_if >::type* /* dummy */ = 0 + , typename boost::enable_if >::type* /*dummy*/ = 0 + ) : second(BOOST_FUSION_FWD_ELEM(Second, val)) {} +#endif + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair(pair const& rhs) + : second(rhs.second) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair& operator=(pair const& rhs) + { + second = rhs.second; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair& operator=(pair const& rhs) + { + second = rhs.second; + return *this; + } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + pair& operator=(pair&& rhs) + { + second = BOOST_FUSION_FWD_ELEM(Second, rhs.second); + return *this; + } +#endif + + typedef First first_type; + typedef Second second_type; + Second second; + }; + + namespace result_of + { + template + struct make_pair + { + typedef fusion::pair::type> type; + }; + + template + struct first + { + typedef typename Pair::first_type type; + }; + + template + struct second + { + typedef typename Pair::second_type type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::make_pair::type + make_pair(Second const& val) + { + return pair::type>(val); + } + + template + inline std::ostream& + operator<<(std::ostream& os, pair const& p) + { + os << p.second; + return os; + } + + template + inline std::istream& + operator>>(std::istream& is, pair& p) + { + is >> p.second; + return is; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + operator==(pair const& l, pair const& r) + { + return l.second == r.second; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + operator!=(pair const& l, pair const& r) + { + return l.second != r.second; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline bool + operator<(pair const& l, pair const& r) + { + return l.second < r.second; + } +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/fusion/support/segmented_fold_until.hpp b/external/boost/fusion/support/segmented_fold_until.hpp new file mode 100644 index 000000000..8fb09ee38 --- /dev/null +++ b/external/boost/fusion/support/segmented_fold_until.hpp @@ -0,0 +1,71 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + //auto segmented_fold_until(seq, state, fun) + //{ + // return first(segmented_fold_until_impl(seq, state, nil_, fun)); + //} + + namespace result_of + { + template + struct segmented_fold_until + { + typedef + detail::segmented_fold_until_impl< + Sequence + , State + , fusion::nil_ + , Fun + > + filter; + + typedef + typename filter::type + type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::segmented_fold_until + >::type + segmented_fold_until(Sequence& seq, State const& state, Fun const& fun) + { + typedef + typename result_of::segmented_fold_until::filter + filter; + + return filter::call(seq, state, fusion::nil_(), fun); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::segmented_fold_until::type + segmented_fold_until(Sequence const& seq, State const& state, Fun const& fun) + { + typedef + typename result_of::segmented_fold_until::filter + filter; + + return filter::call(seq, state, fusion::nil_(), fun); + } +}} + +#endif diff --git a/external/boost/fusion/support/sequence_base.hpp b/external/boost/fusion/support/sequence_base.hpp new file mode 100644 index 000000000..2f9320e6c --- /dev/null +++ b/external/boost/fusion/support/sequence_base.hpp @@ -0,0 +1,59 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_BASE_04182005_0737) +#define FUSION_SEQUENCE_BASE_04182005_0737 + +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace detail + { + struct from_sequence_convertible_type + {}; + } + + template + struct sequence_base + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Sequence const& + derived() const BOOST_NOEXCEPT + { + return static_cast(*this); + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Sequence& + derived() BOOST_NOEXCEPT + { + return static_cast(*this); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + operator detail::from_sequence_convertible_type() const BOOST_NOEXCEPT + { + return detail::from_sequence_convertible_type(); + } + }; + + struct fusion_sequence_tag; +}} + +namespace boost { namespace mpl +{ + // Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence + // is not an MPL sequence by returning mpl::void_. + // In other words: Fusion Sequences are always MPL Sequences, but they can + // be incompletely defined. + template<> struct begin_impl< boost::fusion::fusion_sequence_tag >; +}} + +#endif diff --git a/external/boost/fusion/support/tag_of.hpp b/external/boost/fusion/support/tag_of.hpp new file mode 100644 index 000000000..61cb3b19a --- /dev/null +++ b/external/boost/fusion/support/tag_of.hpp @@ -0,0 +1,83 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TAG_OF_09232005_0845) +#define FUSION_TAG_OF_09232005_0845 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost +{ + template + class array; // forward + + namespace tuples + { + struct null_type; + + template < + class T0, class T1, class T2, class T3, class T4, + class T5, class T6, class T7, class T8, class T9 + > + class tuple; + + template + struct cons; + } +} + +namespace boost { namespace fusion +{ + struct non_fusion_tag; + struct mpl_sequence_tag; + + namespace detail + { + BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag) + + template + struct tag_of_impl + : mpl::if_, + mpl::identity, + mpl::identity >::type + {}; + + template + struct tag_of_impl< + Sequence + , typename boost::enable_if >::type> + { + typedef typename Sequence::fusion_tag type; + }; + } + + namespace traits + { + template + struct tag_of + : boost::fusion::detail::tag_of_impl + {}; + } + + namespace detail + { + template + struct tag_of + : traits::tag_of::type> + {}; + } +}} +#endif diff --git a/external/boost/fusion/support/tag_of_fwd.hpp b/external/boost/fusion/support/tag_of_fwd.hpp new file mode 100644 index 000000000..ba434d933 --- /dev/null +++ b/external/boost/fusion/support/tag_of_fwd.hpp @@ -0,0 +1,20 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_TAG_OF_FWD_31122005_1445) +#define BOOST_FUSION_TAG_OF_FWD_31122005_1445 + +namespace boost { namespace fusion +{ + namespace traits + { + template + struct tag_of; + } +}} + +#endif diff --git a/external/boost/fusion/support/unused.hpp b/external/boost/fusion/support/unused.hpp new file mode 100644 index 000000000..964839ab2 --- /dev/null +++ b/external/boost/fusion/support/unused.hpp @@ -0,0 +1,95 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SUPPORT_UNUSED_20070305_1038) +#define BOOST_FUSION_SUPPORT_UNUSED_20070305_1038 + +#include +#include + +#include +#if defined(BOOST_MSVC) +# pragma warning(push) +# pragma warning(disable: 4522) // multiple assignment operators specified warning +#endif + +#define BOOST_FUSION_UNUSED_HAS_IO + +namespace boost { namespace fusion +{ + struct unused_type + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type() BOOST_NOEXCEPT + { + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type(T const&) BOOST_NOEXCEPT + { + } + + template + BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED + unused_type const& + operator=(T const&) const BOOST_NOEXCEPT + { + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type& + operator=(T const&) BOOST_NOEXCEPT + { + return *this; + } + + BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED + unused_type const& + operator=(unused_type const&) const BOOST_NOEXCEPT + { + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type& + operator=(unused_type const&) BOOST_NOEXCEPT + { + return *this; + } + }; + + BOOST_CONSTEXPR_OR_CONST unused_type unused = unused_type(); + + namespace detail + { + struct unused_only + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_only(unused_type const&) BOOST_NOEXCEPT {} + }; + } + + BOOST_CONSTEXPR + inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) BOOST_NOEXCEPT + { + return out; + } + + BOOST_CONSTEXPR + inline std::istream& operator>>(std::istream& in, unused_type&) BOOST_NOEXCEPT + { + return in; + } +}} + +#if defined(BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif diff --git a/external/boost/fusion/support/void.hpp b/external/boost/fusion/support/void.hpp new file mode 100644 index 000000000..765051901 --- /dev/null +++ b/external/boost/fusion/support/void.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SUPPORT_VOID_20070706_2125) +#define BOOST_FUSION_SUPPORT_VOID_20070706_2125 + +namespace boost { namespace fusion +{ + struct void_ {}; +}} + +#endif diff --git a/external/boost/fusion/tuple.hpp b/external/boost/fusion/tuple.hpp new file mode 100644 index 000000000..49dac1d74 --- /dev/null +++ b/external/boost/fusion/tuple.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TUPLE_10032005_0806) +#define FUSION_TUPLE_10032005_0806 + +#include +#include +#include +#include +#include + +#endif + diff --git a/external/boost/fusion/tuple/detail/make_tuple.hpp b/external/boost/fusion/tuple/detail/make_tuple.hpp new file mode 100644 index 000000000..f87ea5a23 --- /dev/null +++ b/external/boost/fusion/tuple/detail/make_tuple.hpp @@ -0,0 +1,86 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_MAKE_TUPLE_10032005_0843) +#define FUSION_MAKE_TUPLE_10032005_0843 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + BOOST_FUSION_GPU_ENABLED inline tuple<> + make_tuple() + { + return tuple<>(); + } +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_AS_FUSION_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template + BOOST_FUSION_GPU_ENABLED + inline tuple + make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return tuple( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp new file mode 100644 index 000000000..6abb03368 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp new file mode 100644 index 000000000..f0ba114d6 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp @@ -0,0 +1,91 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type> + make_tuple(T0 const& arg0) + { + return tuple::type>( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1) + { + return tuple::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp new file mode 100644 index 000000000..31ef304e2 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp @@ -0,0 +1,171 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type> + make_tuple(T0 const& arg0) + { + return tuple::type>( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1) + { + return tuple::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp new file mode 100644 index 000000000..850829f3c --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp @@ -0,0 +1,251 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type> + make_tuple(T0 const& arg0) + { + return tuple::type>( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1) + { + return tuple::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp new file mode 100644 index 000000000..c85741b95 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp @@ -0,0 +1,331 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type> + make_tuple(T0 const& arg0) + { + return tuple::type>( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1) + { + return tuple::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp new file mode 100644 index 000000000..b4c99c518 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp @@ -0,0 +1,411 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type> + make_tuple(T0 const& arg0) + { + return tuple::type>( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1) + { + return tuple::type , typename detail::as_fusion_element::type>( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) + { + return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple.hpp new file mode 100644 index 000000000..3fd0e18be --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif + diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp new file mode 100644 index 000000000..a24a29a12 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp @@ -0,0 +1,209 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + struct tuple : vector + { + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> + base_type; + BOOST_FUSION_GPU_ENABLED tuple() + : base_type() {} + BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) + : base_type(static_cast(rhs)) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& rhs) + : base_type(rhs) {} + BOOST_FUSION_GPU_ENABLED + explicit + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(T const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(static_cast(rhs)); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(std::pair const& rhs) + { + base_type::operator=(rhs); + return *this; + } + }; + template + struct tuple_size : result_of::size {}; + template + struct tuple_element : result_of::value_at_c {}; + template + BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + get(Tuple& tup) + { + return at_c(tup); + } + template + BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp new file mode 100644 index 000000000..7ec319608 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ + > + struct tuple; +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp new file mode 100644 index 000000000..73de49ffb --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp @@ -0,0 +1,349 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + struct tuple : vector + { + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> + base_type; + BOOST_FUSION_GPU_ENABLED tuple() + : base_type() {} + BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) + : base_type(static_cast(rhs)) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& rhs) + : base_type(rhs) {} + BOOST_FUSION_GPU_ENABLED + explicit + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(T const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(static_cast(rhs)); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(std::pair const& rhs) + { + base_type::operator=(rhs); + return *this; + } + }; + template + struct tuple_size : result_of::size {}; + template + struct tuple_element : result_of::value_at_c {}; + template + BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + get(Tuple& tup) + { + return at_c(tup); + } + template + BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp new file mode 100644 index 000000000..3769f8902 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ + > + struct tuple; +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp new file mode 100644 index 000000000..9db26a0c9 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp @@ -0,0 +1,489 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + struct tuple : vector + { + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> + base_type; + BOOST_FUSION_GPU_ENABLED tuple() + : base_type() {} + BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) + : base_type(static_cast(rhs)) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& rhs) + : base_type(rhs) {} + BOOST_FUSION_GPU_ENABLED + explicit + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(T const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(static_cast(rhs)); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(std::pair const& rhs) + { + base_type::operator=(rhs); + return *this; + } + }; + template + struct tuple_size : result_of::size {}; + template + struct tuple_element : result_of::value_at_c {}; + template + BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + get(Tuple& tup) + { + return at_c(tup); + } + template + BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp new file mode 100644 index 000000000..b9f3e017c --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ + > + struct tuple; +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp new file mode 100644 index 000000000..44e0d2c1d --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp @@ -0,0 +1,629 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + struct tuple : vector + { + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> + base_type; + BOOST_FUSION_GPU_ENABLED tuple() + : base_type() {} + BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) + : base_type(static_cast(rhs)) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& rhs) + : base_type(rhs) {} + BOOST_FUSION_GPU_ENABLED + explicit + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(T const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(static_cast(rhs)); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(std::pair const& rhs) + { + base_type::operator=(rhs); + return *this; + } + }; + template + struct tuple_size : result_of::size {}; + template + struct tuple_element : result_of::value_at_c {}; + template + BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + get(Tuple& tup) + { + return at_c(tup); + } + template + BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp new file mode 100644 index 000000000..200bf5db5 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ + > + struct tuple; +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp new file mode 100644 index 000000000..db157b654 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp @@ -0,0 +1,769 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + struct tuple : vector + { + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> + base_type; + BOOST_FUSION_GPU_ENABLED tuple() + : base_type() {} + BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) + : base_type(static_cast(rhs)) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& rhs) + : base_type(rhs) {} + BOOST_FUSION_GPU_ENABLED + explicit + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(T const& rhs) + { + base_type::operator=(rhs); + return *this; + } + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(static_cast(rhs)); + return *this; + } + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(std::pair const& rhs) + { + base_type::operator=(rhs); + return *this; + } + }; + template + struct tuple_size : result_of::size {}; + template + struct tuple_element : result_of::value_at_c {}; + template + BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + get(Tuple& tup) + { + return at_c(tup); + } + template + BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp new file mode 100644 index 000000000..18fd75c40 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + template < + typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ + > + struct tuple; +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp new file mode 100644 index 000000000..234936c58 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp new file mode 100644 index 000000000..5898c6b97 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +#if FUSION_MAX_VECTOR_SIZE <= 10 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 20 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 30 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 40 +#include +#elif FUSION_MAX_VECTOR_SIZE <= 50 +#include +#else +#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" +#endif diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp new file mode 100644 index 000000000..67ec63b78 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp @@ -0,0 +1,91 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0) + { + return tuple( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1) + { + return tuple( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return tuple( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return tuple( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp new file mode 100644 index 000000000..37581f20c --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp @@ -0,0 +1,171 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0) + { + return tuple( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1) + { + return tuple( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return tuple( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return tuple( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp new file mode 100644 index 000000000..d81cb0cdd --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp @@ -0,0 +1,251 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0) + { + return tuple( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1) + { + return tuple( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return tuple( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return tuple( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp new file mode 100644 index 000000000..69eb0d8dd --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp @@ -0,0 +1,331 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0) + { + return tuple( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1) + { + return tuple( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return tuple( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return tuple( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } +}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp new file mode 100644 index 000000000..a024e5731 --- /dev/null +++ b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp @@ -0,0 +1,411 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0) + { + return tuple( + arg0); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1) + { + return tuple( + arg0 , arg1); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) + { + return tuple( + arg0 , arg1 , arg2); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) + { + return tuple( + arg0 , arg1 , arg2 , arg3); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); + } + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) + { + return tuple( + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); + } +}} diff --git a/external/boost/fusion/tuple/detail/tuple.hpp b/external/boost/fusion/tuple/detail/tuple.hpp new file mode 100644 index 000000000..45408f065 --- /dev/null +++ b/external/boost/fusion/tuple/detail/tuple.hpp @@ -0,0 +1,122 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TUPLE_10032005_0810) +#define FUSION_TUPLE_10032005_0810 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + template + struct tuple : vector + { + typedef vector< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> + base_type; + + BOOST_FUSION_GPU_ENABLED tuple() + : base_type() {} + + BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) + : base_type(static_cast(rhs)) {} + + template + BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& rhs) + : base_type(rhs) {} + + #include + + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(T const& rhs) + { + base_type::operator=(rhs); + return *this; + } + + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(static_cast(rhs)); + return *this; + } + + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(std::pair const& rhs) + { + base_type::operator=(rhs); + return *this; + } + }; + + template + struct tuple_size : result_of::size {}; + + template + struct tuple_element : result_of::value_at_c {}; + + template + BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + get(Tuple& tup) + { + return at_c(tup); + } + + template + BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + diff --git a/external/boost/fusion/tuple/detail/tuple_expand.hpp b/external/boost/fusion/tuple/detail/tuple_expand.hpp new file mode 100644 index 000000000..3909f647b --- /dev/null +++ b/external/boost/fusion/tuple/detail/tuple_expand.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_TUPLE_EXPAND_10032005_0815) +#define FUSION_TUPLE_EXPAND_10032005_0815 + +#include +#include +#include + +#define BOOST_PP_FILENAME_1 \ + +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + BOOST_FUSION_GPU_ENABLED +#if N == 1 + explicit +#endif + tuple(BOOST_PP_ENUM_BINARY_PARAMS( + N, typename detail::call_param::type arg)) + : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} + + template + BOOST_FUSION_GPU_ENABLED + tuple(tuple const& rhs) + : base_type(rhs) {} + + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(rhs); + return *this; + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/tuple/detail/tuple_fwd.hpp b/external/boost/fusion/tuple/detail/tuple_fwd.hpp new file mode 100644 index 000000000..ef6bdfe8b --- /dev/null +++ b/external/boost/fusion/tuple/detail/tuple_fwd.hpp @@ -0,0 +1,52 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TUPLE_FORWARD_10032005_0956) +#define FUSION_TUPLE_FORWARD_10032005_0956 + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + > + struct tuple; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif + diff --git a/external/boost/fusion/tuple/detail/tuple_tie.hpp b/external/boost/fusion/tuple/detail/tuple_tie.hpp new file mode 100644 index 000000000..b650d1cc1 --- /dev/null +++ b/external/boost/fusion/tuple/detail/tuple_tie.hpp @@ -0,0 +1,76 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_PP_IS_ITERATING +#if !defined(FUSION_TUPLE_TIE_10032005_0846) +#define FUSION_TUPLE_TIE_10032005_0846 + +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple_tie" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ +#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_REF + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) + { + return tuple( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) + diff --git a/external/boost/fusion/tuple/make_tuple.hpp b/external/boost/fusion/tuple/make_tuple.hpp new file mode 100644 index 000000000..e5cbb3b2a --- /dev/null +++ b/external/boost/fusion/tuple/make_tuple.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_MAKE_TUPLE_14122014_0048 +#define FUSION_MAKE_TUPLE_14122014_0048 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline tuple::type + >::type + >::type...> + make_tuple(T&&... arg) + { + typedef tuple::type + >::type + >::type...> result_type; + return result_type(std::forward(arg)...); + } +}} + +#endif +#endif + diff --git a/external/boost/fusion/tuple/tuple.hpp b/external/boost/fusion/tuple/tuple.hpp new file mode 100644 index 000000000..16b855113 --- /dev/null +++ b/external/boost/fusion/tuple/tuple.hpp @@ -0,0 +1,127 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_TUPLE_14122014_0102 +#define FUSION_TUPLE_14122014_0102 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + template + struct tuple + : vector_detail::vector_data< + typename detail::make_index_sequence::type + , T... + > + { + typedef vector_detail::vector_data< + typename detail::make_index_sequence::type + , T... + > base; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + BOOST_DEFAULTED_FUNCTION(tuple(), {}) + + template < + typename ...U + , typename = typename boost::enable_if_c< + sizeof...(U) >= sizeof...(T) + >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + tuple(tuple const& other) + : base(vector_detail::each_elem(), other) {} + + template < + typename ...U + , typename = typename boost::enable_if_c< + sizeof...(U) >= sizeof...(T) + >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + tuple(tuple&& other) + : base(vector_detail::each_elem(), std::move(other)) {} + + template < + typename ...U + , typename = typename boost::enable_if_c<( + fusion::detail::and_...>::value && + sizeof...(U) >= 1 + )>::type + > + /*BOOST_CONSTEXPR*/ BOOST_FUSION_GPU_ENABLED + explicit + tuple(U&&... args) + : base(vector_detail::each_elem(), std::forward(args)...) {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& other) + : base(vector_detail::each_elem(), other.first, other.second) {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + tuple(std::pair&& other) + : base(vector_detail::each_elem(), std::move(other.first), std::move(other.second)) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + tuple& operator=(U&& rhs) + { + base::assign_sequence(std::forward(rhs)); + return *this; + } + }; + + template + struct tuple_size : result_of::size {}; + + template + struct tuple_element : result_of::value_at_c {}; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple& tup) + { + return at_c(tup); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} + +#endif +#endif + diff --git a/external/boost/fusion/tuple/tuple_fwd.hpp b/external/boost/fusion/tuple/tuple_fwd.hpp new file mode 100644 index 000000000..b763acd52 --- /dev/null +++ b/external/boost/fusion/tuple/tuple_fwd.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2014-2015 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_TUPLE_FORWARD_14122014_0051 +#define FUSION_TUPLE_FORWARD_14122014_0051 + +#include +#include +#include + +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) +# undef BOOST_FUSION_HAS_VARIADIC_TUPLE +# endif +#else +# if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) +# define BOOST_FUSION_HAS_VARIADIC_TUPLE +# endif +#endif + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +namespace boost { namespace fusion +{ + template + struct tuple; +}} + +#endif +#endif + diff --git a/external/boost/fusion/tuple/tuple_tie.hpp b/external/boost/fusion/tuple/tuple_tie.hpp new file mode 100644 index 000000000..a07dc0a43 --- /dev/null +++ b/external/boost/fusion/tuple/tuple_tie.hpp @@ -0,0 +1,38 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef FUSION_TUPLE_TIE_14122014_0115 +#define FUSION_TUPLE_TIE_14122014_0115 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include + +namespace boost { namespace fusion +{ + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(T&... arg) + { + return tuple(arg...); + } +}} + +#endif +#endif + diff --git a/external/boost/fusion/view.hpp b/external/boost/fusion/view.hpp new file mode 100644 index 000000000..4cb49122d --- /dev/null +++ b/external/boost/fusion/view.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_VIEW_10022005_0620) +#define FUSION_SEQUENCE_VIEW_10022005_0620 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/detail/strictest_traversal.hpp b/external/boost/fusion/view/detail/strictest_traversal.hpp new file mode 100644 index 000000000..4092ea4da --- /dev/null +++ b/external/boost/fusion/view/detail/strictest_traversal.hpp @@ -0,0 +1,78 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_STRICTEST_TRAVERSAL_20060123_2101) +#define FUSION_STRICTEST_TRAVERSAL_20060123_2101 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct forward_traversal_tag; + struct bidirectional_traversal_tag; + struct random_access_traversal_tag; + + namespace detail + { + template::value> + struct stricter_traversal + { + typedef Tag1 type; + }; + + template + struct stricter_traversal + { + typedef Tag2 type; + }; + + struct strictest_traversal_impl + { + template + struct result; + + template + struct result + { + typedef typename remove_reference::type next_value; + typedef typename remove_reference::type strictest_so_far; + + typedef strictest_so_far tag1; + typedef typename traits::category_of::type tag2; + + typedef typename stricter_traversal::type type; + }; + + // never called, but needed for decltype-based result_of (C++0x) +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + template + BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(StrictestSoFar&&, Next&&) const; +#endif + }; + + template + struct strictest_traversal + : result_of::fold< + Sequence, fusion::random_access_traversal_tag, + strictest_traversal_impl> + {}; + + } +}} + +#endif diff --git a/external/boost/fusion/view/filter_view.hpp b/external/boost/fusion/view/filter_view.hpp new file mode 100644 index 000000000..2226026b6 --- /dev/null +++ b/external/boost/fusion/view/filter_view.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608) +#define FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/filter_view/detail/begin_impl.hpp b/external/boost/fusion/view/filter_view/detail/begin_impl.hpp new file mode 100644 index 000000000..3ce439a41 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/begin_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_05062005_0903) +#define FUSION_BEGIN_IMPL_05062005_0903 + +namespace boost { namespace fusion +{ + struct filter_view_tag; + + template + struct filter_iterator; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef typename Sequence::first_type first_type; + typedef typename Sequence::last_type last_type; + typedef typename Sequence::pred_type pred_type; + typedef typename Sequence::category category; + typedef filter_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return type(s.first()); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp b/external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp new file mode 100644 index 000000000..e0d9a0edb --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename + result_of::deref_data::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return fusion::deref_data(it.first); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/filter_view/detail/deref_impl.hpp b/external/boost/fusion/view/filter_view/detail/deref_impl.hpp new file mode 100644 index 000000000..d122dc537 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/deref_impl.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_IMPL_05062005_0905) +#define FUSION_DEREF_IMPL_05062005_0905 + +#include +#include + +namespace boost { namespace fusion +{ + struct filter_view_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template <> + struct deref_impl + : detail::adapt_deref_traits {}; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/filter_view/detail/end_impl.hpp b/external/boost/fusion/view/filter_view/detail/end_impl.hpp new file mode 100644 index 000000000..1a2a5ba48 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/end_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_05062005_0906) +#define FUSION_END_IMPL_05062005_0906 + +namespace boost { namespace fusion +{ + struct filter_view_tag; + + template + struct filter_iterator; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::last_type last_type; + typedef typename Sequence::pred_type pred_type; + typedef typename Sequence::category category; + typedef filter_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return type(s.last()); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp new file mode 100644 index 000000000..2836a2512 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_EQUAL_TO_IMPL_02012005_2133) +#define BOOST_FUSION_EQUAL_TO_IMPL_02012005_2133 + +namespace boost { namespace fusion +{ + struct filter_view_iterator_tag; + + namespace extension + { + template + struct equal_to; + + template + struct equal_to_impl; + + template<> + struct equal_to_impl + { + template + struct apply + : result_of::equal_to + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/filter_view/detail/key_of_impl.hpp b/external/boost/fusion/view/filter_view/detail/key_of_impl.hpp new file mode 100644 index 000000000..4ab69a695 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/key_of_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : result_of::key_of + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/filter_view/detail/next_impl.hpp b/external/boost/fusion/view/filter_view/detail/next_impl.hpp new file mode 100644 index 000000000..4f1745576 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/next_impl.hpp @@ -0,0 +1,79 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_IMPL_06052005_0900) +#define FUSION_NEXT_IMPL_06052005_0900 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct filter_view_iterator_tag; + + template + struct filter_iterator; + + namespace extension + { + template + struct next_impl; + + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename Iterator::last_type last_type; + typedef typename Iterator::pred_type pred_type; + typedef typename Iterator::category category; + + typedef typename + mpl::eval_if< + result_of::equal_to + , mpl::identity + , result_of::next + >::type + next_type; + + typedef typename + detail::static_find_if< + next_type + , last_type + , mpl::bind1< + typename mpl::lambda::type + , mpl::bind1,mpl::_1> + > + > + filter; + + typedef filter_iterator< + category, typename filter::type, last_type, pred_type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(filter::iter_call(i.first)); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/filter_view/detail/size_impl.hpp b/external/boost/fusion/view/filter_view/detail/size_impl.hpp new file mode 100644 index 000000000..f6cf17cb3 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/size_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SIZE_IMPL_09232005_1058) +#define FUSION_SIZE_IMPL_09232005_1058 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct filter_view_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + : result_of::distance< + typename result_of::begin::type + , typename result_of::end::type> + {}; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp b/external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp new file mode 100644 index 000000000..a845ac2a5 --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : result_of::value_of_data + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/filter_view/detail/value_of_impl.hpp b/external/boost/fusion/view/filter_view/detail/value_of_impl.hpp new file mode 100644 index 000000000..b460a48bc --- /dev/null +++ b/external/boost/fusion/view/filter_view/detail/value_of_impl.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_OF_IMPL_05062005_0857) +#define FUSION_VALUE_OF_IMPL_05062005_0857 + +#include +#include + +namespace boost { namespace fusion +{ + struct filter_view_iterator_tag; + + namespace extension + { + template + struct value_of_impl; + + template <> + struct value_of_impl + : detail::adapt_value_traits {}; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/filter_view/filter_view.hpp b/external/boost/fusion/view/filter_view/filter_view.hpp new file mode 100644 index 000000000..db61cad60 --- /dev/null +++ b/external/boost/fusion/view/filter_view/filter_view.hpp @@ -0,0 +1,68 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_FILTER_VIEW_HPP) +#define FUSION_SEQUENCE_FILTER_VIEW_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct filter_view_tag; + struct forward_traversal_tag; + struct fusion_sequence_tag; + + template + struct filter_view : sequence_base > + { + typedef filter_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef typename + mpl::eval_if< + traits::is_associative + , mpl::inherit2 + , mpl::identity + >::type + category; + typedef mpl::true_ is_view; + + typedef typename result_of::begin::type first_type; + typedef typename result_of::end::type last_type; + typedef Pred pred_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + filter_view(Sequence& in_seq) + : seq(in_seq) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + first_type first() const { return fusion::begin(seq); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + last_type last() const { return fusion::end(seq); } + typename mpl::if_, Sequence, Sequence&>::type seq; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + filter_view& operator= (filter_view const&); + }; +}} + +#endif + + diff --git a/external/boost/fusion/view/filter_view/filter_view_iterator.hpp b/external/boost/fusion/view/filter_view/filter_view_iterator.hpp new file mode 100644 index 000000000..f1b9f54de --- /dev/null +++ b/external/boost/fusion/view/filter_view/filter_view_iterator.hpp @@ -0,0 +1,81 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_FILTER_VIEW_ITERATOR_05062005_0849) +#define FUSION_FILTER_VIEW_ITERATOR_05062005_0849 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct filter_view_iterator_tag; + struct forward_traversal_tag; + + template + struct filter_iterator : iterator_base > + { + typedef convert_iterator first_converter; + typedef typename first_converter::type first_iter; + typedef convert_iterator last_converter; + typedef typename last_converter::type last_iter; + + typedef filter_view_iterator_tag fusion_tag; + typedef Category category; + typedef + detail::static_find_if< + first_iter + , last_iter + , mpl::bind1< + typename mpl::lambda::type + , mpl::bind1,mpl::_1> + > + > + filter; + typedef typename filter::type first_type; + typedef last_iter last_type; + typedef Pred pred_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + filter_iterator(First const& in_first) + : first(filter::iter_call(first_converter::call(in_first))) {} + + first_type first; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + filter_iterator& operator= (filter_iterator const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::filter_iterator > + { }; +} +#endif + +#endif + + diff --git a/external/boost/fusion/view/flatten_view.hpp b/external/boost/fusion/view/flatten_view.hpp new file mode 100644 index 000000000..25428544d --- /dev/null +++ b/external/boost/fusion/view/flatten_view.hpp @@ -0,0 +1,15 @@ +/*============================================================================== + Copyright (c) 2013 Jamboree + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED +#define BOOST_FUSION_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED + + +#include +#include + + +#endif diff --git a/external/boost/fusion/view/flatten_view/flatten_view.hpp b/external/boost/fusion/view/flatten_view/flatten_view.hpp new file mode 100644 index 000000000..401f65dc8 --- /dev/null +++ b/external/boost/fusion/view/flatten_view/flatten_view.hpp @@ -0,0 +1,133 @@ +/*============================================================================== + Copyright (c) 2013 Jamboree + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_FLATTEN_VIEW_HPP_INCLUDED +#define BOOST_FUSION_FLATTEN_VIEW_HPP_INCLUDED + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace boost { namespace fusion +{ + struct forward_traversal_tag; + struct flatten_view_tag; + + template + struct flatten_view + : sequence_base > + { + typedef flatten_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::true_ is_view; + typedef forward_traversal_tag category; + + typedef Sequence sequence_type; + typedef typename result_of::begin::type first_type; + typedef typename result_of::end::type last_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit flatten_view(Sequence& seq) + : seq(seq) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + first_type first() const { return fusion::begin(seq); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + last_type last() const { return fusion::end(seq); } + + typename mpl::if_, Sequence, Sequence&>::type seq; + }; +}} + +namespace boost { namespace fusion { namespace extension +{ + template<> + struct begin_impl + { + template + struct apply + { + typedef typename Sequence::first_type first_type; + + typedef typename + result_of::begin< + mpl::single_view< + typename Sequence::sequence_type> >::type + root_iterator; + + typedef + detail::seek_descent + seek_descent; + + typedef typename seek_descent::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline + type call(Sequence& seq) + { + return seek_descent::apply(root_iterator(), seq.first()); + } + }; + }; + + template<> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::last_type last_type; + + typedef typename + result_of::end< + mpl::single_view< + typename Sequence::sequence_type> >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline + type call(Sequence&) + { + return type(); + } + }; + }; + + template<> + struct size_impl + { + template + struct apply + : result_of::distance + < + typename result_of::begin::type + , typename result_of::end::type + > + {}; + }; + + template<> + struct empty_impl + { + template + struct apply + : result_of::empty + {}; + }; +}}} + + +#endif diff --git a/external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp b/external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp new file mode 100644 index 000000000..be115d910 --- /dev/null +++ b/external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp @@ -0,0 +1,218 @@ +/*============================================================================== + Copyright (c) 2013 Jamboree + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_FLATTEN_VIEW_ITERATOR_HPP_INCLUDED +#define BOOST_FUSION_FLATTEN_VIEW_ITERATOR_HPP_INCLUDED + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace boost { namespace fusion +{ + struct forward_traversal_tag; + struct flatten_view_iterator_tag; + + template + struct flatten_view_iterator + : iterator_base > + { + typedef flatten_view_iterator_tag fusion_tag; + typedef forward_traversal_tag category; + + typedef convert_iterator first_converter; + typedef typename first_converter::type first_type; + typedef Base base_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + flatten_view_iterator(First const& first, Base const& base) + : first(first), base(base) + {} + + first_type first; + base_type base; + }; +}} + +namespace boost { namespace fusion { namespace detail +{ + template + struct make_descent_cons + { + typedef cons type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type apply(Iterator const& it) + { + return type(it); + } + }; + + template + struct make_descent_cons::type> >::type> + { + // we use 'value_of' above for convenience, assuming the value won't be reference, + // while we must use the regular 'deref' here for const issues... + typedef typename + remove_reference::type>::type + sub_sequence; + + typedef typename + result_of::begin::type + sub_begin; + + typedef cons::type> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type apply(Iterator const& it) + { + return type(it, make_descent_cons::apply( + fusion::begin(*it))); + } + }; + + template + struct build_flatten_view_iterator; + + template + struct build_flatten_view_iterator, Base> + { + typedef flatten_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type apply(cons const& cons, Base const& base) + { + return type(cons.car, base); + } + }; + + template + struct build_flatten_view_iterator, Base> + { + typedef flatten_view_iterator next_base; + typedef build_flatten_view_iterator next; + typedef typename next::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type apply(cons const& cons, Base const& base) + { + return next::apply(cons.cdr, next_base(cons.car, base)); + } + }; + + template + struct seek_descent + { + typedef make_descent_cons make_descent_cons_; + typedef typename make_descent_cons_::type cons_type; + typedef + build_flatten_view_iterator + build_flatten_view_iterator_; + typedef typename build_flatten_view_iterator_::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type apply(Base const& base, Iterator const& it) + { + return build_flatten_view_iterator_::apply( + make_descent_cons_::apply(it), base); + } + }; + + template + struct seek_descent::type>::type> >::type> + { + typedef typename result_of::next::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline type apply(Base const& base, Iterator const&) + { + return fusion::next(base); + } + }; +}}} + +namespace boost { namespace fusion { namespace extension +{ + template<> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename Iterator::base_type base_type; + typedef typename result_of::next::type next_type; + + typedef detail::seek_descent seek_descent; + typedef typename seek_descent::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline + type call(Iterator const& it) + { + return seek_descent::apply(it.base, fusion::next(it.first)); + } + }; + }; + + template<> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::deref::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static inline + type call(Iterator const& it) + { + return *it.first; + } + }; + }; + + template<> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_of::type + type; + }; + }; +}}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::flatten_view_iterator > + { }; +} +#endif + + +#endif + diff --git a/external/boost/fusion/view/iterator_range.hpp b/external/boost/fusion/view/iterator_range.hpp new file mode 100644 index 000000000..78d6ffad9 --- /dev/null +++ b/external/boost/fusion/view/iterator_range.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610) +#define FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610 + +#include +#include + +#endif diff --git a/external/boost/fusion/view/iterator_range/detail/at_impl.hpp b/external/boost/fusion/view/iterator_range/detail/at_impl.hpp new file mode 100644 index 000000000..20f175831 --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/at_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + namespace extension + { + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef typename Seq::begin_type begin_type; + typedef typename result_of::advance::type pos; + typedef typename result_of::deref::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& s) + { + return * fusion::advance(s.first); + } + }; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/view/iterator_range/detail/begin_impl.hpp b/external/boost/fusion/view/iterator_range/detail/begin_impl.hpp new file mode 100644 index 000000000..7e00dec09 --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/begin_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_05062005_1226) +#define FUSION_BEGIN_IMPL_05062005_1226 + +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef typename Sequence::begin_type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return s.first; + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/iterator_range/detail/end_impl.hpp b/external/boost/fusion/view/iterator_range/detail/end_impl.hpp new file mode 100644 index 000000000..b76aa91cd --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/end_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_05062005_1226) +#define FUSION_END_IMPL_05062005_1226 + +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::end_type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return s.last; + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp b/external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp new file mode 100644 index 000000000..88f4358bd --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp @@ -0,0 +1,67 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED) +#define BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + template + struct segmented_iterator; + + namespace extension + { + template + struct is_segmented_impl; + + // An iterator_range of segmented_iterators is segmented + template <> + struct is_segmented_impl + { + private: + template + struct is_segmented_iterator + : mpl::false_ + {}; + + template + struct is_segmented_iterator + : is_segmented_iterator + {}; + + template + struct is_segmented_iterator + : is_segmented_iterator + {}; + + template + struct is_segmented_iterator > + : mpl::true_ + {}; + + public: + template + struct apply + : is_segmented_iterator + { + BOOST_MPL_ASSERT_RELATION( + is_segmented_iterator::value + , == + , is_segmented_iterator::value); + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp b/external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp new file mode 100644 index 000000000..4b2c11ebe --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp @@ -0,0 +1,556 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Invariants: +// - Each segmented iterator has a stack +// - Each value in the stack is an iterator range +// - The range at the top of the stack points to values +// - All other ranges point to ranges +// - The front of each range in the stack (besides the +// topmost) is the range above it + +namespace boost { namespace fusion +{ + template + struct iterator_range; + + namespace result_of + { + template + struct push_back; + + template + struct push_front; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::push_back + >::type + push_back(Sequence const& seq, T const& x); + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::push_front + >::type + push_front(Sequence const& seq, T const& x); +}} + +namespace boost { namespace fusion { namespace detail +{ + //auto make_segment_sequence_front(stack_begin) + //{ + // switch (size(stack_begin)) + // { + // case 1: + // return nil_; + // case 2: + // // car(cdr(stack_begin)) is a range over values. + // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); + // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); + // default: + // // car(cdr(stack_begin)) is a range over segments. We replace the + // // front with a view that is restricted. + // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); + // return segment_sequence( + // push_front( + // // The following could be a segment_sequence. It then gets wrapped + // // in a single_view, and push_front puts it in a join_view with the + // // following iterator_range. + // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), + // make_segment_sequence_front(cdr(stack_begin)))); + // } + //} + + template + struct make_segment_sequence_front + { + // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type + >::type + , typename Stack::cdr_type::car_type::end_type + >)); + + typedef + iterator_range< + typename result_of::next< + typename Stack::cdr_type::car_type::begin_type + >::type + , typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type + >::type + > + rest_type; + + typedef + make_segment_sequence_front + recurse; + + typedef + segment_sequence< + typename result_of::push_front< + rest_type const + , typename recurse::type + >::type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const& stack) + { + //return segment_sequence( + // push_front( + // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), + // make_segment_sequence_front(cdr(stack_begin)))); + return type( + fusion::push_front( + rest_type(fusion::next(stack.cdr.car.first), fusion::end(fusion::segments(*stack.car.first))) + , recurse::call(stack.cdr))); + } + }; + + template + struct make_segment_sequence_front + { + // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + , typename Stack::cdr_type::car_type::end_type + >)); + + typedef + iterator_range< + typename Stack::cdr_type::car_type::begin_type + , typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const& stack) + { + // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); + return type(stack.cdr.car.first, fusion::end(*stack.car.first)); + } + }; + + template + struct make_segment_sequence_front + { + typedef typename Stack::cdr_type type; // nil_ + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const &stack) + { + return stack.cdr; + } + }; + + //auto make_segment_sequence_back(stack_end) + //{ + // switch (size(stack_end)) + // { + // case 1: + // return nil_; + // case 2: + // // car(cdr(stack_back)) is a range over values. + // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); + // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); + // default: + // // car(cdr(stack_begin)) is a range over segments. We replace the + // // back with a view that is restricted. + // assert(end(segments(front(car(stack_end)))) == end(car(cdr(stack_end)))); + // return segment_sequence( + // push_back( + // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), + // make_segment_sequence_back(cdr(stack_end)))); + // } + //} + + template + struct make_segment_sequence_back + { + // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type + >::type + , typename Stack::cdr_type::car_type::end_type + >)); + + typedef + iterator_range< + typename result_of::begin< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type + >::type + , typename Stack::cdr_type::car_type::begin_type + > + rest_type; + + typedef + make_segment_sequence_back + recurse; + + typedef + segment_sequence< + typename result_of::push_back< + rest_type const + , typename recurse::type + >::type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const& stack) + { + // return segment_sequence( + // push_back( + // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), + // make_segment_sequence_back(cdr(stack_end)))); + return type( + fusion::push_back( + rest_type(fusion::begin(fusion::segments(*stack.car.first)), stack.cdr.car.first) + , recurse::call(stack.cdr))); + } + }; + + template + struct make_segment_sequence_back + { + // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + , typename Stack::cdr_type::car_type::end_type + >)); + + typedef + iterator_range< + typename result_of::begin< + typename remove_reference< + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + , typename Stack::cdr_type::car_type::begin_type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const& stack) + { + // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); + return type(fusion::begin(*stack.car.first), stack.cdr.car.first); + } + }; + + template + struct make_segment_sequence_back + { + typedef typename Stack::cdr_type type; // nil_ + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Stack const& stack) + { + return stack.cdr; + } + }; + + //auto make_segmented_range_reduce(stack_begin, stack_end) + //{ + // if (size(stack_begin) == 1 && size(stack_end) == 1) + // { + // return segment_sequence( + // single_view( + // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); + // } + // else + // { + // // We are in the case where both begin_stack and/or end_stack have + // // more than one element. Throw away any part of the tree where + // // begin and end refer to the same segment. + // if (begin(car(stack_begin)) == begin(car(stack_end))) + // { + // return make_segmented_range_reduce(cdr(stack_begin), cdr(stack_end)); + // } + // else + // { + // // We are in the case where begin_stack and end_stack (a) have + // // more than one element each, and (b) they point to different + // // segments. We must construct a segmented sequence. + // return segment_sequence( + // push_back( + // push_front( + // iterator_range( + // fusion::next(begin(car(stack_begin))), + // begin(car(stack_end))), // a range of (possibly segmented) ranges. + // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. + // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. + // } + // } + //} + + template < + typename StackBegin + , typename StackEnd + , int StackBeginSize = StackBegin::size::value + , int StackEndSize = StackEnd::size::value> + struct make_segmented_range_reduce; + + template < + typename StackBegin + , typename StackEnd + , bool SameSegment +#if !(BOOST_WORKAROUND(BOOST_GCC, >= 40000) && BOOST_WORKAROUND(BOOST_GCC, < 40200)) + = result_of::equal_to< + typename StackBegin::car_type::begin_type + , typename StackEnd::car_type::begin_type + >::type::value +#endif + > + struct make_segmented_range_reduce2 + { + typedef + iterator_range< + typename result_of::next< + typename StackBegin::car_type::begin_type + >::type + , typename StackEnd::car_type::begin_type + > + rest_type; + + typedef + segment_sequence< + typename result_of::push_back< + typename result_of::push_front< + rest_type const + , typename make_segment_sequence_front::type + >::type const + , typename make_segment_sequence_back::type + >::type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(StackBegin stack_begin, StackEnd stack_end) + { + //return segment_sequence( + // push_back( + // push_front( + // iterator_range( + // fusion::next(begin(car(stack_begin))), + // begin(car(stack_end))), // a range of (possibly segmented) ranges. + // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. + // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. + return type( + fusion::push_back( + fusion::push_front( + rest_type(fusion::next(stack_begin.car.first), stack_end.car.first) + , make_segment_sequence_front::call(stack_begin)) + , make_segment_sequence_back::call(stack_end))); + } + }; + + template + struct make_segmented_range_reduce2 + { + typedef + make_segmented_range_reduce< + typename StackBegin::cdr_type + , typename StackEnd::cdr_type + > + impl; + + typedef + typename impl::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(StackBegin stack_begin, StackEnd stack_end) + { + return impl::call(stack_begin.cdr, stack_end.cdr); + } + }; + + template + struct make_segmented_range_reduce + : make_segmented_range_reduce2= 40000) && BOOST_WORKAROUND(BOOST_GCC, < 40200) + , result_of::equal_to< + typename StackBegin::car_type::begin_type + , typename StackEnd::car_type::begin_type + >::type::value +#endif + > + {}; + + template + struct make_segmented_range_reduce + { + typedef + iterator_range< + typename StackBegin::car_type::begin_type + , typename StackEnd::car_type::begin_type + > + range_type; + + typedef + single_view + segment_type; + + typedef + segment_sequence + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(StackBegin stack_begin, StackEnd stack_end) + { + //return segment_sequence( + // single_view( + // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); + return type(segment_type(range_type(stack_begin.car.first, stack_end.car.first))); + } + }; + + //auto make_segmented_range(begin, end) + //{ + // return make_segmented_range_reduce(reverse(begin.context), reverse(end.context)); + //} + + template + struct make_segmented_range + { + typedef reverse_cons reverse_begin_cons; + typedef reverse_cons reverse_end_cons; + + typedef + make_segmented_range_reduce< + typename reverse_begin_cons::type + , typename reverse_end_cons::type + > + impl; + + typedef typename impl::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Begin const& begin, End const& end) + { + return impl::call( + reverse_begin_cons::call(begin.context) + , reverse_end_cons::call(end.context)); + } + }; + +}}} + +#endif diff --git a/external/boost/fusion/view/iterator_range/detail/segments_impl.hpp b/external/boost/fusion/view/iterator_range/detail/segments_impl.hpp new file mode 100644 index 000000000..bbf4c45ad --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/segments_impl.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED) +#define BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + namespace extension + { + template + struct segments_impl; + + template <> + struct segments_impl + { + template + struct apply + { + typedef + detail::make_segmented_range< + typename Sequence::begin_type + , typename Sequence::end_type + > + impl; + + BOOST_MPL_ASSERT((traits::is_segmented)); + + typedef + typename result_of::segments::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence & seq) + { + return fusion::segments(impl::call(seq.first, seq.last)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/iterator_range/detail/size_impl.hpp b/external/boost/fusion/view/iterator_range/detail/size_impl.hpp new file mode 100644 index 000000000..0678e5dde --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/size_impl.hpp @@ -0,0 +1,38 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED + +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + : result_of::distance< + typename Seq::begin_type, + typename Seq::end_type + > + {}; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp b/external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp new file mode 100644 index 000000000..652b8da19 --- /dev/null +++ b/external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef typename Seq::begin_type begin_type; + typedef typename result_of::advance::type pos; + typedef typename result_of::value_of::type type; + }; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/view/iterator_range/iterator_range.hpp b/external/boost/fusion/view/iterator_range/iterator_range.hpp new file mode 100644 index 000000000..272abcd91 --- /dev/null +++ b/external/boost/fusion/view/iterator_range/iterator_range.hpp @@ -0,0 +1,63 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ITERATOR_RANGE_05062005_1224) +#define FUSION_ITERATOR_RANGE_05062005_1224 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + struct fusion_sequence_tag; + + template + struct iterator_range : sequence_base > + { + typedef typename convert_iterator::type begin_type; + typedef typename convert_iterator::type end_type; + typedef iterator_range_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::true_ is_view; + + typedef typename traits::category_of::type category; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + iterator_range(First const& in_first, Last const& in_last) + : first(convert_iterator::call(in_first)) + , last(convert_iterator::call(in_last)) {} + + begin_type first; + end_type last; + }; +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif + + diff --git a/external/boost/fusion/view/joint_view.hpp b/external/boost/fusion/view/joint_view.hpp new file mode 100644 index 000000000..58be4b862 --- /dev/null +++ b/external/boost/fusion/view/joint_view.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610) +#define FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/joint_view/detail/begin_impl.hpp b/external/boost/fusion/view/joint_view/detail/begin_impl.hpp new file mode 100644 index 000000000..b7a961a7f --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/begin_impl.hpp @@ -0,0 +1,71 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_07162005_0115) +#define FUSION_BEGIN_IMPL_07162005_0115 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct joint_view_tag; + + template + struct joint_view_iterator; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef typename Sequence::first_type first_type; + typedef typename Sequence::last_type last_type; + typedef typename Sequence::concat_type concat_type; + typedef typename Sequence::category category; + typedef result_of::equal_to equal_to; + + typedef typename + mpl::if_< + equal_to + , concat_type + , joint_view_iterator + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s, mpl::true_) + { + return s.concat(); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s, mpl::false_) + { + return type(s.first(), s.concat()); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return call(s, equal_to()); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp b/external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp new file mode 100644 index 000000000..2d5f8317e --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename + result_of::deref_data::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return fusion::deref_data(it.first); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/joint_view/detail/deref_impl.hpp b/external/boost/fusion/view/joint_view/detail/deref_impl.hpp new file mode 100644 index 000000000..0e1e39fff --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/deref_impl.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_IMPL_07162005_0137) +#define FUSION_DEREF_IMPL_07162005_0137 + +#include +#include + +namespace boost { namespace fusion +{ + struct joint_view_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template <> + struct deref_impl + : detail::adapt_deref_traits {}; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/joint_view/detail/end_impl.hpp b/external/boost/fusion/view/joint_view/detail/end_impl.hpp new file mode 100644 index 000000000..0b4b9b0ab --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/end_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_07162005_0128) +#define FUSION_END_IMPL_07162005_0128 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct joint_view_tag; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::concat_last_type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return s.concat_last(); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/joint_view/detail/key_of_impl.hpp b/external/boost/fusion/view/joint_view/detail/key_of_impl.hpp new file mode 100644 index 000000000..ec682f614 --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/key_of_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : result_of::key_of + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/joint_view/detail/next_impl.hpp b/external/boost/fusion/view/joint_view/detail/next_impl.hpp new file mode 100644 index 000000000..a7d18757d --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/next_impl.hpp @@ -0,0 +1,75 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_IMPL_07162005_0136) +#define FUSION_NEXT_IMPL_07162005_0136 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct joint_view_iterator_tag; + + template + struct joint_view_iterator; + + namespace extension + { + template + struct next_impl; + + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename Iterator::last_type last_type; + typedef typename Iterator::concat_type concat_type; + typedef typename Iterator::category category; + typedef typename result_of::next::type next_type; + typedef result_of::equal_to equal_to; + + typedef typename + mpl::if_< + equal_to + , concat_type + , joint_view_iterator + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i, mpl::true_) + { + return i.concat; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i, mpl::false_) + { + return type(fusion::next(i.first), i.concat); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return call(i, equal_to()); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp b/external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp new file mode 100644 index 000000000..f797135b3 --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : result_of::value_of_data + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/joint_view/detail/value_of_impl.hpp b/external/boost/fusion/view/joint_view/detail/value_of_impl.hpp new file mode 100644 index 000000000..f058a60cb --- /dev/null +++ b/external/boost/fusion/view/joint_view/detail/value_of_impl.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_IMPL_07162005_0132) +#define FUSION_VALUE_IMPL_07162005_0132 + +#include +#include + +namespace boost { namespace fusion +{ + struct joint_view_iterator_tag; + + namespace extension + { + template + struct value_of_impl; + + template <> + struct value_of_impl + : detail::adapt_value_traits {}; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/joint_view/joint_view.hpp b/external/boost/fusion/view/joint_view/joint_view.hpp new file mode 100644 index 000000000..676cbc54d --- /dev/null +++ b/external/boost/fusion/view/joint_view/joint_view.hpp @@ -0,0 +1,83 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_JOINT_VIEW_07162005_0140) +#define FUSION_JOINT_VIEW_07162005_0140 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct joint_view_tag; + struct forward_traversal_tag; + struct fusion_sequence_tag; + + template + struct joint_view : sequence_base > + { + typedef joint_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef typename + mpl::eval_if< + mpl::and_< + traits::is_associative + , traits::is_associative + > + , mpl::inherit2 + , mpl::identity + >::type + category; + typedef mpl::true_ is_view; + + typedef typename result_of::begin::type first_type; + typedef typename result_of::end::type last_type; + typedef typename result_of::begin::type concat_type; + typedef typename result_of::end::type concat_last_type; + typedef typename mpl::int_< + result_of::size::value + result_of::size::value> + size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + joint_view(Sequence1& in_seq1, Sequence2& in_seq2) + : seq1(in_seq1) + , seq2(in_seq2) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + first_type first() const { return fusion::begin(seq1); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + concat_type concat() const { return fusion::begin(seq2); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + concat_last_type concat_last() const { return fusion::end(seq2); } + + private: + // silence MSVC warning C4512: assignment operator could not be generated + joint_view& operator= (joint_view const&); + + typename mpl::if_, Sequence1, Sequence1&>::type seq1; + typename mpl::if_, Sequence2, Sequence2&>::type seq2; + }; +}} + +#endif + + diff --git a/external/boost/fusion/view/joint_view/joint_view_fwd.hpp b/external/boost/fusion/view/joint_view/joint_view_fwd.hpp new file mode 100644 index 000000000..c3e3b45e8 --- /dev/null +++ b/external/boost/fusion/view/joint_view/joint_view_fwd.hpp @@ -0,0 +1,18 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_JOINT_VIEW_FWD_HPP_INCLUDED) +#define BOOST_FUSION_JOINT_VIEW_FWD_HPP_INCLUDED + +namespace boost { namespace fusion +{ + struct joint_view_tag; + + template + struct joint_view; +}} + +#endif diff --git a/external/boost/fusion/view/joint_view/joint_view_iterator.hpp b/external/boost/fusion/view/joint_view/joint_view_iterator.hpp new file mode 100644 index 000000000..ddd1341ee --- /dev/null +++ b/external/boost/fusion/view/joint_view/joint_view_iterator.hpp @@ -0,0 +1,70 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_JOINT_VIEW_ITERATOR_07162005_0140) +#define FUSION_JOINT_VIEW_ITERATOR_07162005_0140 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct joint_view_iterator_tag; + struct forward_traversal_tag; + + template + struct joint_view_iterator + : iterator_base > + { + typedef convert_iterator first_converter; + typedef convert_iterator last_converter; + typedef convert_iterator concat_converter; + + typedef typename first_converter::type first_type; + typedef typename last_converter::type last_type; + typedef typename concat_converter::type concat_type; + + typedef joint_view_iterator_tag fusion_tag; + typedef Category category; + BOOST_STATIC_ASSERT((!result_of::equal_to::value)); + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + joint_view_iterator(First const& in_first, Concat const& in_concat) + : first(first_converter::call(in_first)) + , concat(concat_converter::call(in_concat)) + {} + + first_type first; + concat_type concat; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + joint_view_iterator& operator= (joint_view_iterator const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::joint_view_iterator > + { }; +} +#endif + +#endif + + diff --git a/external/boost/fusion/view/nview.hpp b/external/boost/fusion/view/nview.hpp new file mode 100644 index 000000000..b8b51cee1 --- /dev/null +++ b/external/boost/fusion/view/nview.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NVIEW_SEP_23_2009_1107PM) +#define FUSION_NVIEW_SEP_23_2009_1107PM + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/nview/detail/advance_impl.hpp b/external/boost/fusion/view/nview/detail/advance_impl.hpp new file mode 100644 index 000000000..c46414337 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/advance_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM) +#define BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + + template + struct nview_iterator; + + namespace extension + { + template + struct advance_impl; + + template<> + struct advance_impl + { + template + struct apply + { + typedef typename Iterator::first_type iterator_type; + typedef typename Iterator::sequence_type sequence_type; + + typedef nview_iterator::type> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.seq); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/nview/detail/at_impl.hpp b/external/boost/fusion/view/nview/detail/at_impl.hpp new file mode 100644 index 000000000..9f8c16370 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/at_impl.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM) +#define BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nview_tag; + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename Sequence::sequence_type sequence_type; + typedef typename Sequence::index_type index_type; + + typedef typename result_of::value_at::type index; + typedef typename result_of::at::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return fusion::at(seq.seq); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/nview/detail/begin_impl.hpp b/external/boost/fusion/view/nview/detail/begin_impl.hpp new file mode 100644 index 000000000..99e6319ea --- /dev/null +++ b/external/boost/fusion/view/nview/detail/begin_impl.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM) +#define BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_tag; + + template + struct nview_iterator; + + namespace extension + { + template + struct begin_impl; + + template<> + struct begin_impl + { + template + struct apply + { + typedef typename Sequence::index_type index_type; + + typedef nview_iterator::type> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& s) + { + return type(s); + } + }; + }; + } + +}} + +#endif + diff --git a/external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp b/external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp new file mode 100644 index 000000000..0bcea9bb9 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp @@ -0,0 +1,81 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_PP_IS_ITERATING + +#if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) +#define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (1, FUSION_MAX_VECTOR_SIZE, \ + "boost/fusion/view/nview/detail/cpp03/nview_impl.hpp")) \ + /**/ + +/////////////////////////////////////////////////////////////////////////////// +namespace boost { namespace fusion { namespace result_of +{ + template + struct as_nview + { + typedef mpl::vector_c< + int, BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, I) + > index_type; + typedef nview type; + }; +}}} + +#include BOOST_PP_ITERATE() + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// Preprocessor vertical repetition code +/////////////////////////////////////////////////////////////////////////////// +#else // defined(BOOST_PP_IS_ITERATING) + +#define N BOOST_PP_ITERATION() + +#if N < FUSION_MAX_VECTOR_SIZE +namespace boost { namespace fusion { namespace result_of +{ + template + struct as_nview + { + typedef mpl::vector_c index_type; + typedef nview type; + }; +}}} +#endif + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline nview > + as_nview(Sequence& s) + { + typedef mpl::vector_c index_type; + return nview(s); + } + +}} + +#undef N + +#endif diff --git a/external/boost/fusion/view/nview/detail/deref_impl.hpp b/external/boost/fusion/view/nview/detail/deref_impl.hpp new file mode 100644 index 000000000..57654aa05 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/deref_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM) +#define BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template<> + struct deref_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename Iterator::sequence_type sequence_type; + + typedef typename result_of::value_of::type index; + typedef typename result_of::at< + typename sequence_type::sequence_type, index>::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Iterator const& i) + { + return at(i.seq.seq); + } + }; + }; + + } + +}} + +#endif + diff --git a/external/boost/fusion/view/nview/detail/distance_impl.hpp b/external/boost/fusion/view/nview/detail/distance_impl.hpp new file mode 100644 index 000000000..a036300f7 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/distance_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM) +#define BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + + namespace extension + { + template + struct distance_impl; + + template<> + struct distance_impl + { + template + struct apply + : result_of::distance + { + typedef typename result_of::distance< + typename First::first_type, typename Last::first_type + >::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& /*first*/, Last const& /*last*/) + { + return type(); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/nview/detail/end_impl.hpp b/external/boost/fusion/view/nview/detail/end_impl.hpp new file mode 100644 index 000000000..810aea917 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/end_impl.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM) +#define BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_tag; + + template + struct nview_iterator; + + namespace extension + { + template + struct end_impl; + + // Unary Version + template <> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::index_type index_type; + + typedef nview_iterator::type> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& s) + { + return type(s); + } + }; + }; + } + +}} + +#endif + + diff --git a/external/boost/fusion/view/nview/detail/equal_to_impl.hpp b/external/boost/fusion/view/nview/detail/equal_to_impl.hpp new file mode 100644 index 000000000..4b04788bb --- /dev/null +++ b/external/boost/fusion/view/nview/detail/equal_to_impl.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM) +#define BOOST_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + + namespace extension + { + template + struct equal_to_impl; + + template<> + struct equal_to_impl + { + template + struct apply + : result_of::equal_to + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/nview/detail/next_impl.hpp b/external/boost/fusion/view/nview/detail/next_impl.hpp new file mode 100644 index 000000000..821d9c376 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/next_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM) +#define BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + + template + struct nview_iterator; + + namespace extension + { + template + struct next_impl; + + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename Iterator::sequence_type sequence_type; + + typedef nview_iterator::type> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.seq); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/nview/detail/nview_impl.hpp b/external/boost/fusion/view/nview/detail/nview_impl.hpp new file mode 100644 index 000000000..0c75a66af --- /dev/null +++ b/external/boost/fusion/view/nview/detail/nview_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#ifndef BOOST_FUSION_NVIEW_IMPL_17122014_1948 +#define BOOST_FUSION_NVIEW_IMPL_17122014_1948 + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) +# include +#else + +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct as_nview + { + typedef vector...> index_type; + typedef nview type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline nview...> > + as_nview(Sequence& s) + { + typedef vector...> index_type; + return nview(s); + } +}} + +#endif +#endif + diff --git a/external/boost/fusion/view/nview/detail/prior_impl.hpp b/external/boost/fusion/view/nview/detail/prior_impl.hpp new file mode 100644 index 000000000..29b63f569 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/prior_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM) +#define BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + + template + struct nview_iterator; + + namespace extension + { + template + struct prior_impl; + + template <> + struct prior_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename Iterator::sequence_type sequence_type; + + typedef nview_iterator::type> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.seq); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/nview/detail/size_impl.hpp b/external/boost/fusion/view/nview/detail/size_impl.hpp new file mode 100644 index 000000000..57e676538 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/size_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM) +#define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nview_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + : result_of::distance< + typename result_of::begin::type + , typename result_of::end::type> + {}; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/nview/detail/value_at_impl.hpp b/external/boost/fusion/view/nview/detail/value_at_impl.hpp new file mode 100644 index 000000000..2afe9bee6 --- /dev/null +++ b/external/boost/fusion/view/nview/detail/value_at_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM) +#define BOOST_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM + +#include +#include + +namespace boost { namespace fusion +{ + struct nview_tag; + + namespace extension + { + template + struct value_at_impl; + + template<> + struct value_at_impl + { + template + struct apply + { + typedef typename Sequence::sequence_type sequence_type; + typedef typename Sequence::index_type index_type; + + typedef typename result_of::at::type index; + typedef typename result_of::at::type type; + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/nview/detail/value_of_impl.hpp b/external/boost/fusion/view/nview/detail/value_of_impl.hpp new file mode 100644 index 000000000..dc48e61ff --- /dev/null +++ b/external/boost/fusion/view/nview/detail/value_of_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM) +#define BOOST_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + + template + struct nview_iterator; + + namespace extension + { + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename Iterator::sequence_type sequence_type; + + typedef typename result_of::deref::type index; + typedef typename result_of::at< + typename sequence_type::sequence_type, index>::type type; + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/nview/nview.hpp b/external/boost/fusion/view/nview/nview.hpp new file mode 100644 index 000000000..e5a4be8ab --- /dev/null +++ b/external/boost/fusion/view/nview/nview.hpp @@ -0,0 +1,122 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_NVIEW_SEP_23_2009_0948PM) +#define BOOST_FUSION_NVIEW_SEP_23_2009_0948PM + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace fusion +{ + namespace detail + { + struct addref + { + template + struct result; + + template + struct result : add_reference {}; + +#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type + operator()(T& x) const + { + return x; + } +#else + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(T&& x) const + { + return x; + } +#endif + }; + + struct addconstref + { + template + struct result; + + template + struct result + : add_reference::type> + {}; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + operator()(T& x) const + { + return x; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference::type>::type + operator()(T const& x) const + { + return x; + } + }; + } + + struct nview_tag; + struct random_access_traversal_tag; + struct fusion_sequence_tag; + + template + struct nview + : sequence_base > + { + typedef nview_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef random_access_traversal_tag category; + + typedef mpl::true_ is_view; + typedef Indicies index_type; + typedef typename result_of::size::type size; + + typedef typename mpl::if_< + is_const, detail::addconstref, detail::addref + >::type transform_type; + typedef transform_view transform_view_type; + typedef typename result_of::as_vector::type + sequence_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit nview(Sequence& val) + : seq(sequence_type(transform_view_type(val, transform_type()))) + {} + + sequence_type seq; + }; + +}} + +// define the nview() generator functions +#include + +#endif + + diff --git a/external/boost/fusion/view/nview/nview_iterator.hpp b/external/boost/fusion/view/nview/nview_iterator.hpp new file mode 100644 index 000000000..42e634e52 --- /dev/null +++ b/external/boost/fusion/view/nview/nview_iterator.hpp @@ -0,0 +1,68 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM) +#define BOOST_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nview_iterator_tag; + struct random_access_traversal_tag; + + template + struct nview_iterator + : iterator_base > + { + typedef nview_iterator_tag fusion_tag; + typedef random_access_traversal_tag category; + + typedef Sequence sequence_type; + typedef Pos first_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit nview_iterator(Sequence& in_seq) + : seq(in_seq) {} + + Sequence& seq; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + nview_iterator& operator= (nview_iterator const&); + }; + +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::nview_iterator > + { }; +} +#endif + +#endif + + diff --git a/external/boost/fusion/view/repetitive_view.hpp b/external/boost/fusion/view/repetitive_view.hpp new file mode 100644 index 000000000..abc2fda53 --- /dev/null +++ b/external/boost/fusion/view/repetitive_view.hpp @@ -0,0 +1,16 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED) +#define BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED + +#include +#include +#include + +#endif + diff --git a/external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp new file mode 100644 index 000000000..9a27156c8 --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct repetitive_view_tag; + + template + struct repetitive_view_iterator; + + namespace extension + { + template + struct begin_impl; + + template<> + struct begin_impl + { + template + struct apply + { + typedef typename View::sequence_type sequence_type; + + typedef repetitive_view_iterator::type > type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(View const& v) + { + return type(v.seq); + } + }; + }; + + } + +}} + +#endif + diff --git a/external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp new file mode 100644 index 000000000..c96ef5eba --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED + +#include +#include + +namespace boost { namespace fusion +{ + struct repetitive_view_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template<> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::deref::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Iterator const& i) + { + return *i.pos; + } + }; + }; + + } + +}} + +#endif + diff --git a/external/boost/fusion/view/repetitive_view/detail/end_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/end_impl.hpp new file mode 100644 index 000000000..af1fa6ee4 --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/detail/end_impl.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct repetitive_view_tag; + + template + struct repetitive_view_iterator; + + namespace extension + { + template + struct end_impl; + + template<> + struct end_impl + { + template + struct apply + { + typedef typename View::sequence_type sequence_type; + + typedef repetitive_view_iterator::type > type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(View const& v) + { + return type(v.seq,end(v.seq)); + } + }; + }; + + } + +}} + +#endif + diff --git a/external/boost/fusion/view/repetitive_view/detail/next_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/next_impl.hpp new file mode 100644 index 000000000..fab754081 --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/detail/next_impl.hpp @@ -0,0 +1,94 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct repetitive_view_iterator_tag; + + template + struct repetitive_view_iterator; + + namespace extension + { + template + struct next_impl; + + template <> + struct next_impl + { + template::type>::value > + struct apply_nonempty // + { + // advanvce to next position + + typedef repetitive_view_iterator< + typename Iterator::sequence_type, + typename result_of::next::type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Iterator const& i) + { + return type(i.seq, next(i.pos)); + } + }; + template + struct apply_nonempty + { + // reset to beginning + + typedef repetitive_view_iterator< + typename Iterator::sequence_type, + typename Iterator::first_type + > + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Iterator const& i) + { + return type(i.seq); + } + }; + + template ::value > + struct apply // + : apply_nonempty + { }; + + template + struct apply + { + // eps^n = eps + + typedef Iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Iterator const& i) + { + return type(i); + } + }; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp new file mode 100644 index 000000000..234c9fb7f --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED + +#include +#include + +namespace boost { namespace fusion +{ + struct repetitive_view_iterator_tag; + + namespace extension + { + template + struct value_of_impl; + + template<> + struct value_of_impl + { + template + struct apply + : result_of::value_of + { }; + }; + } +}} + +#endif + diff --git a/external/boost/fusion/view/repetitive_view/repetitive_view.hpp b/external/boost/fusion/view/repetitive_view/repetitive_view.hpp new file mode 100644 index 000000000..32718e047 --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/repetitive_view.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED +#define BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED + +#include +#include +#include + +#include +#include + +#include +#include + + +namespace boost { namespace fusion +{ + struct repetitive_view_tag; + struct fusion_sequence_tag; + + template struct repetitive_view + : sequence_base< repetitive_view > + { + typedef repetitive_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::true_ is_view; + + typedef single_pass_traversal_tag category; + + typedef typename boost::remove_reference::type sequence_type; + typedef typename + mpl::if_, Sequence, sequence_type&>::type + stored_seq_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + repetitive_view(Sequence& in_seq) + : seq(in_seq) {} + + stored_seq_type seq; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + repetitive_view& operator= (repetitive_view const&); + }; + +}} + +#endif diff --git a/external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp b/external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp new file mode 100644 index 000000000..24e146c00 --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp @@ -0,0 +1,19 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_REPETITIVE_VIEW_FWD_HPP_INCLUDED) +#define BOOST_FUSION_REPETITIVE_VIEW_FWD_HPP_INCLUDED + +namespace boost { namespace fusion +{ + struct repetitive_view_tag; + + template struct repetitive_view; +}} + +#endif + diff --git a/external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp b/external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp new file mode 100644 index 000000000..74cc723e4 --- /dev/null +++ b/external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 2007 Tobias Schwinger + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED +#define BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct repetitive_view_iterator_tag; + + template::type> + struct repetitive_view_iterator + : iterator_base< repetitive_view_iterator > + { + typedef repetitive_view_iterator_tag fusion_tag; + + typedef Sequence sequence_type; + typedef typename convert_iterator::type pos_type; + typedef typename convert_iterator::type>::type first_type; + typedef typename convert_iterator::type>::type end_type; + typedef single_pass_traversal_tag category; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit repetitive_view_iterator(Sequence& in_seq) + : seq(in_seq), pos(begin(in_seq)) {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + repetitive_view_iterator(Sequence& in_seq, pos_type const& in_pos) + : seq(in_seq), pos(in_pos) {} + + Sequence& seq; + pos_type pos; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + repetitive_view_iterator& operator= (repetitive_view_iterator const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::repetitive_view_iterator > + { }; +} +#endif + +#endif + diff --git a/external/boost/fusion/view/reverse_view.hpp b/external/boost/fusion/view/reverse_view.hpp new file mode 100644 index 000000000..c0c1fd7c8 --- /dev/null +++ b/external/boost/fusion/view/reverse_view.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612) +#define FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/advance_impl.hpp b/external/boost/fusion/view/reverse_view/detail/advance_impl.hpp new file mode 100644 index 000000000..42b3bd190 --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/advance_impl.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADVANCE_IMPL_14122005_2015) +#define FUSION_ADVANCE_IMPL_14122005_2015 + +#include +#include +#include + +namespace boost { namespace fusion { + + struct reverse_view_iterator_tag; + + template + struct reverse_view_iterator; + + namespace extension + { + template + struct advance_impl; + + template<> + struct advance_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename mpl::negate::type negative_dist; + typedef typename result_of::advance::type advanced_type; + typedef reverse_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(boost::fusion::advance(i.first)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/at_impl.hpp b/external/boost/fusion/view/reverse_view/detail/at_impl.hpp new file mode 100644 index 000000000..d1fc7715e --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/at_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct at_impl; + + template <> + struct at_impl + { + template + struct apply + { + typedef mpl::minus, N> real_n; + + typedef typename + result_of::at::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return fusion::at(seq.seq); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/begin_impl.hpp b/external/boost/fusion/view/reverse_view/detail/begin_impl.hpp new file mode 100644 index 000000000..913725ede --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/begin_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_07202005_0849) +#define FUSION_BEGIN_IMPL_07202005_0849 + +namespace boost { namespace fusion +{ + struct reverse_view_tag; + + template + struct reverse_view_iterator; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef reverse_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence const& s) + { + return type(s.last()); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp b/external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp new file mode 100644 index 000000000..e93b8fba9 --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename + result_of::deref_data::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return fusion::deref_data(it.first); + } + }; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/deref_impl.hpp b/external/boost/fusion/view/reverse_view/detail/deref_impl.hpp new file mode 100644 index 000000000..9ea60d812 --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/deref_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_IMPL_07202005_0851) +#define FUSION_DEREF_IMPL_07202005_0851 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct reverse_view_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::deref< + typename result_of::prior< + typename Iterator::first_type + >::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return *fusion::prior(i.first); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/reverse_view/detail/distance_impl.hpp b/external/boost/fusion/view/reverse_view/detail/distance_impl.hpp new file mode 100644 index 000000000..49436c26b --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/distance_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DISTANCE_IMPL_14122005_2104) +#define FUSION_DISTANCE_IMPL_14122005_2104 + +#include +#include + +namespace boost { namespace fusion { + + struct reverse_view_iterator_tag; + + template + struct reverse_view_iterator; + + namespace extension + { + template + struct distance_impl; + + template<> + struct distance_impl + { + template + struct apply + { + typedef typename First::first_type first_type; + typedef typename Last::first_type last_type; + typedef typename result_of::distance::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& first, Last const& last) + { + return boost::fusion::distance(last.first, first.first); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/end_impl.hpp b/external/boost/fusion/view/reverse_view/detail/end_impl.hpp new file mode 100644 index 000000000..06602c0ed --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/end_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_07202005_0851) +#define FUSION_END_IMPL_07202005_0851 + +namespace boost { namespace fusion +{ + struct reverse_view_tag; + + template + struct reverse_view_iterator; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef reverse_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence const& s) + { + return type(s.first()); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp b/external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp new file mode 100644 index 000000000..985e5fa9c --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : result_of::key_of + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/next_impl.hpp b/external/boost/fusion/view/reverse_view/detail/next_impl.hpp new file mode 100644 index 000000000..58c1f5f71 --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/next_impl.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_IMPL_07202005_0856) +#define FUSION_NEXT_IMPL_07202005_0856 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct reverse_view_iterator_tag; + + template + struct reverse_view_iterator; + + namespace extension + { + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename prior_impl:: + template apply + wrapped; + + typedef reverse_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(wrapped::call(i.first)); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/reverse_view/detail/prior_impl.hpp b/external/boost/fusion/view/reverse_view/detail/prior_impl.hpp new file mode 100644 index 000000000..69d18501c --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/prior_impl.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PRIOR_IMPL_07202005_0857) +#define FUSION_PRIOR_IMPL_07202005_0857 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct reverse_view_iterator_tag; + + template + struct reverse_view_iterator; + + namespace extension + { + template <> + struct prior_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename next_impl:: + template apply + wrapped; + + typedef reverse_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(wrapped::call(i.first)); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp b/external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp new file mode 100644 index 000000000..76465fd74 --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP + +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + : result_of::value_at< + typename Seq::seq_type + , mpl::minus, N> + > + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp b/external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp new file mode 100644 index 000000000..a96d1ce36 --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : result_of::value_of_data + {}; + }; +}}} + +#endif diff --git a/external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp b/external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp new file mode 100644 index 000000000..ea171ba95 --- /dev/null +++ b/external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_OF_IMPL_07202005_0900) +#define FUSION_VALUE_OF_IMPL_07202005_0900 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct reverse_view_iterator_tag; + + namespace extension + { + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_of< + typename result_of::prior< + typename Iterator::first_type + >::type + >::type + type; + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/reverse_view/reverse_view.hpp b/external/boost/fusion/view/reverse_view/reverse_view.hpp new file mode 100644 index 000000000..0a9aca27f --- /dev/null +++ b/external/boost/fusion/view/reverse_view/reverse_view.hpp @@ -0,0 +1,72 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REVERSE_VIEW_07202005_0836) +#define FUSION_REVERSE_VIEW_07202005_0836 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct reverse_view_tag; + struct fusion_sequence_tag; + + template + struct reverse_view : sequence_base > + { + typedef reverse_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::true_ is_view; + + typedef Sequence seq_type; + typedef typename traits::category_of::type category; + typedef typename result_of::begin::type first_type; + typedef typename result_of::end::type last_type; + typedef typename result_of::size::type size; + + BOOST_STATIC_ASSERT(( + is_base_of< + bidirectional_traversal_tag + , typename traits::category_of::type>::value)); + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + reverse_view(Sequence& in_seq) + : seq(in_seq) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + first_type first() const { return fusion::begin(seq); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + last_type last() const { return fusion::end(seq); } + typename mpl::if_, Sequence, Sequence&>::type seq; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + reverse_view& operator= (reverse_view const&); + }; +}} + +#endif + + diff --git a/external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp b/external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp new file mode 100644 index 000000000..a73e4eeaf --- /dev/null +++ b/external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp @@ -0,0 +1,67 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_REVERSE_VIEW_ITERATOR_07202005_0835) +#define FUSION_REVERSE_VIEW_ITERATOR_07202005_0835 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct reverse_view_iterator_tag; + + template + struct reverse_view_iterator + : iterator_base > + { + typedef convert_iterator converter; + typedef typename converter::type first_type; + typedef reverse_view_iterator_tag fusion_tag; + typedef typename traits::category_of::type category; + + BOOST_STATIC_ASSERT(( + is_base_of< + bidirectional_traversal_tag + , category>::value)); + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + reverse_view_iterator(First const& in_first) + : first(converter::call(in_first)) {} + + first_type first; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + reverse_view_iterator& operator= (reverse_view_iterator const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::reverse_view_iterator > + { }; +} +#endif + +#endif + diff --git a/external/boost/fusion/view/single_view.hpp b/external/boost/fusion/view/single_view.hpp new file mode 100644 index 000000000..a3a3e9185 --- /dev/null +++ b/external/boost/fusion/view/single_view.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SINGLE_VIEW_03192006_2216) +#define FUSION_SINGLE_VIEW_03192006_2216 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/single_view/detail/advance_impl.hpp b/external/boost/fusion/view/single_view/detail/advance_impl.hpp new file mode 100644 index 000000000..5af22321b --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/advance_impl.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM + +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + template + struct single_view_iterator; + + namespace extension + { + template + struct advance_impl; + + template<> + struct advance_impl + { + template + struct apply + { + typedef single_view_iterator< + typename Iterator::single_view_type, + typename mpl::plus::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.view); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/single_view/detail/at_impl.hpp b/external/boost/fusion/view/single_view/detail/at_impl.hpp new file mode 100644 index 000000000..6c4c7579b --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/at_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_tag; + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + BOOST_MPL_ASSERT((mpl::equal_to >)); + typedef typename Sequence::value_type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return seq.val; + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/single_view/detail/begin_impl.hpp b/external/boost/fusion/view/single_view/detail/begin_impl.hpp new file mode 100644 index 000000000..d6bca8f6b --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/begin_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305) +#define BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305 + +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_tag; + + template + struct single_view_iterator; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef single_view_iterator > type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return type(seq); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/single_view/detail/deref_impl.hpp b/external/boost/fusion/view/single_view/detail/deref_impl.hpp new file mode 100644 index 000000000..acb90d836 --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/deref_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258) +#define BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + BOOST_MPL_ASSERT((mpl::equal_to >)); + typedef typename Iterator::value_type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return i.view.val; + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/single_view/detail/distance_impl.hpp b/external/boost/fusion/view/single_view/detail/distance_impl.hpp new file mode 100644 index 000000000..9cd85fdc3 --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/distance_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM + +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + namespace extension + { + template + struct distance_impl; + + template<> + struct distance_impl + { + template + struct apply + : mpl::minus + { + typedef typename mpl::minus::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& /*first*/, Last const& /*last*/) + { + return type(); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/single_view/detail/end_impl.hpp b/external/boost/fusion/view/single_view/detail/end_impl.hpp new file mode 100644 index 000000000..d662ac246 --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/end_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332) +#define BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332 + +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_tag; + + template + struct single_view_iterator; + + namespace extension + { + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef single_view_iterator > type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return type(seq); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/single_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/single_view/detail/equal_to_impl.hpp new file mode 100644 index 000000000..a14b4c512 --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/equal_to_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + namespace extension + { + template + struct equal_to_impl; + + template<> + struct equal_to_impl + { + template + struct apply + : mpl::equal_to + { + BOOST_MPL_ASSERT((is_same::type, + typename add_const::type>)); + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/single_view/detail/next_impl.hpp b/external/boost/fusion/view/single_view/detail/next_impl.hpp new file mode 100644 index 000000000..55a4ff11b --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/next_impl.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331) +#define BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331 + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + template + struct single_view_iterator; + + namespace extension + { + template + struct next_impl; + + template <> + struct next_impl + { + template + struct apply + { + typedef single_view_iterator< + typename Iterator::single_view_type, + typename mpl::next::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + // Workaround for ICE on GCC 4.0.0. + // see https://svn.boost.org/trac/boost/ticket/5808 + typedef typename type::position position; + BOOST_STATIC_ASSERT((position::value < 2)); + return type(i.view); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/single_view/detail/prior_impl.hpp b/external/boost/fusion/view/single_view/detail/prior_impl.hpp new file mode 100644 index 000000000..823f96e5a --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/prior_impl.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM + +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + template + struct single_view_iterator; + + namespace extension + { + template + struct prior_impl; + + template <> + struct prior_impl + { + template + struct apply + { + typedef single_view_iterator< + typename Iterator::single_view_type, + typename mpl::prior::type> + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(i.view); + } + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/single_view/detail/size_impl.hpp b/external/boost/fusion/view/single_view/detail/size_impl.hpp new file mode 100644 index 000000000..eba89cdd8 --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/size_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM) +#define FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM + +namespace boost { namespace fusion +{ + struct single_view_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + { + typedef mpl::int_<1> type; + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/single_view/detail/value_at_impl.hpp b/external/boost/fusion/view/single_view/detail/value_at_impl.hpp new file mode 100644 index 000000000..b5721b84b --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/value_at_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_tag; + + namespace extension + { + template + struct value_at_impl; + + template<> + struct value_at_impl + { + template + struct apply + { + BOOST_MPL_ASSERT((mpl::equal_to >)); + typedef typename Sequence::value_type type; + }; + }; + } + +}} + +#endif diff --git a/external/boost/fusion/view/single_view/detail/value_of_impl.hpp b/external/boost/fusion/view/single_view/detail/value_of_impl.hpp new file mode 100644 index 000000000..dfb345c8c --- /dev/null +++ b/external/boost/fusion/view/single_view/detail/value_of_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324) +#define BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + namespace extension + { + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + BOOST_MPL_ASSERT((mpl::equal_to >)); + typedef typename Iterator::value_type type; + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/single_view/single_view.hpp b/external/boost/fusion/view/single_view/single_view.hpp new file mode 100644 index 000000000..a4437902c --- /dev/null +++ b/external/boost/fusion/view/single_view/single_view.hpp @@ -0,0 +1,72 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_05052005_0335) +#define BOOST_FUSION_SINGLE_VIEW_05052005_0335 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + struct single_view_tag; + struct random_access_traversal_tag; + struct fusion_sequence_tag; + + template + struct single_view : sequence_base > + { + typedef single_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef random_access_traversal_tag category; + typedef mpl::true_ is_view; + typedef mpl::int_<1> size; + typedef T value_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + single_view() + : val() {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit single_view(typename detail::call_param::type in_val) + : val(in_val) {} + + value_type val; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline single_view::type> + make_single_view(T const& v) + { + return single_view::type>(v); + } +}} + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif + + diff --git a/external/boost/fusion/view/single_view/single_view_iterator.hpp b/external/boost/fusion/view/single_view/single_view_iterator.hpp new file mode 100644 index 000000000..0f3e2744b --- /dev/null +++ b/external/boost/fusion/view/single_view/single_view_iterator.hpp @@ -0,0 +1,69 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340) +#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined (BOOST_MSVC) +# pragma warning(push) +# pragma warning (disable: 4512) // assignment operator could not be generated. +#endif + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + struct random_access_traversal_tag; + + template + struct single_view_iterator + : iterator_base > + { + typedef single_view_iterator_tag fusion_tag; + typedef random_access_traversal_tag category; + typedef typename SingleView::value_type value_type; + typedef Pos position; + typedef SingleView single_view_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit single_view_iterator(single_view_type& in_view) + : view(in_view) {} + + SingleView& view; + + private: + single_view_iterator& operator=(single_view_iterator const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::single_view_iterator > + { }; +} +#endif + +#if defined (BOOST_MSVC) +# pragma warning(pop) +#endif + +#endif + + diff --git a/external/boost/fusion/view/transform_view.hpp b/external/boost/fusion/view/transform_view.hpp new file mode 100644 index 000000000..57ff612a7 --- /dev/null +++ b/external/boost/fusion/view/transform_view.hpp @@ -0,0 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612) +#define FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/transform_view/detail/advance_impl.hpp b/external/boost/fusion/view/transform_view/detail/advance_impl.hpp new file mode 100644 index 000000000..12dfabec9 --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/advance_impl.hpp @@ -0,0 +1,78 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADVANCE_IMPL_13122005_1906) +#define FUSION_ADVANCE_IMPL_13122005_1906 + +#include +#include + +namespace boost { namespace fusion +{ + struct transform_view_iterator_tag; + struct transform_view_iterator2_tag; + + template + struct transform_view_iterator; + + template + struct transform_view_iterator2; + + namespace extension + { + template + struct advance_impl; + + // Unary Version + template<> + struct advance_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename result_of::advance::type advanced_type; + typedef typename Iterator::transform_type transform_type; + typedef transform_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(boost::fusion::advance(i.first), i.f); + } + }; + }; + + // Binary Version + template<> + struct advance_impl + { + template + struct apply + { + typedef typename Iterator::first1_type first1_type; + typedef typename Iterator::first2_type first2_type; + typedef typename result_of::advance::type advanced1_type; + typedef typename result_of::advance::type advanced2_type; + typedef typename Iterator::transform_type transform_type; + typedef transform_view_iterator2 type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type( + boost::fusion::advance(i.first1) + , boost::fusion::advance(i.first2), i.f); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp b/external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp new file mode 100644 index 000000000..87c057f23 --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp @@ -0,0 +1,38 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936) +#define BOOST_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936 + +#include +#include + +namespace boost { namespace fusion +{ + struct void_; + + namespace detail + { + template + struct apply_transform_result + { + template + struct apply + : boost::result_of + {}; + + template + struct apply + : boost::result_of + {}; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/detail/at_impl.hpp b/external/boost/fusion/view/transform_view/detail/at_impl.hpp new file mode 100644 index 000000000..d2045bc28 --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/at_impl.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_IMPL_20061029_1946) +#define BOOST_FUSION_AT_IMPL_20061029_1946 + +#include +#include +#include +#include + +namespace boost { namespace fusion { + struct transform_view_tag; + struct transform_view2_tag; + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename Seq::transform_type F; + typedef detail::apply_transform_result transform_type; + typedef typename boost::fusion::result_of::at::type value_type; + typedef typename mpl::apply::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Seq& seq) + { + return seq.f(boost::fusion::at(seq.seq)); + } + }; + }; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename Seq::transform_type F; + typedef detail::apply_transform_result transform_type; + typedef typename boost::fusion::result_of::at::type value1_type; + typedef typename boost::fusion::result_of::at::type value2_type; + typedef typename mpl::apply::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Seq& seq) + { + return seq.f(boost::fusion::at(seq.seq1), boost::fusion::at(seq.seq2)); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/transform_view/detail/begin_impl.hpp b/external/boost/fusion/view/transform_view/detail/begin_impl.hpp new file mode 100644 index 000000000..da3f763ab --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/begin_impl.hpp @@ -0,0 +1,71 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_07162005_1031) +#define FUSION_BEGIN_IMPL_07162005_1031 + +#include +#include + +namespace boost { namespace fusion +{ + template + struct transform_view_iterator; + + template + struct transform_view_iterator2; + + namespace extension + { + template + struct begin_impl; + + // Unary Version + template <> + struct begin_impl + { + template + struct apply + { + typedef typename Sequence::first_type first_type; + typedef typename Sequence::transform_type transform_type; + typedef transform_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return type(s.first(), s.f); + } + }; + }; + + // Binary Version + template <> + struct begin_impl + { + template + struct apply + { + typedef typename Sequence::first1_type first1_type; + typedef typename Sequence::first2_type first2_type; + typedef typename Sequence::transform_type transform_type; + typedef transform_view_iterator2 type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return type(s.first1(), s.first2(), s.f); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/detail/deref_impl.hpp b/external/boost/fusion/view/transform_view/detail/deref_impl.hpp new file mode 100644 index 000000000..646da57c2 --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/deref_impl.hpp @@ -0,0 +1,79 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_IMPL_07162005_1026) +#define FUSION_DEREF_IMPL_07162005_1026 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct transform_view_iterator_tag; + struct transform_view_iterator2_tag; + + namespace extension + { + template + struct deref_impl; + + // Unary Version + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::deref::type + value_type; + + typedef detail::apply_transform_result transform_type; + typedef typename mpl::apply::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return i.f(*i.first); + } + }; + }; + + // Binary Version + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::deref::type + value1_type; + typedef typename + result_of::deref::type + value2_type; + + typedef detail::apply_transform_result transform_type; + typedef typename mpl::apply::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return i.f(*i.first1, *i.first2); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/detail/distance_impl.hpp b/external/boost/fusion/view/transform_view/detail/distance_impl.hpp new file mode 100644 index 000000000..644430559 --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/distance_impl.hpp @@ -0,0 +1,62 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DISTANCE_IMPL_13122005_2139) +#define FUSION_DISTANCE_IMPL_13122005_2139 + +#include +#include + +namespace boost { namespace fusion { + + struct transform_view_iterator_tag; + struct transform_view_iterator2_tag; + + namespace extension + { + template + struct distance_impl; + + // Unary Version + template<> + struct distance_impl + { + template + struct apply + : result_of::distance + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static + typename result_of::distance::type + call(First const& first, Last const& last) + { + return boost::fusion::distance(first.first, last.first); + } + }; + }; + + // Binary Version + template<> + struct distance_impl + { + template + struct apply + : result_of::distance + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static + typename result_of::distance::type + call(First const& first, Last const& last) + { + return boost::fusion::distance(first.first1, last.first1); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/transform_view/detail/end_impl.hpp b/external/boost/fusion/view/transform_view/detail/end_impl.hpp new file mode 100644 index 000000000..3a84e0409 --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/end_impl.hpp @@ -0,0 +1,71 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_07162005_1028) +#define FUSION_END_IMPL_07162005_1028 + +#include +#include + +namespace boost { namespace fusion +{ + template + struct transform_view_iterator; + + template + struct transform_view_iterator2; + + namespace extension + { + template + struct end_impl; + + // Unary Version + template <> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::last_type last_type; + typedef typename Sequence::transform_type transform_type; + typedef transform_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return type(s.last(), s.f); + } + }; + }; + + // Binary Version + template <> + struct end_impl + { + template + struct apply + { + typedef typename Sequence::last1_type last1_type; + typedef typename Sequence::last2_type last2_type; + typedef typename Sequence::transform_type transform_type; + typedef transform_view_iterator2 type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& s) + { + return type(s.last1(), s.last2(), s.f); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp new file mode 100644 index 000000000..c4c6815ec --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957) +#define BOOST_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957 + +#include +#include + +namespace boost { namespace fusion { + + struct transform_view_iterator_tag; + struct transform_view_iterator2_tag; + + namespace extension + { + template + struct equal_to_impl; + + template<> + struct equal_to_impl + { + template + struct apply + : result_of::equal_to + {}; + }; + + template<> + struct equal_to_impl + { + template + struct apply + : result_of::equal_to + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/transform_view/detail/next_impl.hpp b/external/boost/fusion/view/transform_view/detail/next_impl.hpp new file mode 100644 index 000000000..ce22d19ed --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/next_impl.hpp @@ -0,0 +1,77 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_IMPL_07162005_1029) +#define FUSION_NEXT_IMPL_07162005_1029 + +#include +#include + +namespace boost { namespace fusion +{ + struct transform_view_iterator_tag; + struct transform_view_iterator2_tag; + + template + struct transform_view_iterator; + + template + struct transform_view_iterator2; + + namespace extension + { + template + struct next_impl; + + // Unary Version + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename result_of::next::type next_type; + typedef typename Iterator::transform_type transform_type; + typedef transform_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::next(i.first), i.f); + } + }; + }; + + // Binary Version + template <> + struct next_impl + { + template + struct apply + { + typedef typename Iterator::first1_type first1_type; + typedef typename Iterator::first2_type first2_type; + typedef typename result_of::next::type next1_type; + typedef typename result_of::next::type next2_type; + typedef typename Iterator::transform_type transform_type; + typedef transform_view_iterator2 type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::next(i.first1), fusion::next(i.first2), i.f); + } + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/detail/prior_impl.hpp b/external/boost/fusion/view/transform_view/detail/prior_impl.hpp new file mode 100644 index 000000000..ed6d742ee --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/prior_impl.hpp @@ -0,0 +1,76 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PREV_IMPL_13122005_2110) +#define FUSION_PREV_IMPL_13122005_2110 + +#include +#include + +namespace boost { namespace fusion +{ + struct transform_view_iterator_tag; + struct transform_view_iterator2_tag; + + template + struct transform_view_iterator; + + template + struct transform_view_iterator2; + + namespace extension + { + template + struct prior_impl; + + // Unary Version + template<> + struct prior_impl + { + template + struct apply + { + typedef typename Iterator::first_type first_type; + typedef typename result_of::prior::type prior_type; + typedef typename Iterator::transform_type transform_type; + typedef transform_view_iterator type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::prior(i.first), i.f); + } + }; + }; + + // Binary Version + template<> + struct prior_impl + { + template + struct apply + { + typedef typename Iterator::first1_type first1_type; + typedef typename Iterator::first2_type first2_type; + typedef typename result_of::prior::type prior1_type; + typedef typename result_of::prior::type prior2_type; + typedef typename Iterator::transform_type transform_type; + typedef transform_view_iterator2 type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return type(fusion::prior(i.first1), fusion::prior(i.first2), i.f); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/transform_view/detail/value_at_impl.hpp b/external/boost/fusion/view/transform_view/detail/value_at_impl.hpp new file mode 100644 index 000000000..6875cbed0 --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/value_at_impl.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VALUE_AT_IMPL_20061101_0745) +#define BOOST_FUSION_VALUE_AT_IMPL_20061101_0745 + +#include +#include +#include +#include + +namespace boost { namespace fusion { + struct transform_view_tag; + struct transform_view2_tag; + + namespace extension + { + template + struct value_at_impl; + + template<> + struct value_at_impl + { + template + struct apply + { + typedef typename Seq::transform_type F; + typedef detail::apply_transform_result transform_type; + typedef typename boost::fusion::result_of::value_at::type value_type; + typedef typename mpl::apply::type type; + }; + }; + + template<> + struct value_at_impl + { + template + struct apply + { + typedef typename Seq::transform_type F; + typedef detail::apply_transform_result transform_type; + typedef typename boost::fusion::result_of::value_at::type value1_type; + typedef typename boost::fusion::result_of::value_at::type value2_type; + typedef typename mpl::apply::type type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/transform_view/detail/value_of_impl.hpp b/external/boost/fusion/view/transform_view/detail/value_of_impl.hpp new file mode 100644 index 000000000..ae20cd4ba --- /dev/null +++ b/external/boost/fusion/view/transform_view/detail/value_of_impl.hpp @@ -0,0 +1,64 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_OF_IMPL_07162005_1030) +#define FUSION_VALUE_OF_IMPL_07162005_1030 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct transform_view_iterator_tag; + struct transform_view_iterator2_tag; + + namespace extension + { + template + struct value_of_impl; + + // Unary Version + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_of::type + value_type; + + typedef detail::apply_transform_result transform_type; + typedef typename mpl::apply::type type; + }; + }; + + // Binary Version + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_of::type + value1_type; + typedef typename + result_of::value_of::type + value2_type; + + typedef detail::apply_transform_result transform_type; + typedef typename mpl::apply::type type; + }; + }; + } +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/transform_view.hpp b/external/boost/fusion/view/transform_view/transform_view.hpp new file mode 100644 index 000000000..4a6fc5b18 --- /dev/null +++ b/external/boost/fusion/view/transform_view/transform_view.hpp @@ -0,0 +1,124 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TRANSFORM_VIEW_07162005_1037) +#define FUSION_TRANSFORM_VIEW_07162005_1037 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct void_; + struct transform_view_tag; + struct transform_view2_tag; + struct fusion_sequence_tag; + + // Binary Version + template + struct transform_view : sequence_base > + { + BOOST_STATIC_ASSERT(result_of::size::value == result_of::size::value); + typedef transform_view2_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::true_ is_view; + + typedef typename traits::category_of::type category1; + typedef typename traits::category_of::type category2; + typedef typename detail::strictest_traversal< + fusion::vector2 >::type category; + typedef typename result_of::begin::type first1_type; + typedef typename result_of::begin::type first2_type; + typedef typename result_of::end::type last1_type; + typedef typename result_of::end::type last2_type; + typedef typename result_of::size::type size; + typedef Sequence1 sequence1_type; + typedef Sequence2 sequence2_type; + typedef F transform_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + transform_view(Sequence1& in_seq1, Sequence2& in_seq2, F const& binop) + : f(binop) + , seq1(in_seq1) + , seq2(in_seq2) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + first1_type first1() const { return fusion::begin(seq1); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + first2_type first2() const { return fusion::begin(seq2); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + last1_type last1() const { return fusion::end(seq1); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + last2_type last2() const { return fusion::end(seq2); } + + transform_type f; + typename mpl::if_, Sequence1, Sequence1&>::type seq1; + typename mpl::if_, Sequence2, Sequence2&>::type seq2; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + transform_view& operator= (transform_view const&); + }; + + // Unary Version + template +#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) + struct transform_view : sequence_base > +#else + struct transform_view : sequence_base > +#endif + { + typedef transform_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::true_ is_view; + + typedef typename traits::category_of::type category; + typedef typename result_of::begin::type first_type; + typedef typename result_of::end::type last_type; + typedef typename result_of::size::type size; + typedef Sequence sequence_type; + typedef F transform_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + transform_view(Sequence& in_seq, F const& in_f) + : seq(in_seq) + , f(in_f) + {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + first_type first() const { return fusion::begin(seq); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + last_type last() const { return fusion::end(seq); } + typename mpl::if_, Sequence, Sequence&>::type seq; + transform_type f; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + transform_view& operator= (transform_view const&); + }; +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/transform_view_fwd.hpp b/external/boost/fusion/view/transform_view/transform_view_fwd.hpp new file mode 100644 index 000000000..c52cf6e1c --- /dev/null +++ b/external/boost/fusion/view/transform_view/transform_view_fwd.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TRANSFORM_VIEW_FORWARD_01052006_1839) +#define FUSION_TRANSFORM_VIEW_FORWARD_01052006_1839 + +namespace boost { namespace fusion +{ + struct void_; + struct transform_view_tag; + struct transform_view2_tag; + + template + struct transform_view; +}} + +#endif + + diff --git a/external/boost/fusion/view/transform_view/transform_view_iterator.hpp b/external/boost/fusion/view/transform_view/transform_view_iterator.hpp new file mode 100644 index 000000000..ab40bd748 --- /dev/null +++ b/external/boost/fusion/view/transform_view/transform_view_iterator.hpp @@ -0,0 +1,92 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033) +#define FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + // Unary Version + struct transform_view_iterator_tag; + + template + struct transform_view_iterator + : iterator_base > + { + typedef transform_view_iterator_tag fusion_tag; + typedef convert_iterator converter; + typedef typename converter::type first_type; + typedef typename traits::category_of::type category; + typedef F transform_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + transform_view_iterator(First const& in_first, F const& in_f) + : first(converter::call(in_first)), f(in_f) {} + + first_type first; + transform_type f; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + transform_view_iterator& operator= (transform_view_iterator const&); + }; + + // Binary Version + struct transform_view_iterator2_tag; + + template + struct transform_view_iterator2 + : iterator_base > + { + typedef transform_view_iterator2_tag fusion_tag; + typedef convert_iterator converter1; + typedef convert_iterator converter2; + typedef typename converter1::type first1_type; + typedef typename converter2::type first2_type; + typedef typename traits::category_of::type category; + typedef F transform_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + transform_view_iterator2(First1 const& in_first1, First2 const& in_first2, F const& in_f) + : first1(converter1::call(in_first1)), first2(converter2::call(in_first2)), f(in_f) {} + + first1_type first1; + first2_type first2; + transform_type f; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + transform_view_iterator2& operator= (transform_view_iterator2 const&); + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::transform_view_iterator > + { }; + template + struct iterator_traits< ::boost::fusion::transform_view_iterator2 > + { }; +} +#endif + +#endif + diff --git a/external/boost/fusion/view/zip_view.hpp b/external/boost/fusion/view/zip_view.hpp new file mode 100644 index 000000000..5376f9992 --- /dev/null +++ b/external/boost/fusion/view/zip_view.hpp @@ -0,0 +1,15 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ZIP_VIEW_23012006_0811) +#define FUSION_ZIP_VIEW_23012006_0811 + +#include +#include +#include + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/advance_impl.hpp b/external/boost/fusion/view/zip_view/detail/advance_impl.hpp new file mode 100644 index 000000000..69134d949 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/advance_impl.hpp @@ -0,0 +1,72 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ADVANCE_IMPL_20061024_2021) +#define FUSION_ADVANCE_IMPL_20061024_2021 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_iterator_tag; + + namespace detail + { + template + struct poly_advance + { + template + struct result; + + template + struct result(It)> + { + typedef typename remove_reference::type it; + typedef typename result_of::advance::type type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(const It& it) const + { + return fusion::advance(it); + } + }; + } + + namespace extension + { + template + struct advance_impl; + + template<> + struct advance_impl + { + template + struct apply + { + typedef zip_view_iterator< + typename result_of::transform >::type> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return type( + fusion::transform(it.iterators_, detail::poly_advance())); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/at_impl.hpp b/external/boost/fusion/view/zip_view/detail/at_impl.hpp new file mode 100644 index 000000000..55c0fef17 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/at_impl.hpp @@ -0,0 +1,97 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_AT_IMPL_20060124_1933) +#define FUSION_AT_IMPL_20060124_1933 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace boost { namespace fusion +{ + struct zip_view_tag; + + namespace detail + { + template + struct poly_at + { + template + struct result; + + template + struct result(SeqRef)> + : mpl::eval_if, + mpl::identity, + result_of::at::type, N> > + { + BOOST_MPL_ASSERT((is_reference)); + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq& seq) const + { + return fusion::at(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq const& seq) const + { + return fusion::at(seq); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type operator()(unused_type const&) const + { + return unused_type(); + } + }; + } + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename result_of::as_vector< + typename result_of::transform< + typename Seq::sequences, detail::poly_at >::type>::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Seq& seq) + { + return type( + fusion::transform(seq.sequences_, detail::poly_at())); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/begin_impl.hpp b/external/boost/fusion/view/zip_view/detail/begin_impl.hpp new file mode 100644 index 000000000..75e137513 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/begin_impl.hpp @@ -0,0 +1,97 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_BEGIN_IMPL_20060123_2147) +#define FUSION_BEGIN_IMPL_20060123_2147 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_tag; + + namespace detail + { + struct poly_begin + { + template + struct result; + + template + struct result + : mpl::eval_if, + mpl::identity, + result_of::begin::type> > + { + BOOST_MPL_ASSERT((is_reference)); + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq& seq) const + { + return fusion::begin(seq); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq const& seq) const + { + return fusion::begin(seq); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type operator()(unused_type const&) const + { + return unused_type(); + } + }; + } + + namespace extension + { + template + struct begin_impl; + + template<> + struct begin_impl + { + template + struct apply + { + typedef zip_view_iterator< + typename result_of::transform::type, + typename Sequence::category> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& sequence) + { + return type( + fusion::transform(sequence.sequences_, detail::poly_begin())); + } + }; + + + + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/deref_impl.hpp b/external/boost/fusion/view/zip_view/detail/deref_impl.hpp new file mode 100644 index 000000000..df7e91ae1 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/deref_impl.hpp @@ -0,0 +1,87 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DEREF_IMPL_20061024_1959) +#define FUSION_DEREF_IMPL_20061024_1959 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_iterator_tag; + + namespace detail + { + struct poly_deref + { + template + struct result; + + template + struct result + { + typedef typename remove_const< + typename remove_reference::type>::type it; + + typedef typename mpl::eval_if, + mpl::identity, + result_of::deref >::type type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(const It& it) const + { + return fusion::deref(it); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type operator()(unused_type const&) const + { + return unused_type(); + } + }; + } + + namespace extension + { + template + struct deref_impl; + + template<> + struct deref_impl + { + template + struct apply + { + typedef typename result_of::as_vector< + typename result_of::transform::type>::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(It const& it) + { + return type( + fusion::transform(it.iterators_, detail::poly_deref())); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/distance_impl.hpp b/external/boost/fusion/view/zip_view/detail/distance_impl.hpp new file mode 100644 index 000000000..f306e1b4a --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/distance_impl.hpp @@ -0,0 +1,84 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_DISTANCE_IMPL_20060124_2033) +#define FUSION_DISTANCE_IMPL_20060124_2033 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_iterator_tag; + + struct random_access_iterator_tag; + + namespace detail + { + template + struct best_distance + { + typedef typename result_of::find_if< + typename SearchIt::iterators, is_same, random_access_iterator_tag> > finder; + + BOOST_MPL_ASSERT_NOT((is_same >)); + + typedef typename result_of::distance::type type; + }; + + template + struct default_distance + : result_of::distance< + typename result_of::value_at_c::type, + typename result_of::value_at_c::type> + {}; + + template + struct zip_view_iterator_distance + { + typedef typename result_of::find_if< + typename It1::iterators, is_same, random_access_iterator_tag> > finder; + + typedef typename mpl::eval_if< + is_same::type>, + detail::default_distance , + detail::best_distance >::type type; + }; + } + + namespace extension + { + template + struct distance_impl; + + template<> + struct distance_impl + { + template + struct apply + : detail::zip_view_iterator_distance::type + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename detail::zip_view_iterator_distance::type + call(It1 const& /*it1*/, It2 const& /*it2*/) + { + return typename detail::zip_view_iterator_distance::type(); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/end_impl.hpp b/external/boost/fusion/view/zip_view/detail/end_impl.hpp new file mode 100644 index 000000000..28549cb7d --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/end_impl.hpp @@ -0,0 +1,108 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_END_IMPL_20060123_2208) +#define FUSION_END_IMPL_20060123_2208 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_tag; + + namespace detail + { + template + struct get_endpoint + { + typedef typename remove_reference::type Seq; + typedef typename result_of::begin::type begin; + typedef typename result_of::advance::type type; + }; + + template + struct endpoints + { + template + struct result; + + template + struct result(SeqRef)> + : mpl::eval_if, + mpl::identity, + get_endpoint > + { + BOOST_MPL_ASSERT((is_reference)); + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq& seq) const + { + return fusion::advance(fusion::begin(seq)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq const& seq) const + { + return fusion::advance(fusion::begin(seq)); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type operator()(unused_type const&) const + { + return unused_type(); + } + }; + } + + namespace extension + { + template + struct end_impl; + + template<> + struct end_impl + { + template + struct apply + { + typedef zip_view_iterator< + typename result_of::transform >::type, + typename Sequence::category> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& sequence) + { + return type( + fusion::transform(sequence.sequences_, detail::endpoints())); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp new file mode 100644 index 000000000..6292a525f --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp @@ -0,0 +1,63 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_EQUAL_TO_IMPL_20060128_1423) +#define FUSION_EQUAL_TO_IMPL_20060128_1423 + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +namespace boost { namespace fusion { + + struct zip_view_iterator_tag; + + namespace detail + { + template + struct zip_iterators_equal + { + typedef mpl::zip_view > zipped; + typedef mpl::transform_view > > transformed; + + typedef typename mpl::find_if >::type found; + + typedef typename is_same::type, found>::type type; + }; + } + + namespace extension + { + template + struct equal_to_impl; + + template<> + struct equal_to_impl + { + template + struct apply + : detail::zip_iterators_equal::type + {}; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/next_impl.hpp b/external/boost/fusion/view/zip_view/detail/next_impl.hpp new file mode 100644 index 000000000..4bcd90a5a --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/next_impl.hpp @@ -0,0 +1,87 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_NEXT_IMPL_20060124_2006) +#define FUSION_NEXT_IMPL_20060124_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_iterator_tag; + + namespace detail + { + struct poly_next + { + template + struct result; + + template + struct result + { + typedef typename remove_const< + typename remove_reference::type>::type it; + + typedef typename mpl::eval_if, + mpl::identity, + result_of::next >::type type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(const It& it) const + { + return fusion::next(it); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type operator()(unused_type const&) const + { + return unused_type(); + } + }; + } + + namespace extension + { + template + struct next_impl; + + template<> + struct next_impl + { + template + struct apply + { + typedef fusion::zip_view_iterator< + typename result_of::transform::type, + typename Iterator::category> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& it) + { + return type( + fusion::transform(it.iterators_, detail::poly_next())); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/prior_impl.hpp b/external/boost/fusion/view/zip_view/detail/prior_impl.hpp new file mode 100644 index 000000000..655b50923 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/prior_impl.hpp @@ -0,0 +1,87 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_PRIOR_IMPL_20060124_2006) +#define FUSION_PRIOR_IMPL_20060124_2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_iterator_tag; + + namespace detail + { + struct poly_prior + { + template + struct result; + + template + struct result + { + typedef typename remove_const< + typename remove_reference::type>::type it; + typedef typename mpl::eval_if, + mpl::identity, + result_of::prior >::type type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(const It& it) const + { + return fusion::prior(it); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type operator()(unused_type const&) const + { + return unused_type(); + } + }; + } + + namespace extension + { + template + struct prior_impl; + + template<> + struct prior_impl + { + template + struct apply + { + typedef zip_view_iterator< + typename result_of::transform::type, + typename Iterator::category> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& it) + + { + return type( + fusion::transform(it.iterators_, detail::poly_prior())); + } + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/size_impl.hpp b/external/boost/fusion/view/zip_view/detail/size_impl.hpp new file mode 100644 index 000000000..f8f356925 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/size_impl.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SIZE_IMPL_20060124_0800) +#define FUSION_SIZE_IMPL_20060124_0800 + +namespace boost { namespace fusion { + + struct zip_view_tag; + + namespace extension + { + template + struct size; + + template + struct size_impl; + + template<> + struct size_impl + { + template + struct apply + { + typedef typename Sequence::size type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/value_at_impl.hpp b/external/boost/fusion/view/zip_view/detail/value_at_impl.hpp new file mode 100644 index 000000000..26d75b469 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/value_at_impl.hpp @@ -0,0 +1,71 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_AT_IMPL_20060124_2129) +#define FUSION_VALUE_AT_IMPL_20060124_2129 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { + + struct zip_view_tag; + + namespace detail + { + template + struct poly_value_at + { + template + struct result; + + template + struct result(Seq)> + : mpl::eval_if, + mpl::identity, + result_of::value_at::type, N> > + {}; + + // never called, but needed for decltype-based result_of (C++0x) +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + template + BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq&&) const; +#endif + }; + } + + namespace extension + { + template + struct value_at_impl; + + template<> + struct value_at_impl + { + template + struct apply + { + typedef typename result_of::transform< + typename Sequence::sequences, + detail::poly_value_at >::type values; + typedef typename result_of::as_vector::type type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/detail/value_of_impl.hpp b/external/boost/fusion/view/zip_view/detail/value_of_impl.hpp new file mode 100644 index 000000000..0c06e0e10 --- /dev/null +++ b/external/boost/fusion/view/zip_view/detail/value_of_impl.hpp @@ -0,0 +1,71 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_VALUE_OF_IMPL_20060124_2147) +#define FUSION_VALUE_OF_IMPL_20060124_2147 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct zip_view_iterator_tag; + + namespace detail + { + struct poly_value_of + { + template + struct result; + + template + struct result + : mpl::eval_if, + mpl::identity, + result_of::value_of > + {}; + + // never called, but needed for decltype-based result_of (C++0x) +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + template + BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(It&&) const; +#endif + }; + } + + namespace extension + { + template + struct value_of_impl; + + template<> + struct value_of_impl + { + template + struct apply + { + typedef typename result_of::transform< + typename Iterator::iterators, + detail::poly_value_of>::type values; + + typedef typename result_of::as_vector::type type; + }; + }; + } +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/zip_view.hpp b/external/boost/fusion/view/zip_view/zip_view.hpp new file mode 100644 index 000000000..b03272015 --- /dev/null +++ b/external/boost/fusion/view/zip_view/zip_view.hpp @@ -0,0 +1,135 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ZIP_VIEW_23012006_0813) +#define FUSION_ZIP_VIEW_23012006_0813 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +namespace boost { namespace fusion { + + namespace detail + { + template + struct all_references + : fusion::result_of::equal_to > >::type, typename fusion::result_of::end::type> + {}; + + struct seq_ref_size + { + template + struct result; + + template + struct result + { + static int const high_int = static_cast( + (static_cast(~0) >> 1) - 1); + + typedef typename remove_reference::type SeqClass; + + typedef typename mpl::eval_if< + traits::is_forward, + result_of::size, + mpl::int_ >::type type; + }; + + // never called, but needed for decltype-based result_of (C++0x) +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + template + BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Seq&&) const; +#endif + }; + + struct poly_min + { + template + struct result; + + template + struct result + { + typedef typename remove_reference::type lhs; + typedef typename remove_reference::type rhs; + typedef typename mpl::min::type type; + }; + + // never called, but needed for decltype-based result_of (C++0x) +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + template + BOOST_FUSION_GPU_ENABLED + typename result::type + operator()(Lhs&&, Rhs&&) const; +#endif + }; + + template + struct min_size + { + typedef typename result_of::transform::type sizes; + typedef typename result_of::fold::type, detail::poly_min>::type type; + }; + } + + struct zip_view_tag; + struct fusion_sequence_tag; + + template + struct zip_view : sequence_base< zip_view > + { + typedef typename result_of::remove::type real_sequences; + BOOST_MPL_ASSERT((detail::all_references)); + typedef typename detail::strictest_traversal::type category; + typedef zip_view_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::true_ is_view; + typedef typename fusion::result_of::as_vector::type sequences; + typedef typename detail::min_size::type size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + zip_view( + const Sequences& seqs) + : sequences_(seqs) + {} + + sequences sequences_; + }; +}} + +#endif diff --git a/external/boost/fusion/view/zip_view/zip_view_iterator.hpp b/external/boost/fusion/view/zip_view/zip_view_iterator.hpp new file mode 100644 index 000000000..cf2d76301 --- /dev/null +++ b/external/boost/fusion/view/zip_view/zip_view_iterator.hpp @@ -0,0 +1,58 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ZIP_VIEW_ITERATOR_23012006_0814) +#define FUSION_ZIP_VIEW_ITERATOR_23012006_0814 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace fusion { + + struct zip_view_iterator_tag; + + template< + typename IteratorSequence, + typename Traversal> + struct zip_view_iterator + : iterator_base > + { + typedef zip_view_iterator_tag fusion_tag; + typedef Traversal category; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + zip_view_iterator( + const InitSeq& iterator_seq) + : iterators_(iterator_seq) + {} + + typedef typename result_of::as_vector::type iterators; + iterators iterators_; + }; +}} + +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::zip_view_iterator > + { }; +} +#endif + +#endif diff --git a/external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp b/external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp new file mode 100644 index 000000000..7f1623090 --- /dev/null +++ b/external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_ZIP_VIEW_ITERATOR_FWD) +#define FUSION_ZIP_VIEW_ITERATOR_FWD + +#include +#include + +namespace boost { namespace fusion { + + template< + typename IteratorSequence, + typename Traversal = typename detail::strictest_traversal::type> + struct zip_view_iterator; + +}} + +#endif diff --git a/external/boost/parameter/aux_/arg_list.hpp b/external/boost/parameter/aux_/arg_list.hpp new file mode 100644 index 000000000..721ce0400 --- /dev/null +++ b/external/boost/parameter/aux_/arg_list.hpp @@ -0,0 +1,437 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef ARG_LIST_050329_HPP +#define ARG_LIST_050329_HPP + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +namespace boost { namespace parameter { + +// Forward declaration for aux::arg_list, below. +template struct keyword; + +namespace aux { + +// Tag type passed to MPL lambda. +struct lambda_tag; + +// +// Structures used to build the tuple of actual arguments. The +// tuple is a nested cons-style list of arg_list specializations +// terminated by an empty_arg_list. +// +// Each specialization of arg_list is derived from its successor in +// the list type. This feature is used along with using +// declarations to build member function overload sets that can +// match against keywords. +// + +// MPL sequence support +struct arg_list_tag; + +// Terminates arg_list<> and represents an empty list. Since this +// is just the terminating case you might want to look at arg_list +// first, to get a feel for what's really happening here. + +struct empty_arg_list +{ + empty_arg_list() {} + + // Constructor taking BOOST_PARAMETER_MAX_ARITY empty_arg_list + // arguments; this makes initialization + empty_arg_list( + BOOST_PP_ENUM_PARAMS( + BOOST_PARAMETER_MAX_ARITY, void_ BOOST_PP_INTERCEPT + )) + {} + + // A metafunction class that, given a keyword and a default + // type, returns the appropriate result type for a keyword + // lookup given that default + struct binding + { + template + struct apply + { + typedef Default type; + }; + }; + + // Terminator for has_key, indicating that the keyword is unique + template + static no_tag has_key(KW*); + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + + // The overload set technique doesn't work with these older + // compilers, so they need some explicit handholding. + + // A metafunction class that, given a keyword, returns the type + // of the base sublist whose get() function can produce the + // value for that key + struct key_owner + { + template + struct apply + { + typedef empty_arg_list type; + }; + }; + + template + T& get(default_ x) const + { + return x.value; + } + + template + typename result_of0::type + get(lazy_default x) const + { + return x.compute_default(); + } +#endif + + // If this function is called, it means there is no argument + // in the list that matches the supplied keyword. Just return + // the default value. + template + Default& operator[](default_ x) const + { + return x.value; + } + + // If this function is called, it means there is no argument + // in the list that matches the supplied keyword. Just evaluate + // and return the default value. + template + typename result_of0::type + operator[]( + BOOST_PARAMETER_lazy_default_fallback x) const + { + return x.compute_default(); + } + + // No argument corresponding to ParameterRequirements::key_type + // was found if we match this overload, so unless that parameter + // has a default, we indicate that the actual arguments don't + // match the function's requirements. + template + static typename ParameterRequirements::has_default + satisfies(ParameterRequirements*, ArgPack*); + + // MPL sequence support + typedef empty_arg_list type; // convenience + typedef arg_list_tag tag; // For dispatching to sequence intrinsics +}; + +// Forward declaration for arg_list::operator, +template +struct tagged_argument; + +template +struct get_reference +{ + typedef typename T::reference type; +}; + +// A tuple of tagged arguments, terminated with empty_arg_list. +// Every TaggedArg is an instance of tagged_argument<>. +template +struct arg_list : Next +{ + typedef arg_list self; + typedef typename TaggedArg::key_type key_type; + + typedef typename is_maybe::type holds_maybe; + + typedef typename mpl::eval_if< + holds_maybe + , get_reference + , get_reference + >::type reference; + + typedef typename mpl::if_< + holds_maybe + , reference + , typename TaggedArg::value_type + >::type value_type; + + TaggedArg arg; // Stores the argument + + // Store the arguments in successive nodes of this list + template< // class A0, class A1, ... + BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A) + > + arg_list( // A0& a0, A1& a1, ... + BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PARAMETER_MAX_ARITY, A, & a) + ) + : Next( // a1, a2, ... + BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PARAMETER_MAX_ARITY, a) + , void_reference() + ) + , arg(a0) + {} + + // Create a new list by prepending arg to a copy of tail. Used + // when incrementally building this structure with the comma + // operator. + arg_list(TaggedArg head, Next const& tail) + : Next(tail) + , arg(head) + {} + + // A metafunction class that, given a keyword and a default + // type, returns the appropriate result type for a keyword + // lookup given that default + struct binding + { + template + struct apply + { + typedef typename mpl::eval_if< + boost::is_same + , mpl::if_ + , mpl::apply_wrap3 + >::type type; + }; + }; + +#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + // Overload for key_type, so the assert below will fire if the + // same keyword is used again + static yes_tag has_key(key_type*); + using Next::has_key; + + BOOST_MPL_ASSERT_MSG( + sizeof(Next::has_key((key_type*)0)) == sizeof(no_tag) + , duplicate_keyword, (key_type) + ); + +#endif + // + // Begin implementation of indexing operators for looking up + // specific arguments by name + // + + // Helpers that handle the case when TaggedArg is + // empty. + template + reference get_default(D const&, mpl::false_) const + { + return arg.value; + } + + template + reference get_default(D const& d, mpl::true_) const + { + return arg.value ? arg.value.get() : arg.value.construct(d.value); + } + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + // These older compilers don't support the overload set creation + // idiom well, so we need to do all the return type calculation + // for the compiler and dispatch through an outer function template + + // A metafunction class that, given a keyword, returns the base + // sublist whose get() function can produce the value for that + // key. + struct key_owner + { + template + struct apply + { + typedef typename mpl::eval_if< + boost::is_same + , mpl::identity > + , mpl::apply_wrap1 + >::type type; + }; + }; + + // Outer indexing operators that dispatch to the right node's + // get() function. + template + typename mpl::apply_wrap3::type + operator[](keyword const& x) const + { + typename mpl::apply_wrap1::type const& sublist = *this; + return sublist.get(x); + } + + template + typename mpl::apply_wrap3::type + operator[](default_ x) const + { + typename mpl::apply_wrap1::type const& sublist = *this; + return sublist.get(x); + } + + template + typename mpl::apply_wrap3< + binding,KW + , typename result_of0::type + , mpl::true_ + >::type + operator[](lazy_default x) const + { + typename mpl::apply_wrap1::type const& sublist = *this; + return sublist.get(x); + } + + // These just return the stored value; when empty_arg_list is + // reached, indicating no matching argument was passed, the + // default is returned, or if no default_ or lazy_default was + // passed, compilation fails. + reference get(keyword const&) const + { + BOOST_MPL_ASSERT_NOT((holds_maybe)); + return arg.value; + } + + template + reference get(default_ const& d) const + { + return get_default(d, holds_maybe()); + } + + template + reference get(lazy_default) const + { + return arg.value; + } + +#else + + reference operator[](keyword const&) const + { + BOOST_MPL_ASSERT_NOT((holds_maybe)); + return arg.value; + } + + template + reference operator[](default_ const& d) const + { + return get_default(d, holds_maybe()); + } + + template + reference operator[](lazy_default) const + { + BOOST_MPL_ASSERT_NOT((holds_maybe)); + return arg.value; + } + + // Builds an overload set including operator[]s defined in base + // classes. + using Next::operator[]; + + // + // End of indexing support + // + + + // + // For parameter_requirements matching this node's key_type, + // return a bool constant wrapper indicating whether the + // requirements are satisfied by TaggedArg. Used only for + // compile-time computation and never really called, so a + // declaration is enough. + // + template + static typename mpl::apply_wrap2< + typename mpl::lambda::type + , value_type, ArgPack + >::type + satisfies( + parameter_requirements* + , ArgPack* + ); + + // Builds an overload set including satisfies functions defined + // in base classes. + using Next::satisfies; +#endif + + // Comma operator to compose argument list without using parameters<>. + // Useful for argument lists with undetermined length. + template + arg_list, self> + operator,(tagged_argument x) const + { + return arg_list, self>(x, *this); + } + + // MPL sequence support + typedef self type; // Convenience for users + typedef Next tail_type; // For the benefit of iterators + typedef arg_list_tag tag; // For dispatching to sequence intrinsics +}; + +// MPL sequence support +template +struct arg_list_iterator +{ + typedef mpl::forward_iterator_tag category; + + // The incremented iterator + typedef arg_list_iterator next; + + // dereferencing yields the key type + typedef typename ArgumentPack::key_type type; +}; + +template <> +struct arg_list_iterator {}; + +}} // namespace parameter::aux + +// MPL sequence support +namespace mpl +{ + template <> + struct begin_impl + { + template + struct apply + { + typedef parameter::aux::arg_list_iterator type; + }; + }; + + template <> + struct end_impl + { + template + struct apply + { + typedef parameter::aux::arg_list_iterator type; + }; + }; +} + +} // namespace boost + +#endif // ARG_LIST_050329_HPP + diff --git a/external/boost/parameter/aux_/cast.hpp b/external/boost/parameter/aux_/cast.hpp new file mode 100644 index 000000000..bd3de2bef --- /dev/null +++ b/external/boost/parameter/aux_/cast.hpp @@ -0,0 +1,141 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_CAST_060902_HPP +# define BOOST_PARAMETER_CAST_060902_HPP + +# include + +# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# include +# include +# endif + +namespace boost { namespace parameter { namespace aux { + +struct use_default_tag {}; + +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + +# define BOOST_PARAMETER_FUNCTION_CAST(value, predicate) value + +# else + +// Handles possible implicit casts. Used by preprocessor.hpp to +// normalize user input. +// +// cast::execute() is identity +// cast::execute() is identity +// cast::execute() casts to X +// +// preprocessor.hpp uses this like this: +// +// #define X(value, predicate) +// cast::execute(value) +// +// X(something, *) +// X(something, *(predicate)) +// X(something, (int)) + +template +struct cast; + +template +struct cast +{ + static use_default_tag execute(use_default_tag) + { + return use_default_tag(); + } + + static use_default_tag remove_const(use_default_tag) + { + return use_default_tag(); + } + + template + static U& execute(U& value) + { + return value; + } + + template + static U& remove_const(U& x) + { + return x; + } +}; + +#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580)) + +typedef void* voidstar; + +template +struct cast + : cast +{ +}; + +#else + +template +struct cast + : cast +{ +}; + +#endif + +// This is a hack used in cast<> to turn the user supplied type, +// which may or may not be a placeholder expression into one, so +// that it will be properly evaluated by mpl::apply. +template +struct as_placeholder_expr +{ + typedef T type; +}; + +template +struct cast +{ + typedef typename mpl::apply2< + as_placeholder_expr, Args, Args>::type type0; + + typedef typename boost::add_reference< + typename boost::remove_const::type + >::type reference; + + static use_default_tag execute(use_default_tag) + { + return use_default_tag(); + } + + static use_default_tag remove_const(use_default_tag) + { + return use_default_tag(); + } + + static type0 execute(type0 value) + { + return value; + } + + template + static reference remove_const(U const& x) + { + return const_cast(x); + } +}; + +# define BOOST_PARAMETER_FUNCTION_CAST(value, predicate, args) \ + boost::parameter::aux::cast::remove_const( \ + boost::parameter::aux::cast::execute(value) \ + ) + +# endif + +}}} // namespace boost::parameter::aux + +#endif // BOOST_PARAMETER_CAST_060902_HPP + diff --git a/external/boost/parameter/aux_/default.hpp b/external/boost/parameter/aux_/default.hpp new file mode 100644 index 000000000..604da6129 --- /dev/null +++ b/external/boost/parameter/aux_/default.hpp @@ -0,0 +1,69 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef DEFAULT_050329_HPP +# define DEFAULT_050329_HPP + +# include + +namespace boost { namespace parameter { namespace aux { + +// A wrapper for the default value passed by the user when resolving +// the value of the parameter with the given Keyword +template +struct default_ +{ + default_(Value& x) + : value(x) + {} + + Value& value; +}; + +// +// lazy_default -- +// +// A wrapper for the default value computation function passed by +// the user when resolving the value of the parameter with the +// given keyword +// +# if BOOST_WORKAROUND(__EDG_VERSION__, <= 300) +// These compilers need a little extra help with overload +// resolution; we have empty_arg_list's operator[] accept a base +// class to make that overload less preferable. +template +struct lazy_default_base +{ + lazy_default_base(DefaultComputer const& x) + : compute_default(x) + {} + DefaultComputer const& compute_default; +}; + +template +struct lazy_default + : lazy_default_base + { + lazy_default(DefaultComputer const & x) + : lazy_default_base(x) + {} + }; +# define BOOST_PARAMETER_lazy_default_fallback lazy_default_base +# else +template +struct lazy_default +{ + lazy_default(const DefaultComputer& x) + : compute_default(x) + {} + DefaultComputer const& compute_default; +}; +# define BOOST_PARAMETER_lazy_default_fallback lazy_default +# endif + +}}} // namespace boost::parameter::aux + +#endif // DEFAULT_050329_HPP + diff --git a/external/boost/parameter/aux_/is_maybe.hpp b/external/boost/parameter/aux_/is_maybe.hpp new file mode 100644 index 000000000..b87585284 --- /dev/null +++ b/external/boost/parameter/aux_/is_maybe.hpp @@ -0,0 +1,26 @@ +// Copyright Daniel Wallin, David Abrahams 2010. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_IS_MAYBE_050329_HPP +#define BOOST_PARAMETER_IS_MAYBE_050329_HPP + +#include + +namespace boost { +namespace parameter { +namespace aux { + +struct maybe_base {}; + +template +struct is_maybe + : is_base_and_derived +{}; + +} // namespace aux +} // namespace parameter +} // namespace boost + +#endif // BOOST_PARAMETER_IS_MAYBE_050329_HPP diff --git a/external/boost/parameter/aux_/maybe.hpp b/external/boost/parameter/aux_/maybe.hpp new file mode 100644 index 000000000..55e083e5b --- /dev/null +++ b/external/boost/parameter/aux_/maybe.hpp @@ -0,0 +1,120 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// +// 2009.10.21 TDS remove depenency on boost::python::detail::referent_storage +// +#ifndef BOOST_PARAMETER_MAYBE_091021_HPP +# define BOOST_PARAMETER_MAYBE_091021_HPP + +# include +# include +# include +# include +# include +# include +# include +# include +# include + +namespace boost { namespace parameter { namespace aux { + +template struct referent_size; + +template +struct referent_size +{ + BOOST_STATIC_CONSTANT(std::size_t, value = sizeof(T)); +}; + +// A metafunction returning a POD type which can store U, where T == +// U&. If T is not a reference type, returns a POD which can store T. +template +struct referent_storage +{ + typedef typename boost::aligned_storage< + referent_size::value + >::type type; +}; + +template +struct maybe : maybe_base +{ + typedef typename add_reference< +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + T const +# else + typename add_const::type +# endif + >::type reference; + + typedef typename remove_cv< + BOOST_DEDUCED_TYPENAME remove_reference::type + >::type non_cv_value; + + explicit maybe(T value_) + : value(value_) + , constructed(false) + {} + + maybe() + : constructed(false) + {} + + ~maybe() + { + if (constructed) + this->destroy(); + } + + reference construct(reference value_) const + { + return value_; + } + + template + reference construct2(U const& value_) const + { + new (m_storage.address()) non_cv_value(value_); + constructed = true; + return *(non_cv_value*)m_storage.address(); + } + + template + reference construct(U const& value_) const + { + return this->construct2(value_); + } + + void destroy() + { + ((non_cv_value*)m_storage.address())->~non_cv_value(); + } + + typedef reference(maybe::*safe_bool)() const; + + operator safe_bool() const + { + return value ? &maybe::get : 0 ; + } + + reference get() const + { + return value.get(); + } + +private: + boost::optional value; + mutable bool constructed; + + + mutable typename referent_storage< + reference + >::type m_storage; +}; + +}}} // namespace boost::parameter::aux + +#endif // BOOST_PARAMETER_MAYBE_060211_HPP + diff --git a/external/boost/parameter/aux_/overloads.hpp b/external/boost/parameter/aux_/overloads.hpp new file mode 100644 index 000000000..dcc92d4d7 --- /dev/null +++ b/external/boost/parameter/aux_/overloads.hpp @@ -0,0 +1,88 @@ +// Copyright David Abrahams, Daniel Wallin 2003. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// This file generates overloads in this format: +// +// template +// typename mpl::apply_wrap1< +// aux::make_arg_list< +// PS0,A0 +// , aux::make_arg_list< +// PS1,A1 +// , mpl::identity +// > +// > +// , unnamed_list +// >::type +// operator()(A0 const& a0, A1 const& a1) const +// { +// typedef typename mpl::apply_wrap1< +// aux::make_arg_list< +// PS0,A0 +// , aux::make_arg_list< +// PS1,A1 +// , mpl::identity +// > +// > +// >::type arg_tuple; +// +// return arg_tuple( +// a0 +// , a1 +// , aux::void_() +// ... +// ); +// } +// + +#if !defined(BOOST_PP_IS_ITERATING) +# error Boost.Parameters - do not include this file! +#endif + +#define N BOOST_PP_ITERATION() + +#define BOOST_PARAMETER_open_list(z, n, text) \ + aux::item< \ + BOOST_PP_CAT(PS, n), BOOST_PP_CAT(A, n) + +#define BOOST_PARAMETER_close_list(z, n, text) > + +#define BOOST_PARAMETER_arg_list(n) \ + aux::make_arg_list< \ + BOOST_PP_ENUM(N, BOOST_PARAMETER_open_list, _) \ + , void_ \ + BOOST_PP_REPEAT(N, BOOST_PARAMETER_close_list, _) \ + , deduced_list \ + , aux::tag_keyword_arg \ + > + +#define BOOST_PARAMETER_arg_pack_init(z, n, limit) \ + BOOST_PP_CAT(a, BOOST_PP_SUB(limit,n)) + +template +typename mpl::first< + typename BOOST_PARAMETER_arg_list(N)::type +>::type +operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)) const +{ + typedef typename BOOST_PARAMETER_arg_list(N)::type result; + + typedef typename mpl::first::type result_type; + typedef typename mpl::second::type error; + error(); + + return result_type( + BOOST_PP_ENUM(N, BOOST_PARAMETER_arg_pack_init, BOOST_PP_DEC(N)) + BOOST_PP_ENUM_TRAILING_PARAMS( + BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, N) + , aux::void_reference() BOOST_PP_INTERCEPT + )); +} + +#undef BOOST_PARAMETER_arg_list +#undef BOOST_PARAMETER_open_list +#undef BOOST_PARAMETER_close_list +#undef N + diff --git a/external/boost/parameter/aux_/parameter_requirements.hpp b/external/boost/parameter/aux_/parameter_requirements.hpp new file mode 100644 index 000000000..ad7a129dd --- /dev/null +++ b/external/boost/parameter/aux_/parameter_requirements.hpp @@ -0,0 +1,25 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef PARAMETER_REQUIREMENTS_050331_HPP +#define PARAMETER_REQUIREMENTS_050331_HPP + +namespace boost { namespace parameter { namespace aux { + +// Used to pass static information about parameter requirements +// through the satisfies() overload set (below). The +// matched function is never invoked, but its type indicates whether +// a parameter matches at compile-time +template +struct parameter_requirements +{ + typedef Keyword keyword; + typedef Predicate predicate; + typedef HasDefault has_default; +}; + +}}} // namespace boost::parameter::aux + +#endif // PARAMETER_REQUIREMENTS_050331_HPP diff --git a/external/boost/parameter/aux_/parenthesized_type.hpp b/external/boost/parameter/aux_/parenthesized_type.hpp new file mode 100644 index 000000000..69e7a237d --- /dev/null +++ b/external/boost/parameter/aux_/parenthesized_type.hpp @@ -0,0 +1,35 @@ +// Copyright David Abrahams 2006. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP +# define BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP + +# include +# include + +namespace boost { namespace parameter { namespace aux { + +// A macro that takes a parenthesized C++ type name (T) and transforms +// it into an un-parenthesized type expression equivalent to T. +# define BOOST_PARAMETER_PARENTHESIZED_TYPE(x) \ + boost::parameter::aux::unaryfunptr_arg_type< void(*)x >::type + +// A metafunction that transforms void(*)(T) -> T +template +struct unaryfunptr_arg_type; + +template +struct unaryfunptr_arg_type +{ + typedef Arg type; +}; + +template <> +struct unaryfunptr_arg_type +{ + typedef void type; +}; + +}}} // namespace boost::parameter::aux + +#endif // BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP diff --git a/external/boost/parameter/aux_/preprocessor/flatten.hpp b/external/boost/parameter/aux_/preprocessor/flatten.hpp new file mode 100644 index 000000000..5d7615e3f --- /dev/null +++ b/external/boost/parameter/aux_/preprocessor/flatten.hpp @@ -0,0 +1,115 @@ +// Copyright Daniel Wallin 2005. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_FLATTEN_051217_HPP +# define BOOST_PARAMETER_FLATTEN_051217_HPP + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# define BOOST_PARAMETER_FLATTEN_SPLIT_required required, +# define BOOST_PARAMETER_FLATTEN_SPLIT_optional optional, +# define BOOST_PARAMETER_FLATTEN_SPLIT_deduced deduced, + +# define BOOST_PARAMETER_FLATTEN_SPLIT(sub) \ + BOOST_PP_CAT(BOOST_PARAMETER_FLATTEN_SPLIT_, sub) + +# define BOOST_PARAMETER_FLATTEN_QUALIFIER(sub) \ + BOOST_PP_SPLIT(0, BOOST_PARAMETER_FLATTEN_SPLIT(sub)) + +# define BOOST_PARAMETER_FLATTEN_ARGS(sub) \ + BOOST_PP_SPLIT(1, BOOST_PARAMETER_FLATTEN_SPLIT(sub)) + +# define BOOST_PARAMETER_FLATTEN_ARITY_optional(arities) \ + BOOST_PP_TUPLE_ELEM(3,0,arities) + +# define BOOST_PARAMETER_FLATTEN_ARITY_required(arities) \ + BOOST_PP_TUPLE_ELEM(3,1,arities) + +# define BOOST_PARAMETER_FLATTEN_SPEC0_DUMMY_ELEM(z, n, data) ~ +# define BOOST_PARAMETER_FLATTEN_SPEC0(r, n, elem, data) \ + (( \ + BOOST_PP_TUPLE_ELEM(3,2,data) \ + , BOOST_PP_TUPLE_REM(BOOST_PP_TUPLE_ELEM(3,0,data)) elem \ + BOOST_PP_ENUM_TRAILING( \ + BOOST_PP_SUB( \ + BOOST_PP_TUPLE_ELEM(3,1,data) \ + , BOOST_PP_TUPLE_ELEM(3,0,data) \ + ) \ + , BOOST_PARAMETER_FLATTEN_SPEC0_DUMMY_ELEM \ + , ~ \ + ) \ + )) + +# define BOOST_PARAMETER_FLATTEN_SPEC_AUX(r, arity, max_arity, spec, transform) \ + BOOST_PARAMETER_FOR_EACH_R( \ + r \ + , arity \ + , BOOST_PARAMETER_FLATTEN_ARGS(spec) \ + , (arity, max_arity, transform(BOOST_PARAMETER_FLATTEN_QUALIFIER(spec))) \ + , BOOST_PARAMETER_FLATTEN_SPEC0 \ + ) + +# define BOOST_PARAMETER_FLATTEN_IDENTITY(x) x + +# define BOOST_PARAMETER_FLATTEN_SPEC_optional(r, arities, spec) \ + BOOST_PARAMETER_FLATTEN_SPEC_AUX( \ + r \ + , BOOST_PP_CAT( \ + BOOST_PARAMETER_FLATTEN_ARITY_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \ + )(arities) \ + , BOOST_PP_TUPLE_ELEM(3,2,arities) \ + , spec \ + , BOOST_PARAMETER_FLATTEN_IDENTITY \ + ) + +# define BOOST_PARAMETER_FLATTEN_SPEC_required(r, arities, spec) \ + BOOST_PARAMETER_FLATTEN_SPEC_optional(r, arities, spec) + +# define BOOST_PARAMETER_FLATTEN_SPEC_AS_DEDUCED(x) BOOST_PP_CAT(deduced_,x) + +# define BOOST_PARAMETER_FLATTEN_SPEC_deduced_M(r, arities, n, spec) \ + BOOST_PARAMETER_FLATTEN_SPEC_AUX( \ + r \ + , BOOST_PP_CAT( \ + BOOST_PARAMETER_FLATTEN_ARITY_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \ + )(arities) \ + , BOOST_PP_TUPLE_ELEM(3,2,arities) \ + , spec \ + , BOOST_PARAMETER_FLATTEN_SPEC_AS_DEDUCED \ + ) + +# define BOOST_PARAMETER_FLATTEN_SPEC_deduced(r, arities, spec) \ + BOOST_PP_SEQ_FOR_EACH_I_R( \ + r \ + , BOOST_PARAMETER_FLATTEN_SPEC_deduced_M \ + , arities \ + , BOOST_PARAMETER_FLATTEN_ARGS(spec) \ + ) + +# define BOOST_PARAMETER_FLATTEN_SPEC(r, arities, spec) \ + BOOST_PP_CAT( \ + BOOST_PARAMETER_FLATTEN_SPEC_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \ + )(r, arities, spec) + +# define BOOST_PARAMETER_FLATTEN(optional_arity, required_arity, wanted_arity, specs) \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_PARAMETER_FLATTEN_SPEC \ + , ( \ + optional_arity, required_arity \ + , wanted_arity \ + ) \ + , specs \ + ) + +#endif // BOOST_PARAMETER_FLATTEN_051217_HPP + diff --git a/external/boost/parameter/aux_/preprocessor/for_each.hpp b/external/boost/parameter/aux_/preprocessor/for_each.hpp new file mode 100644 index 000000000..0eb1f702d --- /dev/null +++ b/external/boost/parameter/aux_/preprocessor/for_each.hpp @@ -0,0 +1,103 @@ +// Copyright Daniel Wallin 2005. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_FOR_EACH_051217_HPP +# define BOOST_PARAMETER_FOR_EACH_051217_HPP + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# define BOOST_PARAMETER_FOR_EACH_head_aux2(x,y) (x,y), ~ +# define BOOST_PARAMETER_FOR_EACH_head_aux3(x,y,z) (x,y,z), ~ +# define BOOST_PARAMETER_FOR_EACH_head_aux4(x,y,z,u) (x,y,z,u), ~ +# define BOOST_PARAMETER_FOR_EACH_head(n,x) \ + BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_head_aux,n) x) + +# define BOOST_PARAMETER_FOR_EACH_pred_aux_BOOST_PARAMETER_FOR_EACH_END_SENTINEL +# define BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) \ + BOOST_PP_NOT(BOOST_PP_IS_EMPTY( \ + BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_pred_aux_, x) \ + )), ~ + +# define BOOST_PARAMETER_FOR_EACH_pred_aux2(x,y) \ + BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) +# define BOOST_PARAMETER_FOR_EACH_pred_aux3(x,y,z) \ + BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) +# define BOOST_PARAMETER_FOR_EACH_pred_aux4(x,y,z,u) \ + BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) + +# define BOOST_PARAMETER_FOR_EACH_pred_aux0(n,x) \ + BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_pred_aux,n) x + +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PARAMETER_FOR_EACH_pred_SPLIT_FIRST(x) \ + BOOST_PP_SPLIT(0, x) + +# define BOOST_PARAMETER_FOR_EACH_pred(r, state) \ + BOOST_PARAMETER_FOR_EACH_pred_SPLIT_FIRST( \ + BOOST_PARAMETER_FOR_EACH_pred_aux0( \ + BOOST_PP_TUPLE_ELEM(5,3,state) \ + , BOOST_PP_TUPLE_ELEM(5,0,state) \ + ) \ + ) +# else +# define BOOST_PARAMETER_FOR_EACH_pred(r, state) \ + BOOST_PP_SPLIT( \ + 0 \ + , BOOST_PARAMETER_FOR_EACH_pred_aux0( \ + BOOST_PP_TUPLE_ELEM(5,3,state) \ + , BOOST_PP_TUPLE_ELEM(5,0,state) \ + ) \ + ) +# endif + +# define BOOST_PARAMETER_FOR_EACH_op(r, state) \ + ( \ + BOOST_PP_TUPLE_EAT(BOOST_PP_TUPLE_ELEM(5,3,state)) \ + BOOST_PP_TUPLE_ELEM(5,0,state) \ + , BOOST_PP_TUPLE_ELEM(5,1,state) \ + , BOOST_PP_TUPLE_ELEM(5,2,state) \ + , BOOST_PP_TUPLE_ELEM(5,3,state) \ + , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(5,4,state)) \ + ) + +# define BOOST_PARAMETER_FOR_EACH_macro(r, state) \ + BOOST_PP_TUPLE_ELEM(5,2,state)( \ + r \ + , BOOST_PP_TUPLE_ELEM(5,4,state) \ + , BOOST_PARAMETER_FOR_EACH_head( \ + BOOST_PP_TUPLE_ELEM(5,3,state) \ + , BOOST_PP_TUPLE_ELEM(5,0,state) \ + ) \ + , BOOST_PP_TUPLE_ELEM(5,1,state) \ + ) + +# define BOOST_PARAMETER_FOR_EACH_build_end_sentinel(z,n,text) \ + BOOST_PP_COMMA_IF(n) BOOST_PARAMETER_FOR_EACH_END_SENTINEL +# define BOOST_PARAMETER_FOR_EACH_build_end_sentinel_tuple(arity) \ + ( \ + BOOST_PP_REPEAT(arity, BOOST_PARAMETER_FOR_EACH_build_end_sentinel, _) \ + ) + +# define BOOST_PARAMETER_FOR_EACH_R(r, arity, list, data, macro) \ + BOOST_PP_CAT(BOOST_PP_FOR_, r)( \ + (list BOOST_PARAMETER_FOR_EACH_build_end_sentinel_tuple(arity), data, macro, arity, 0) \ + , BOOST_PARAMETER_FOR_EACH_pred \ + , BOOST_PARAMETER_FOR_EACH_op \ + , BOOST_PARAMETER_FOR_EACH_macro \ + ) + +# define BOOST_PARAMETER_FOR_EACH(arity, list, data, macro) \ + BOOST_PARAMETER_FOR_EACH_R(BOOST_PP_DEDUCE_R(), arity, list, data, macro) + +#endif // BOOST_PARAMETER_FOR_EACH_051217_HPP + diff --git a/external/boost/parameter/aux_/python/invoker.hpp b/external/boost/parameter/aux_/python/invoker.hpp new file mode 100644 index 000000000..0e61d40e9 --- /dev/null +++ b/external/boost/parameter/aux_/python/invoker.hpp @@ -0,0 +1,132 @@ +// Copyright Daniel Wallin 2005. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_INVOKER_051210_HPP +# define BOOST_PARAMETER_INVOKER_051210_HPP + +# include +# include +# include +# include +# include +# include + +namespace boost { namespace parameter { namespace python { namespace aux { + +template +struct invoker; + +template +struct make_invoker +{ + template + struct apply + { + typedef invoker< + mpl::size::value, M, R, Args + > type; + }; +}; + +template +struct member_invoker; + +template +struct make_member_invoker +{ + template + struct apply + { + typedef member_invoker< + mpl::size::value, M, R, T, Args + > type; + }; +}; + +template +struct call_invoker; + +template +struct make_call_invoker +{ + template + struct apply + { + typedef call_invoker< + mpl::size::value, T, R, Args + > type; + }; +}; + +template +struct init_invoker; + +template +struct make_init_invoker +{ + template + struct apply + { + typedef init_invoker< + mpl::size::value, T, Args + > type; + }; +}; + +template +struct invoker<0, M, R, Args> +{ + static R execute() + { + return M()(boost::type()); + } +}; + +template +struct member_invoker<0, M, R, T, Args> +{ + static R execute(T& self) + { + return M()(boost::type(), self); + } +}; + +template +struct call_invoker<0, T, R, Args> +{ + static R execute(T& self) + { + return self(); + } +}; + +template +struct init_invoker<0, T, Args> +{ + static T* execute(T& self) + { + return new T; + } +}; + +# define BOOST_PP_ITERATION_PARAMS_1 (4, \ + (1, BOOST_PARAMETER_MAX_ARITY, , 1)) +# include BOOST_PP_ITERATE() + +# define BOOST_PP_ITERATION_PARAMS_1 (4, \ + (1, BOOST_PARAMETER_MAX_ARITY, , 2)) +# include BOOST_PP_ITERATE() + +# define BOOST_PP_ITERATION_PARAMS_1 (4, \ + (1, BOOST_PARAMETER_MAX_ARITY, , 3)) +# include BOOST_PP_ITERATE() + +# define BOOST_PP_ITERATION_PARAMS_1 (4, \ + (1, BOOST_PARAMETER_MAX_ARITY, , 4)) +# include BOOST_PP_ITERATE() + +}}}} // namespace boost::parameter::python::aux + +#endif // BOOST_PARAMETER_INVOKER_051210_HPP + diff --git a/external/boost/parameter/aux_/python/invoker_iterate.hpp b/external/boost/parameter/aux_/python/invoker_iterate.hpp new file mode 100644 index 000000000..c18f6d0bb --- /dev/null +++ b/external/boost/parameter/aux_/python/invoker_iterate.hpp @@ -0,0 +1,93 @@ +// Copyright Daniel Wallin 2005. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include +#include +#include +#include + +#define N BOOST_PP_ITERATION() + +#define BOOST_PARAMETER_PY_ARG_TYPES(z, n, _) \ + typedef typename mpl::next< \ + BOOST_PP_CAT(iter,BOOST_PP_DEC(n)) \ + >::type BOOST_PP_CAT(iter,n); \ + \ + typedef typename mpl::deref::type BOOST_PP_CAT(spec,n); \ + typedef typename mpl::if_< \ + mpl::and_< \ + mpl::not_ \ + , typename BOOST_PP_CAT(spec,n)::optimized_default \ + > \ + , parameter::aux::maybe \ + , typename BOOST_PP_CAT(spec,n)::type \ + >::type BOOST_PP_CAT(arg,n); \ + typedef typename BOOST_PP_CAT(spec,n)::keyword BOOST_PP_CAT(kw,n); + +#if BOOST_PP_ITERATION_FLAGS() == 1 +template +struct invoker +#elif BOOST_PP_ITERATION_FLAGS() == 2 +template +struct call_invoker +#elif BOOST_PP_ITERATION_FLAGS() == 3 +template +struct init_invoker +#elif BOOST_PP_ITERATION_FLAGS() == 4 +template +struct member_invoker +#endif +{ + typedef typename mpl::begin::type iter0; + typedef typename mpl::deref::type spec0; + typedef typename mpl::if_< + mpl::and_< + mpl::not_ + , typename spec0::optimized_default + > + , parameter::aux::maybe + , typename spec0::type + >::type arg0; + typedef typename spec0::keyword kw0; + + BOOST_PP_REPEAT_FROM_TO(1, N, BOOST_PARAMETER_PY_ARG_TYPES, ~) + + static +#if BOOST_PP_ITERATION_FLAGS() == 3 + T* +#else + R +#endif + execute( +#if BOOST_PP_ITERATION_FLAGS() == 2 || BOOST_PP_ITERATION_FLAGS() == 4 + T& self + , +#endif + BOOST_PP_ENUM_BINARY_PARAMS(N, arg, a) + ) + { + return +#if BOOST_PP_ITERATION_FLAGS() == 1 || BOOST_PP_ITERATION_FLAGS() == 4 + M()( + boost::type() +# if BOOST_PP_ITERATION_FLAGS() == 4 + , self +# endif + , BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword::get() = a) + ); +#elif BOOST_PP_ITERATION_FLAGS() == 2 + self( + BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword::get() = a) + ); +#elif BOOST_PP_ITERATION_FLAGS() == 3 + new T( + BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword::get() = a) + ); +#endif + } +}; + +#undef BOOST_PARAMETER_PY_ARG_TYPES +#undef N + diff --git a/external/boost/parameter/aux_/result_of0.hpp b/external/boost/parameter/aux_/result_of0.hpp new file mode 100644 index 000000000..e0096148b --- /dev/null +++ b/external/boost/parameter/aux_/result_of0.hpp @@ -0,0 +1,36 @@ +// Copyright David Abrahams 2005. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP +# define BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP + +# include + +// A metafunction returning the result of invoking a nullary function +// object of the given type. + +#ifndef BOOST_NO_RESULT_OF + +# include +namespace boost { namespace parameter { namespace aux { +template +struct result_of0 : result_of +{}; + +}}} // namespace boost::parameter::aux_ + +#else + +namespace boost { namespace parameter { namespace aux { +template +struct result_of0 +{ + typedef typename F::result_type type; +}; + +}}} // namespace boost::parameter::aux_ + +#endif + + +#endif // BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP diff --git a/external/boost/parameter/aux_/set.hpp b/external/boost/parameter/aux_/set.hpp new file mode 100644 index 000000000..7ab93dc7b --- /dev/null +++ b/external/boost/parameter/aux_/set.hpp @@ -0,0 +1,66 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_SET_060912_HPP +# define BOOST_PARAMETER_SET_060912_HPP + +# include + +# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# include +# include +# include + +namespace boost { namespace parameter { namespace aux { + +typedef mpl::set0<> set0; + +template +struct insert_ +{ + typedef typename mpl::insert::type type; +}; + +template +struct has_key_ +{ + typedef typename mpl::has_key::type type; +}; + +}}} // namespace boost::parameter::aux + +# else + +# include +# include +# include +# include +# include + +namespace boost { namespace parameter { namespace aux { + +typedef mpl::list0<> set0; + +template +struct insert_ +{ + typedef typename mpl::push_front::type type; +}; + +template +struct has_key_ +{ + typedef typename mpl::find::type iter; + typedef mpl::not_< + is_same::type> + > type; +}; + +}}} // namespace boost::parameter::aux + +# endif + + +#endif // BOOST_PARAMETER_SET_060912_HPP + diff --git a/external/boost/parameter/aux_/tag.hpp b/external/boost/parameter/aux_/tag.hpp new file mode 100644 index 000000000..475efb9e4 --- /dev/null +++ b/external/boost/parameter/aux_/tag.hpp @@ -0,0 +1,38 @@ +// Copyright David Abrahams 2005. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP +# define BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP + +# include +# include + +namespace boost { namespace parameter { namespace aux { + +template ::type +#endif + > +struct tag +{ + typedef tagged_argument< + Keyword + , typename unwrap_cv_reference::type + > type; +}; + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +template +struct tag +{ + typedef tagged_argument< + Keyword + , ActualArg + > type; +}; +#endif + +}}} // namespace boost::parameter::aux_ + +#endif // BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP diff --git a/external/boost/parameter/aux_/tagged_argument.hpp b/external/boost/parameter/aux_/tagged_argument.hpp new file mode 100644 index 000000000..79d273e41 --- /dev/null +++ b/external/boost/parameter/aux_/tagged_argument.hpp @@ -0,0 +1,188 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP +# define BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +namespace boost { namespace parameter { namespace aux { + +struct empty_arg_list; +struct arg_list_tag; + +struct tagged_argument_base {}; + +// Holds a reference to an argument of type Arg associated with +// keyword Keyword + +template +struct tagged_argument : tagged_argument_base +{ + typedef Keyword key_type; + typedef Arg value_type; + typedef Arg& reference; + + tagged_argument(reference x) : value(x) {} + + // A metafunction class that, given a keyword and a default + // type, returns the appropriate result type for a keyword + // lookup given that default + struct binding + { + template + struct apply + { + typedef typename mpl::eval_if< + boost::is_same + , mpl::if_ + , mpl::identity + >::type type; + }; + }; + + // Comma operator to compose argument list without using parameters<>. + // Useful for argument lists with undetermined length. + template + arg_list< + tagged_argument + , arg_list > + > + operator,(tagged_argument x) const + { + return arg_list< + tagged_argument + , arg_list > + >( + *this + , arg_list >(x, empty_arg_list()) + ); + } + + reference operator[](keyword const&) const + { + return value; + } + +# if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + template + Default& get_with_default(default_ const& x, int) const + { + return x.value; + } + + template + reference get_with_default(default_ const&, long) const + { + return value; + } + + template + typename mpl::apply_wrap3::type + operator[](default_ const& x) const + { + return get_with_default(x, 0L); + } + + template + typename result_of0::type + get_with_lazy_default(lazy_default const& x, int) const + { + return x.compute_default(); + } + + template + reference get_with_lazy_default(lazy_default const&, long) const + { + return value; + } + + template + typename mpl::apply_wrap3< + binding,KW + , typename result_of0::type + , mpl::true_ + >::type + operator[](lazy_default const& x) const + { + return get_with_lazy_default(x, 0L); + } +# else + template + reference operator[](default_ const& ) const + { + return value; + } + + template + reference operator[](lazy_default const& ) const + { + return value; + } + + template + Default& operator[](default_ const& x) const + { + return x.value; + } + + template + typename result_of0::type operator[](lazy_default const& x) const + { + return x.compute_default(); + } + + template + static typename ParameterRequirements::has_default + satisfies(ParameterRequirements*); + + template + static typename mpl::apply1::type + satisfies( + parameter_requirements* + ); +# endif + + reference value; +# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) + // warning suppression + private: + void operator=(tagged_argument const&); + public: +# endif + // MPL sequence support + typedef tagged_argument type; // Convenience for users + typedef empty_arg_list tail_type; // For the benefit of iterators + typedef arg_list_tag tag; // For dispatching to sequence intrinsics +}; + +// Defines a metafunction, is_tagged_argument, that identifies +// tagged_argument specializations and their derived classes. +template +struct is_tagged_argument_aux + : is_convertible +{}; + +template +struct is_tagged_argument + : mpl::and_< + mpl::not_ > + , is_tagged_argument_aux + > +{}; + +}}} // namespace boost::parameter::aux + +#endif // BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP + diff --git a/external/boost/parameter/aux_/template_keyword.hpp b/external/boost/parameter/aux_/template_keyword.hpp new file mode 100644 index 000000000..5a02f008a --- /dev/null +++ b/external/boost/parameter/aux_/template_keyword.hpp @@ -0,0 +1,47 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP +# define BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP + +# include +# include +# include +# include + +namespace boost { namespace parameter { + +namespace aux +{ + + struct template_keyword_tag {}; + + template + struct is_pointer_convertible + : is_convertible + {}; + + template + struct is_template_keyword + : mpl::and_< + mpl::not_ > + , is_pointer_convertible + > + {}; + +} // namespace aux + +template +struct template_keyword + : aux::template_keyword_tag +{ + typedef Tag key_type; + typedef T value_type; + typedef value_type reference; +}; + +}} // namespace boost::parameter + +#endif // BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP + diff --git a/external/boost/parameter/aux_/unwrap_cv_reference.hpp b/external/boost/parameter/aux_/unwrap_cv_reference.hpp new file mode 100644 index 000000000..b6c263f23 --- /dev/null +++ b/external/boost/parameter/aux_/unwrap_cv_reference.hpp @@ -0,0 +1,91 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UNWRAP_CV_REFERENCE_050328_HPP +#define UNWRAP_CV_REFERENCE_050328_HPP + +#include +#include +#include +#include + +namespace boost { template class reference_wrapper; } + +namespace boost { namespace parameter { namespace aux { + +// +// reference_wrapper support -- because of the forwarding problem, +// when passing arguments positionally by non-const reference, we +// ask users of named parameter interfaces to use ref(x) to wrap +// them. +// + +// is_cv_reference_wrapper returns mpl::true_ if T is of type +// reference_wrapper cv +template +yes_tag is_cv_reference_wrapper_check(reference_wrapper const volatile*); +no_tag is_cv_reference_wrapper_check(...); + +template +struct is_cv_reference_wrapper +{ + BOOST_STATIC_CONSTANT( + bool, value = ( + sizeof(is_cv_reference_wrapper_check((T*)0)) == sizeof(yes_tag) + ) + ); + + typedef mpl::bool_< +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + is_cv_reference_wrapper:: +#endif + value> type; +}; + +// Needed for unwrap_cv_reference below. T might be const, so +// eval_if might fail because of deriving from T const on EDG. +template +struct get_type +{ + typedef typename T::type type; +}; + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +template ::type> +struct unwrap_cv_reference +{ + typedef T type; +}; + +template +struct unwrap_cv_reference +{ + typedef T const type; +}; + +template +struct unwrap_cv_reference + : T +{}; + +#else +// Produces the unwrapped type to hold a reference to in named<> +// Can't use boost::unwrap_reference<> here because it +// doesn't handle the case where T = reference_wrapper cv +template +struct unwrap_cv_reference +{ + typedef typename mpl::eval_if< + is_cv_reference_wrapper + , get_type + , mpl::identity + >::type type; +}; +#endif + +}}} // namespace boost::parameter::aux + +#endif // UNWRAP_CV_REFERENCE_050328_HPP + diff --git a/external/boost/parameter/aux_/void.hpp b/external/boost/parameter/aux_/void.hpp new file mode 100644 index 000000000..7061a7deb --- /dev/null +++ b/external/boost/parameter/aux_/void.hpp @@ -0,0 +1,29 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_VOID_050329_HPP +#define BOOST_PARAMETER_VOID_050329_HPP + +namespace boost { namespace parameter { + +// A placemarker for "no argument passed." +// MAINTAINER NOTE: Do not make this into a metafunction +struct void_ {}; + +namespace aux +{ + + inline void_& void_reference() + { + static void_ instance; + return instance; + } + +} // namespace aux + +}} // namespace boost::parameter + +#endif // BOOST_PARAMETER_VOID_050329_HPP + diff --git a/external/boost/parameter/aux_/yesno.hpp b/external/boost/parameter/aux_/yesno.hpp new file mode 100644 index 000000000..13fa545a6 --- /dev/null +++ b/external/boost/parameter/aux_/yesno.hpp @@ -0,0 +1,26 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef YESNO_050328_HPP +#define YESNO_050328_HPP + +#include + +namespace boost { namespace parameter { namespace aux { + +// types used with the "sizeof trick" to capture the results of +// overload resolution at compile-time. +typedef char yes_tag; +typedef char (&no_tag)[2]; + +// mpl::true_ and mpl::false_ are not distinguishable by sizeof(), +// so we pass them through these functions to get a type that is. +yes_tag to_yesno(mpl::true_); +no_tag to_yesno(mpl::false_); + +}}} // namespace boost::parameter::aux + +#endif // YESNO_050328_HPP + diff --git a/external/boost/parameter/binding.hpp b/external/boost/parameter/binding.hpp new file mode 100644 index 000000000..778a7b7ba --- /dev/null +++ b/external/boost/parameter/binding.hpp @@ -0,0 +1,80 @@ +// Copyright David Abrahams 2005. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_PARAMETER_BINDING_DWA200558_HPP +# define BOOST_PARAMETER_BINDING_DWA200558_HPP + +# include +# include +# include +# include +# include +# include + +namespace boost { namespace parameter { + +// A metafunction that, given an argument pack, returns the type of +// the parameter identified by the given keyword. If no such +// parameter has been specified, returns Default + +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +template +struct binding0 +{ + typedef typename mpl::apply_wrap3< + typename Parameters::binding,Keyword,Default,mpl::true_ + >::type type; + + BOOST_MPL_ASSERT_NOT(( + mpl::and_< + is_same + , is_same + > + )); +}; +# endif + +template +struct binding +{ +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + typedef typename mpl::eval_if< + mpl::is_placeholder + , mpl::identity + , binding0 + >::type type; +# else + typedef typename mpl::apply_wrap3< + typename Parameters::binding,Keyword,Default,mpl::true_ + >::type type; + + BOOST_MPL_ASSERT_NOT(( + mpl::and_< + is_same + , is_same + > + )); +# endif + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,binding,(Parameters,Keyword,Default)) +}; + +// A metafunction that, given an argument pack, returns the type of +// the parameter identified by the given keyword. If no such +// parameter has been specified, returns the type returned by invoking +// DefaultFn +template +struct lazy_binding +{ + typedef typename mpl::apply_wrap3< + typename Parameters::binding + , Keyword + , typename aux::result_of0::type + , mpl::true_ + >::type type; +}; + + +}} // namespace boost::parameter + +#endif // BOOST_PARAMETER_BINDING_DWA200558_HPP diff --git a/external/boost/parameter/config.hpp b/external/boost/parameter/config.hpp new file mode 100644 index 000000000..5710c92c0 --- /dev/null +++ b/external/boost/parameter/config.hpp @@ -0,0 +1,14 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_CONFIG_050403_HPP +#define BOOST_PARAMETER_CONFIG_050403_HPP + +#ifndef BOOST_PARAMETER_MAX_ARITY +# define BOOST_PARAMETER_MAX_ARITY 8 +#endif + +#endif // BOOST_PARAMETER_CONFIG_050403_HPP + diff --git a/external/boost/parameter/keyword.hpp b/external/boost/parameter/keyword.hpp new file mode 100644 index 000000000..925c77208 --- /dev/null +++ b/external/boost/parameter/keyword.hpp @@ -0,0 +1,122 @@ +// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef KEYWORD_050328_HPP +#define KEYWORD_050328_HPP + +#include +#include +#include + +namespace boost { namespace parameter { + +// Instances of unique specializations of keyword<...> serve to +// associate arguments with parameter names. For example: +// +// struct rate_; // parameter names +// struct skew_; +// namespace +// { +// keyword rate; // keywords +// keyword skew; +// } +// +// ... +// +// f(rate = 1, skew = 2.4); +// +template +struct keyword +{ + template + typename aux::tag::type const + operator=(T& x) const + { + typedef typename aux::tag::type result; + return result(x); + } + + template + aux::default_ + operator|(Default& default_) const + { + return aux::default_(default_); + } + + template + aux::lazy_default + operator||(Default& default_) const + { + return aux::lazy_default(default_); + } + + template + typename aux::tag::type const + operator=(T const& x) const + { + typedef typename aux::tag::type result; + return result(x); + } + + template + aux::default_ + operator|(const Default& default_) const + { + return aux::default_(default_); + } + + template + aux::lazy_default + operator||(Default const& default_) const + { + return aux::lazy_default(default_); + } + + public: // Insurance against ODR violations + + // People will need to define these keywords in header files. To + // prevent ODR violations, it's important that the keyword used in + // every instantiation of a function template is the same object. + // We provide a reference to a common instance of each keyword + // object and prevent construction by users. + static keyword const instance; + + // This interface is deprecated + static keyword& get() + { + return const_cast&>(instance); + } +}; + +template +keyword const keyword::instance = {}; + +// Reduces boilerplate required to declare and initialize keywords +// without violating ODR. Declares a keyword tag type with the given +// name in namespace tag_namespace, and declares and initializes a +// reference in an anonymous namespace to a singleton instance of that +// type. + +#define BOOST_PARAMETER_KEYWORD(tag_namespace,name) \ + namespace tag_namespace \ + { \ + struct name \ + { \ + static char const* keyword_name() \ + { \ + return #name; \ + } \ + }; \ + } \ + namespace \ + { \ + ::boost::parameter::keyword const& name \ + = ::boost::parameter::keyword::instance;\ + } + +}} // namespace boost::parameter + +#endif // KEYWORD_050328_HPP + diff --git a/external/boost/parameter/macros.hpp b/external/boost/parameter/macros.hpp new file mode 100644 index 000000000..83fbfb5a6 --- /dev/null +++ b/external/boost/parameter/macros.hpp @@ -0,0 +1,99 @@ +// Copyright David Abrahams, Daniel Wallin 2003. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_MACROS_050412_HPP +#define BOOST_PARAMETER_MACROS_050412_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD1(n) \ + template + +#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD0(n) + +#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) + +# define BOOST_PARAMETER_MATCH_TYPE(n, param) \ + BOOST_PP_EXPR_IF(n, typename) param::match \ + < \ + BOOST_PP_ENUM_PARAMS(n, T) \ + >::type + +#else + +# define BOOST_PARAMETER_MATCH_TYPE(n, param) param + +#endif + +#define BOOST_PARAMETER_FUN_DECL(z, n, params) \ + \ + BOOST_PP_CAT(BOOST_PARAMETER_FUN_TEMPLATE_HEAD, BOOST_PP_BOOL(n))(n) \ + \ + BOOST_PP_TUPLE_ELEM(3, 0, params) \ + BOOST_PP_TUPLE_ELEM(3, 1, params)( \ + BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& p) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_PARAMETER_MATCH_TYPE(n,BOOST_PP_TUPLE_ELEM(3, 2, params)) \ + kw = BOOST_PP_TUPLE_ELEM(3, 2, params)() \ + ) \ + { \ + return BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 1, params), _with_named_params)( \ + kw(BOOST_PP_ENUM_PARAMS(n, p)) \ + ); \ + } + +// Generates: +// +// template +// ret name ## _with_named_params(Params const&); +// +// template +// ret name(T0 const& p0, typename parameters::match::type kw = parameters()) +// { +// return name ## _with_named_params(kw(p0)); +// } +// +// template +// ret name(T0 const& p0, ..., TN const& PN +// , typename parameters::match::type kw = parameters()) +// { +// return name ## _with_named_params(kw(p0, ..., pN)); +// } +// +// template +// ret name ## _with_named_params(Params const&) +// +// lo and hi determines the min and max arity of the generated functions. + +#define BOOST_PARAMETER_FUN(ret, name, lo, hi, parameters) \ + \ + template \ + ret BOOST_PP_CAT(name, _with_named_params)(Params const& p); \ + \ + BOOST_PP_REPEAT_FROM_TO( \ + lo, BOOST_PP_INC(hi), BOOST_PARAMETER_FUN_DECL, (ret, name, parameters)) \ + \ + template \ + ret BOOST_PP_CAT(name, _with_named_params)(Params const& p) + +#define BOOST_PARAMETER_MEMFUN(ret, name, lo, hi, parameters) \ + \ + BOOST_PP_REPEAT_FROM_TO( \ + lo, BOOST_PP_INC(hi), BOOST_PARAMETER_FUN_DECL, (ret, name, parameters)) \ + \ + template \ + ret BOOST_PP_CAT(name, _with_named_params)(Params const& p) + +#endif // BOOST_PARAMETER_MACROS_050412_HPP + diff --git a/external/boost/parameter/match.hpp b/external/boost/parameter/match.hpp new file mode 100644 index 000000000..2fa3f1750 --- /dev/null +++ b/external/boost/parameter/match.hpp @@ -0,0 +1,55 @@ +// Copyright David Abrahams 2005. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_PARAMETER_MATCH_DWA2005714_HPP +# define BOOST_PARAMETER_MATCH_DWA2005714_HPP + +# include +# include + +# if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) +// Temporary version of BOOST_PP_SEQ_ENUM until Paul M. integrates the workaround. +# define BOOST_PARAMETER_SEQ_ENUM_I(size,seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq +# define BOOST_PARAMETER_SEQ_ENUM(seq) BOOST_PARAMETER_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq) +# else +# define BOOST_PARAMETER_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM(seq) +# endif + +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + +# include +# include +# include +# include +# include + +# define BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes) \ + BOOST_PP_ENUM_TRAILING_PARAMS( \ + BOOST_PP_SUB( \ + BOOST_PARAMETER_MAX_ARITY \ + , BOOST_PP_SEQ_SIZE(ArgTypes) \ + ) \ + , ::boost::parameter::void_ BOOST_PP_INTERCEPT \ + ) + +# else + +# define BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes) + +# endif + +// +// Generates, e.g. +// +// typename dfs_params::match::type name = dfs_params() +// +// with workarounds for Borland compatibility. +// + +# define BOOST_PARAMETER_MATCH(ParameterSpec, ArgTypes, name) \ + typename ParameterSpec ::match< \ + BOOST_PARAMETER_SEQ_ENUM(ArgTypes) \ + BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes) \ + >::type name = ParameterSpec () + +#endif // BOOST_PARAMETER_MATCH_DWA2005714_HPP diff --git a/external/boost/parameter/name.hpp b/external/boost/parameter/name.hpp new file mode 100644 index 000000000..f439df416 --- /dev/null +++ b/external/boost/parameter/name.hpp @@ -0,0 +1,146 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_NAME_060806_HPP +# define BOOST_PARAMETER_NAME_060806_HPP + +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# if !defined(BOOST_NO_SFINAE) \ + && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) + +# include +# include + +namespace boost { namespace parameter { namespace aux { + +// Tag type passed to MPL lambda. +struct lambda_tag; + +struct name_tag_base +{}; + +template +struct name_tag +{}; + +template +struct is_name_tag + : mpl::false_ +{}; + +}}} // namespace boost::parameter::aux + +namespace boost { namespace mpl { + +template +struct lambda< + T + , typename boost::enable_if< + parameter::aux::is_name_tag, parameter::aux::lambda_tag + >::type +> +{ + typedef true_ is_le; + typedef bind3< quote3, arg<2>, T, void> result_; + typedef result_ type; +}; + +}} // namespace boost::mpl + +# endif + +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# include +// From Paul Mensonides +# define BOOST_PARAMETER_IS_BINARY(x) \ + BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_BINARY_C x BOOST_PP_COMMA() 0) \ + /**/ +# define BOOST_PARAMETER_IS_BINARY_C(x,y) \ + ~, 1 BOOST_PP_RPAREN() \ + BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~ \ + /**/ +# else +# include +# define BOOST_PARAMETER_IS_BINARY(x) BOOST_PP_IS_BINARY(x) +# endif + +# define BOOST_PARAMETER_BASIC_NAME(tag_namespace, tag, name) \ + namespace tag_namespace \ + { \ + struct tag \ + { \ + static char const* keyword_name() \ + { \ + return BOOST_PP_STRINGIZE(tag); \ + } \ + \ + typedef boost::parameter::value_type< \ + boost::mpl::_2, tag, boost::parameter::void_ \ + > _; \ + \ + typedef boost::parameter::value_type< \ + boost::mpl::_2, tag, boost::parameter::void_ \ + > _1; \ + }; \ + } \ + namespace \ + { \ + ::boost::parameter::keyword const& name \ + = ::boost::parameter::keyword::instance; \ + } + +# define BOOST_PARAMETER_COMPLEX_NAME_TUPLE1(tag,namespace) \ + (tag, namespace), ~ + +# define BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name) \ + BOOST_PP_TUPLE_ELEM(2, 0, (BOOST_PARAMETER_COMPLEX_NAME_TUPLE1 name)) + +# define BOOST_PARAMETER_COMPLEX_NAME_TAG(name) \ + BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name)) + +# define BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name) \ + BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name)) + +# define BOOST_PARAMETER_COMPLEX_NAME(name) \ + BOOST_PARAMETER_BASIC_NAME( \ + BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name) \ + , BOOST_PP_TUPLE_EAT(2) name \ + , BOOST_PARAMETER_COMPLEX_NAME_TAG(name) \ + ) \ +/**/ + +# define BOOST_PARAMETER_SIMPLE_NAME(name) \ + BOOST_PARAMETER_BASIC_NAME(tag, name, BOOST_PP_CAT(_, name)) + +# define BOOST_PARAMETER_NAME(name) \ + BOOST_PP_IIF( \ + BOOST_PARAMETER_IS_BINARY(name) \ + , BOOST_PARAMETER_COMPLEX_NAME \ + , BOOST_PARAMETER_SIMPLE_NAME \ + )(name) \ +/**/ + + +# define BOOST_PARAMETER_TEMPLATE_KEYWORD(name) \ + namespace tag \ + { \ + struct name; \ + } \ + template \ + struct name \ + : boost::parameter::template_keyword \ + {}; \ +/**/ + +#endif // BOOST_PARAMETER_NAME_060806_HPP + diff --git a/external/boost/parameter/parameters.hpp b/external/boost/parameter/parameters.hpp new file mode 100644 index 000000000..97e102434 --- /dev/null +++ b/external/boost/parameter/parameters.hpp @@ -0,0 +1,931 @@ +// Copyright David Abrahams, Daniel Wallin 2003. Use, modification and +// distribution is subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETERS_031014_HPP +#define BOOST_PARAMETERS_031014_HPP + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace parameter_ +{ + template + struct unmatched_argument + { + BOOST_MPL_ASSERT((boost::is_same)); + typedef int type; + }; +} // namespace parameter_ + +namespace boost { + +template class reference_wrapper; + +namespace parameter { + +namespace aux { struct use_default {}; } + +// These templates can be used to describe the treatment of particular +// named parameters for the purposes of overload elimination with +// SFINAE, by placing specializations in the parameters<...> list. In +// order for a treated function to participate in overload resolution: +// +// - all keyword tags wrapped in required<...> must have a matching +// actual argument +// +// - The actual argument type matched by every keyword tag +// associated with a predicate must satisfy that predicate +// +// If a keyword k is specified without an optional<...> or +// required<...>, wrapper, it is treated as though optional were +// specified. +// +// If a keyword k is specified with deduced<...>, that keyword +// will be automatically deduced from the argument list. +// +template +struct required +{ + typedef Tag key_type; + typedef Predicate predicate; +}; + +template +struct optional +{ + typedef Tag key_type; + typedef Predicate predicate; +}; + +template +struct deduced +{ + typedef Tag key_type; +}; + +namespace aux +{ + // Defines metafunctions, is_required and is_optional, that + // identify required<...>, optional<...> and deduced<...> specializations. + BOOST_DETAIL_IS_XXX_DEF(required, required, 2) + BOOST_DETAIL_IS_XXX_DEF(optional, optional, 2) + BOOST_DETAIL_IS_XXX_DEF(deduced_aux, deduced, 1) + + template + struct is_deduced0 + : is_deduced_aux< + typename S::key_type + >::type + {}; + + template + struct is_deduced + : mpl::eval_if< + mpl::or_< + is_optional, is_required + > + , is_deduced0 + , mpl::false_ + >::type + {}; + + // + // key_type, has_default, and predicate -- + // + // These metafunctions accept a ParameterSpec and extract the + // keyword tag, whether or not a default is supplied for the + // parameter, and the predicate that the corresponding actual + // argument type is required match. + // + // a ParameterSpec is a specialization of either keyword<...>, + // required<...>, optional<...> + // + + // helper for key_type<...>, below. + template + struct get_tag_type0 + { + typedef typename T::key_type type; + }; + + template + struct get_tag_type + : mpl::eval_if< + is_deduced_aux + , get_tag_type0 + , mpl::identity + > + {}; + + template + struct tag_type + : mpl::eval_if< + mpl::or_< + is_optional + , is_required + > + , get_tag_type + , mpl::identity + > + {}; + + template + struct has_default + : mpl::not_ > + {}; + + // helper for get_predicate<...>, below + template + struct get_predicate_or_default + { + typedef T type; + }; + + template <> + struct get_predicate_or_default + { + typedef mpl::always type; + }; + + // helper for predicate<...>, below + template + struct get_predicate + { + typedef typename + get_predicate_or_default::type + type; + }; + + template + struct predicate + : mpl::eval_if< + mpl::or_< + is_optional + , is_required + > + , get_predicate + , mpl::identity > + > + { + }; + + + // Converts a ParameterSpec into a specialization of + // parameter_requirements. We need to do this in order to get the + // tag_type into the type in a way that can be conveniently matched + // by a satisfies(...) member function in arg_list. + template + struct as_parameter_requirements + { + typedef parameter_requirements< + typename tag_type::type + , typename predicate::type + , typename has_default::type + > type; + }; + + template + struct is_named_argument + : mpl::or_< + is_template_keyword + , is_tagged_argument + > + {}; + + // Returns mpl::true_ iff the given ParameterRequirements are + // satisfied by ArgList. + template + struct satisfies + { +#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) + // VC7.1 can't handle the sizeof() implementation below, + // so we use this instead. + typedef typename mpl::apply_wrap3< + typename ArgList::binding + , typename ParameterRequirements::keyword + , void_ + , mpl::false_ + >::type bound; + + typedef typename mpl::eval_if< + is_same + , typename ParameterRequirements::has_default + , mpl::apply_wrap2< + typename mpl::lambda< + typename ParameterRequirements::predicate, lambda_tag + >::type + , bound + , ArgList + > + >::type type; +#else + BOOST_STATIC_CONSTANT( + bool, value = ( + sizeof( + aux::to_yesno( + ArgList::satisfies((ParameterRequirements*)0, (ArgList*)0) + ) + ) == sizeof(yes_tag) + ) + ); + + typedef mpl::bool_ type; +#endif + }; + + // Returns mpl::true_ if the requirements of the given ParameterSpec + // are satisfied by ArgList. + template + struct satisfies_requirements_of + : satisfies< + ArgList + , typename as_parameter_requirements::type + > + {}; + + // Tags a deduced argument Arg with the keyword tag of Spec using TagFn. + // Returns the tagged argument and the mpl::set<> UsedArgs with the + // tag of Spec inserted. + template + struct tag_deduced + { + typedef mpl::pair< + typename mpl::apply_wrap2::type, Arg>::type + , typename aux::insert_::type>::type + > type; + }; + + template < + class Argument + , class ArgumentPack + , class DeducedArgs + , class UsedArgs + , class TagFn + > + struct deduce_tag; + + // Tag type passed to MPL lambda. + struct lambda_tag; + + // Helper for deduce_tag<> below. + template < + class Argument + , class ArgumentPack + , class DeducedArgs + , class UsedArgs + , class TagFn + > + struct deduce_tag0 + { + typedef typename DeducedArgs::spec spec; + + typedef typename mpl::apply_wrap2< + typename mpl::lambda< + typename spec::predicate, lambda_tag + >::type + , Argument + , ArgumentPack + >::type condition; + + // Deduced parameter matches several arguments. + + BOOST_MPL_ASSERT(( + mpl::not_::type> + > > + )); + + typedef typename mpl::eval_if< + condition + , tag_deduced + , deduce_tag + >::type type; + }; + + // Tries to deduced a keyword tag for a given Argument. + // Returns an mpl::pair<> consisting of the tagged_argument<>, + // and an mpl::set<> where the new tag has been inserted. + // + // Argument: The argument type to be tagged. + // + // ArgumentPack: The ArgumentPack built so far. + // + // DeducedArgs: A specialization of deduced_item<> (see below). + // A list containing only the deduced ParameterSpecs. + // + // UsedArgs: An mpl::set<> containing the keyword tags used so far. + // + // TagFn: A metafunction class used to tag positional or deduced + // arguments with a keyword tag. + + template < + class Argument + , class ArgumentPack + , class DeducedArgs + , class UsedArgs + , class TagFn + > + struct deduce_tag + { + typedef typename mpl::eval_if< + is_same + , mpl::pair + , deduce_tag0 + >::type type; + }; + + template < + class List + , class DeducedArgs + , class TagFn + , class Positional + , class UsedArgs + , class ArgumentPack + , class Error + > + struct make_arg_list_aux; + + // Inserts Tagged::key_type into the UserArgs set. + // Extra indirection to lazily evaluate Tagged::key_type. + template + struct insert_tagged + { + typedef typename aux::insert_< + UsedArgs, typename Tagged::key_type + >::type type; + }; + + // Borland needs the insane extra-indirection workaround below + // so that it doesn't magically drop the const qualifier from + // the argument type. + + template < + class List + , class DeducedArgs + , class TagFn + , class Positional + , class UsedArgs + , class ArgumentPack +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + , class argument +#endif + , class Error + > +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + struct make_arg_list00 +#else + struct make_arg_list0 +#endif + { +#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + typedef typename List::arg argument; +#endif + typedef typename List::spec parameter_spec; + typedef typename tag_type::type tag_; + + typedef is_named_argument is_tagged; + + // If this argument is either explicitly tagged or a deduced + // parameter, we turn off positional matching. + typedef mpl::and_< + mpl::not_< + mpl::or_, is_tagged> + > + , Positional + > positional; + + // If this parameter is explicitly tagged we add it to the + // used-parmeters set. We only really need to add parameters + // that are deduced, but we would need a way to check if + // a given tag corresponds to a deduced parameter spec. + typedef typename mpl::eval_if< + is_tagged + , insert_tagged + , mpl::identity + >::type used_args; + + // If this parameter is neither explicitly tagged, nor + // positionally matched; deduce the tag from the deduced + // parameter specs. + typedef typename mpl::eval_if< + mpl::or_ + , mpl::pair + , deduce_tag + >::type deduced_data; + + // If this parameter is explicitly tagged.. + typedef typename mpl::eval_if< + is_tagged + , mpl::identity // .. just use it + , mpl::eval_if< // .. else, if positional matching is turned on.. + positional + , mpl::apply_wrap2 // .. tag it positionally + , mpl::first // .. else, use the deduced tag + > + >::type tagged; + + // We build the arg_list incrementally as we go, prepending new + // nodes. + + typedef typename mpl::if_< + mpl::and_< + is_same + , is_same + > + , parameter_::unmatched_argument + , void_ + >::type error; + + typedef typename mpl::if_< + is_same + , ArgumentPack + , arg_list + >::type argument_pack; + + typedef typename make_arg_list_aux< + typename List::tail + , DeducedArgs + , TagFn + , positional + , typename deduced_data::second + , argument_pack + , error + >::type type; + }; + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + template < + class List + , class DeducedArgs + , class TagFn + , class Positional + , class UsedArgs + , class ArgumentPack + , class Error + > + struct make_arg_list0 + { + typedef typename mpl::eval_if< + typename List::is_arg_const + , make_arg_list00< + List + , DeducedArgs + , TagFn + , Positional + , UsedArgs + , ArgumentPack + , typename List::arg const + , Error + > + , make_arg_list00< + List + , DeducedArgs + , TagFn + , Positional + , UsedArgs + , ArgumentPack + , typename List::arg + , Error + > + >::type type; + }; +#endif + + // Returns an ArgumentPack where the list of arguments has + // been tagged with keyword tags. + // + // List: A specialization of item<> (see below). Contains + // both the ordered ParameterSpecs, and the given arguments. + // + // DeducedArgs: A specialization of deduced_item<> (see below). + // A list containing only the deduced ParameterSpecs. + // + // TagFn: A metafunction class used to tag positional or deduced + // arguments with a keyword tag. + // + // Position: An mpl::bool_<> specialization indicating if positional + // matching is to be performed. + // + // DeducedSet: An mpl::set<> containing the keyword tags used so far. + // + // ArgumentPack: The ArgumentPack built so far. This is initially an + // empty_arg_list and is built incrementally. + // + + template < + class List + , class DeducedArgs + , class TagFn + , class Positional + , class DeducedSet + , class ArgumentPack + , class Error + > + struct make_arg_list_aux + { + typedef typename mpl::eval_if< + is_same + , mpl::identity > + , make_arg_list0 + >::type type; + }; + + // VC6.5 was choking on the default parameters for make_arg_list_aux, so + // this just forwards to that adding in the defaults. + template < + class List + , class DeducedArgs + , class TagFn + , class EmitErrors = mpl::true_ + > + struct make_arg_list + { + typedef typename make_arg_list_aux< + List, DeducedArgs, TagFn, mpl::true_, aux::set0, empty_arg_list, void_ + >::type type; + }; + + // A parameter spec item typelist. + template + struct item + { + typedef Spec spec; + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + typedef is_const is_arg_const; +#endif + + typedef Arg arg; + typedef Tail tail; + }; + + template + struct make_item + { + typedef item type; + }; + + // Creates a item typelist. + template + struct make_items + { + typedef typename mpl::eval_if< + is_same + , mpl::identity + , make_item + >::type type; + }; + + // A typelist that stored deduced parameter specs. + template + struct deduced_item + { + typedef ParameterSpec spec; + typedef Tail tail; + }; + + // Evaluate Tail and construct deduced_item list. + template + struct make_deduced_item + { + typedef deduced_item type; + }; + + template + struct make_deduced_items + { + typedef typename mpl::eval_if< + is_same + , mpl::identity + , mpl::eval_if< + is_deduced + , make_deduced_item + , Tail + > + >::type type; + }; + + // Generates: + // + // make< + // parameter_spec#0, argument_type#0 + // , make< + // parameter_spec#1, argument_type#1 + // , ... mpl::identity + // ...> + // > +#define BOOST_PARAMETER_make_arg_list(z, n, names) \ + BOOST_PP_SEQ_ELEM(0,names)< \ + BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names), n), \ + BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(2,names), n), + +#define BOOST_PARAMETER_right_angle(z, n, text) > + +#define BOOST_PARAMETER_build_arg_list(n, make, parameter_spec, argument_type) \ + BOOST_PP_REPEAT( \ + n, BOOST_PARAMETER_make_arg_list, (make)(parameter_spec)(argument_type)) \ + mpl::identity \ + BOOST_PP_REPEAT(n, BOOST_PARAMETER_right_angle, _) + +#define BOOST_PARAMETER_make_deduced_list(z, n, names) \ + BOOST_PP_SEQ_ELEM(0,names)< \ + BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names), n), + +#define BOOST_PARAMETER_build_deduced_list(n, make, parameter_spec) \ + BOOST_PP_REPEAT( \ + n, BOOST_PARAMETER_make_deduced_list, (make)(parameter_spec)) \ + mpl::identity \ + BOOST_PP_REPEAT(n, BOOST_PARAMETER_right_angle, _) + + struct tag_keyword_arg + { + template + struct apply + : tag + {}; + }; + + struct tag_template_keyword_arg + { + template + struct apply + { + typedef template_keyword type; + }; + }; + +} // namespace aux + +#define BOOST_PARAMETER_FORWARD_TYPEDEF(z, i, names) \ + typedef BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(0,names),i) BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names),i); + +#define BOOST_PARAMETER_FORWARD_TYPEDEFS(n, src, dest) \ + BOOST_PP_REPEAT(n, BOOST_PARAMETER_FORWARD_TYPEDEF, (src)(dest)) + + +#define BOOST_PARAMETER_TEMPLATE_ARGS(z, n, text) class BOOST_PP_CAT(PS, n) = void_ + +template< + class PS0 + , BOOST_PP_ENUM_SHIFTED(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_TEMPLATE_ARGS, _) +> +struct parameters +{ +#undef BOOST_PARAMETER_TEMPLATE_ARGS + + typedef typename BOOST_PARAMETER_build_deduced_list( + BOOST_PARAMETER_MAX_ARITY, aux::make_deduced_items, PS + )::type deduced_list; + + // if the elements of NamedList match the criteria of overload + // resolution, returns a type which can be constructed from + // parameters. Otherwise, this is not a valid metafunction (no nested + // ::type). + + +#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) + // If NamedList satisfies the PS0, PS1, ..., this is a + // metafunction returning parameters. Otherwise it + // has no nested ::type. + template + struct match_base + : mpl::if_< + // mpl::and_< + // aux::satisfies_requirements_of + // , mpl::and_< + // aux::satisfies_requirements_of... + // ..., mpl::true_ + // ...> > + +# define BOOST_PARAMETER_satisfies(z, n, text) \ + mpl::and_< \ + aux::satisfies_requirements_of< \ + typename mpl::first::type \ + , BOOST_PP_CAT(PS, n)> \ + , + mpl::and_< + is_same::type, void_> + , BOOST_PP_REPEAT(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_satisfies, _) + mpl::true_ + BOOST_PP_REPEAT(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_right_angle, _) + > + +# undef BOOST_PARAMETER_satisfies + + , mpl::identity + , void_ + > + {}; +#endif + + // Specializations are to be used as an optional argument to + // eliminate overloads via SFINAE + template< +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + // Borland simply can't handle default arguments in member + // class templates. People wishing to write portable code can + // explicitly specify BOOST_PARAMETER_MAX_ARITY arguments + BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A) +#else + BOOST_PP_ENUM_BINARY_PARAMS( + BOOST_PARAMETER_MAX_ARITY, class A, = void_ BOOST_PP_INTERCEPT + ) +#endif + > + struct match +# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) + : match_base< + typename aux::make_arg_list< + typename BOOST_PARAMETER_build_arg_list( + BOOST_PARAMETER_MAX_ARITY, aux::make_items, PS, A + )::type + , deduced_list + , aux::tag_keyword_arg + , mpl::false_ // Don't emit errors when doing SFINAE + >::type + >::type + {}; +# else + { + typedef parameters< + BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, PS) + > type; + }; +# endif + + // Metafunction that returns an ArgumentPack. + + // TODO, bind has to instantiate the error type in the result + // of make_arg_list. + + template < +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + // Borland simply can't handle default arguments in member + // class templates. People wishing to write portable code can + // explicitly specify BOOST_PARAMETER_MAX_ARITY arguments + BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A) +#else + BOOST_PP_ENUM_BINARY_PARAMS( + BOOST_PARAMETER_MAX_ARITY, class A, = void_ BOOST_PP_INTERCEPT + ) +#endif + > + struct bind + { + typedef typename aux::make_arg_list< + typename BOOST_PARAMETER_build_arg_list( + BOOST_PARAMETER_MAX_ARITY, aux::make_items, PS, A + )::type + , deduced_list + , aux::tag_template_keyword_arg + >::type result; + + typedef typename mpl::first::type type; + }; + + BOOST_PARAMETER_FORWARD_TYPEDEFS(BOOST_PARAMETER_MAX_ARITY, PS, parameter_spec) + + // + // The function call operator is used to build an arg_list that + // labels the positional parameters and maintains whatever other + // tags may have been specified by the caller. + // + // !!!NOTE!!! + // + // The make_arg_list<> produces a reversed arg_list, so + // we need to pass the arguments to its constructor + // reversed. + // + aux::empty_arg_list operator()() const + { + return aux::empty_arg_list(); + } + + template + typename mpl::first< + typename aux::make_arg_list< + aux::item< + PS0,A0 + > + , deduced_list + , aux::tag_keyword_arg + >::type + >::type + operator()(A0& a0) const + { + typedef typename aux::make_arg_list< + aux::item< + PS0,A0 + > + , deduced_list + , aux::tag_keyword_arg + >::type result; + + typedef typename mpl::first::type result_type; + typedef typename mpl::second::type error; + error(); + + return result_type( + a0 + // , void_(), void_(), void_() ... + BOOST_PP_ENUM_TRAILING_PARAMS( + BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, 1) + , aux::void_reference() BOOST_PP_INTERCEPT) + ); + } + + template + typename mpl::first< + typename aux::make_arg_list< + aux::item< + PS0,A0 + , aux::item< + PS1,A1 + > + > + , deduced_list + , aux::tag_keyword_arg + >::type + >::type + operator()(A0& a0, A1& a1) const + { + typedef typename aux::make_arg_list< + aux::item< + PS0,A0 + , aux::item< + PS1,A1 + > + > + , deduced_list + , aux::tag_keyword_arg + >::type result; + + typedef typename mpl::first::type result_type; + typedef typename mpl::second::type error; + error(); + + return result_type( + a1,a0 + // , void_(), void_() ... + BOOST_PP_ENUM_TRAILING_PARAMS( + BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, 2) + , aux::void_reference() BOOST_PP_INTERCEPT) + ); + } + + // Higher arities are handled by the preprocessor +#define BOOST_PP_ITERATION_PARAMS_1 (3,( \ + 3,BOOST_PARAMETER_MAX_ARITY, \ + )) +#include BOOST_PP_ITERATE() + +}; + +} // namespace parameter + +} // namespace boost + +#endif // BOOST_PARAMETERS_031014_HPP + diff --git a/external/boost/parameter/preprocessor.hpp b/external/boost/parameter/preprocessor.hpp new file mode 100644 index 000000000..8ea370cb4 --- /dev/null +++ b/external/boost/parameter/preprocessor.hpp @@ -0,0 +1,1077 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_PREPROCESSOR_060206_HPP +# define BOOST_PARAMETER_PREPROCESSOR_060206_HPP + +# include +# include +# include + +# include +# include +# include + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include + +# include +# include + +namespace boost { namespace parameter { namespace aux { + +# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) + +// Given Match, which is "void x" where x is an argument matching +// criterion, extract a corresponding MPL predicate. +template +struct unwrap_predicate; + +// Match anything +template <> +struct unwrap_predicate +{ + typedef mpl::always type; +}; + +#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580)) + +typedef void* voidstar; + +// A matching predicate is explicitly specified +template +struct unwrap_predicate +{ + typedef Predicate type; +}; + +#else + +// A matching predicate is explicitly specified +template +struct unwrap_predicate +{ + typedef Predicate type; +}; + +#endif + + +// A type to which the argument is supposed to be convertible is +// specified +template +struct unwrap_predicate +{ + typedef is_convertible type; +}; + +// Recast the ParameterSpec's nested match metafunction as a free metafunction +template < + class Parameters + , BOOST_PP_ENUM_BINARY_PARAMS( + BOOST_PARAMETER_MAX_ARITY, class A, = boost::parameter::void_ BOOST_PP_INTERCEPT + ) +> +struct match + : Parameters::template match< + BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, A) + > +{}; +# endif + +# undef false_ + +template < + class Parameters + , BOOST_PP_ENUM_BINARY_PARAMS( + BOOST_PARAMETER_MAX_ARITY, class A, = boost::parameter::void_ BOOST_PP_INTERCEPT + ) +> +struct argument_pack +{ + typedef typename make_arg_list< + typename BOOST_PARAMETER_build_arg_list( + BOOST_PARAMETER_MAX_ARITY, make_items, typename Parameters::parameter_spec, A + )::type + , typename Parameters::deduced_list + , tag_keyword_arg + , mpl::false_ + >::type result; + typedef typename mpl::first::type type; +}; + +// Works around VC6 problem where it won't accept rvalues. +template +T& as_lvalue(T& value, long) +{ + return value; +} + +template +T const& as_lvalue(T const& value, int) +{ + return value; +} + + +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + +template +struct apply_predicate +{ + BOOST_MPL_ASSERT(( + mpl::and_ + )); + + typedef typename mpl::if_< + typename mpl::apply2::type + , char + , int + >::type type; +}; + +template +struct funptr_predicate +{ + static P p; + + template + static typename apply_predicate::type + check_predicate(type, Args*, void**(*)(P0)); + + template + static typename mpl::if_< + is_convertible + , char + , int + >::type check_predicate(type, Args*, void*(*)(P0)); + + template + struct apply + { + BOOST_STATIC_CONSTANT(bool, result = + sizeof(check_predicate(boost::type(), (Args*)0, &p)) == 1 + ); + + typedef mpl::bool_::result> type; + }; +}; + +template <> +struct funptr_predicate + : mpl::always +{}; + +# endif + +}}} // namespace boost::parameter::aux + +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +// From Paul Mensonides +# define BOOST_PARAMETER_IS_NULLARY(x) \ + BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_NULLARY_C x BOOST_PP_COMMA() 0) \ + /**/ +# define BOOST_PARAMETER_IS_NULLARY_C() \ + ~, 1 BOOST_PP_RPAREN() \ + BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~ \ + /**/ +# else +# define BOOST_PARAMETER_IS_NULLARY(x) BOOST_PP_IS_NULLARY(x) +# endif + +# define BOOST_PARAMETER_MEMBER_FUNCTION_CHECK_STATIC_static () +# define BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \ + BOOST_PARAMETER_IS_NULLARY( \ + BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_CHECK_STATIC_,name) \ + ) + +# if !defined(BOOST_MSVC) +# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_static +# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC(name) \ + BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_, name) +# else +// Workaround for MSVC preprocessor. +// +// When stripping static from "static f", msvc will produce +// " f". The leading whitespace doesn't go away when pasting +// the token with something else, so this thing is a hack to +// strip the whitespace. +# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_static ( +# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_AUX(name) \ + BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_, name)) +# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC(name) \ + BOOST_PP_SEQ_HEAD( \ + BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_AUX(name) \ + ) +# endif + +# define BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ + BOOST_PP_EXPR_IF( \ + BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \ + , static \ + ) + +# define BOOST_PARAMETER_MEMBER_FUNCTION_NAME(name) \ + BOOST_PP_IF( \ + BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \ + , BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC \ + , name BOOST_PP_TUPLE_EAT(1) \ + )(name) + +// Calculates [begin, end) arity range. + +# define BOOST_PARAMETER_ARITY_RANGE_M_optional(state) state +# define BOOST_PARAMETER_ARITY_RANGE_M_deduced_optional(state) state +# define BOOST_PARAMETER_ARITY_RANGE_M_required(state) BOOST_PP_INC(state) +# define BOOST_PARAMETER_ARITY_RANGE_M_deduced_required(state) BOOST_PP_INC(state) + +# define BOOST_PARAMETER_ARITY_RANGE_M(s, state, x) \ + BOOST_PP_CAT( \ + BOOST_PARAMETER_ARITY_RANGE_M_ \ + , BOOST_PARAMETER_FN_ARG_QUALIFIER(x) \ + )(state) +/**/ + +# define BOOST_PARAMETER_ARITY_RANGE(args) \ + ( \ + BOOST_PP_SEQ_FOLD_LEFT(BOOST_PARAMETER_ARITY_RANGE_M, 0, args) \ + , BOOST_PP_INC(BOOST_PP_SEQ_SIZE(args)) \ + ) +/**/ + +// Accessor macros for the argument specs tuple. +# define BOOST_PARAMETER_FN_ARG_QUALIFIER(x) \ + BOOST_PP_TUPLE_ELEM(4,0,x) +/**/ + +# define BOOST_PARAMETER_FN_ARG_NAME(x) \ + BOOST_PP_TUPLE_ELEM(4,1,x) +/**/ + +# define BOOST_PARAMETER_FN_ARG_PRED(x) \ + BOOST_PP_TUPLE_ELEM(4,2,x) +/**/ + +# define BOOST_PARAMETER_FN_ARG_DEFAULT(x) \ + BOOST_PP_TUPLE_ELEM(4,3,x) +/**/ + +# define BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_out(x) +# define BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_in_out(x) + +// Returns 1 if x is either "out(k)" or "in_out(k)". +# define BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER(x) \ + BOOST_PP_IS_EMPTY( \ + BOOST_PP_CAT(BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_, x) \ + ) \ +/**/ + +# define BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_out(x) x +# define BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_in_out(x) x +# define BOOST_PARAMETER_FUNCTION_KEYWORD_GET(x) \ + BOOST_PP_CAT(BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_, x) +/**/ + +// Returns the keyword of x, where x is either a keyword qualifier +// or a keyword. +// +// k => k +// out(k) => k +// in_out(k) => k +// +# define BOOST_PARAMETER_FUNCTION_KEYWORD(x) \ + BOOST_PP_IF( \ + BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER(x) \ + , BOOST_PARAMETER_FUNCTION_KEYWORD_GET \ + , x BOOST_PP_TUPLE_EAT(1) \ + )(x) +/**/ + +# define BOOST_PARAMETER_FN_ARG_KEYWORD(x) \ + BOOST_PARAMETER_FUNCTION_KEYWORD( \ + BOOST_PARAMETER_FN_ARG_NAME(x) \ + ) + +// Builds forwarding functions. + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z(z, n) \ + template +/**/ + +# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) +# define BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z(z, name, parameters, n) \ + , typename boost::parameter::aux::match< \ + parameters, BOOST_PP_ENUM_PARAMS(n, ParameterArgumentType) \ + >::type = parameters() +# else +# define BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z(z, name, parameters, n) +# endif +/**/ + +# define BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(base) \ + BOOST_PP_CAT( \ + boost_param_parameters_ \ + , BOOST_PP_CAT(__LINE__, BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) \ + ) + +// Produce a name for a result type metafunction for the function +// named base +# define BOOST_PARAMETER_FUNCTION_RESULT_NAME(base) \ + BOOST_PP_CAT( \ + boost_param_result_ \ + , BOOST_PP_CAT(__LINE__,BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) \ + ) + +// Can't do boost_param_impl_ ## basee because base might start with an underscore +// daniel: what? how is that relevant? the reason for using CAT() is to make sure +// base is expanded. i'm not sure we need to here, but it's more stable to do it. +# define BOOST_PARAMETER_IMPL(base) \ + BOOST_PP_CAT(boost_param_impl,BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00(z, n, r, data, elem) \ + BOOST_PP_IF( \ + n \ + , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z, BOOST_PP_TUPLE_EAT(2) \ + )(z,n) \ + BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(BOOST_PP_TUPLE_ELEM(7,3,data)) \ + inline \ + BOOST_PP_EXPR_IF(n, typename) \ + BOOST_PARAMETER_FUNCTION_RESULT_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))< \ + BOOST_PP_EXPR_IF(n, typename) \ + boost::parameter::aux::argument_pack< \ + BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data)) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_PP_IF( \ + n, BOOST_PP_SEQ_ENUM, BOOST_PP_TUPLE_EAT(1) \ + )(elem) \ + >::type \ + >::type \ + BOOST_PARAMETER_MEMBER_FUNCTION_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))( \ + BOOST_PP_IF( \ + n \ + , BOOST_PP_SEQ_FOR_EACH_I_R \ + , BOOST_PP_TUPLE_EAT(4) \ + )( \ + r \ + , BOOST_PARAMETER_FUNCTION_ARGUMENT \ + , ~ \ + , elem \ + ) \ + BOOST_PP_IF(n, BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z, BOOST_PP_TUPLE_EAT(4))( \ + z \ + , BOOST_PP_TUPLE_ELEM(7,3,data) \ + , BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data)) \ + , n \ + ) \ + ) BOOST_PP_EXPR_IF(BOOST_PP_TUPLE_ELEM(7,4,data), const) \ + { \ + return BOOST_PARAMETER_IMPL(BOOST_PP_TUPLE_ELEM(7,3,data))( \ + BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))()( \ + BOOST_PP_ENUM_PARAMS_Z(z, n, a) \ + ) \ + ); \ + } +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION0(r, data, elem) \ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00( \ + BOOST_PP_TUPLE_ELEM(7,0,data) \ + , BOOST_PP_TUPLE_ELEM(7,1,data) \ + , r \ + , data \ + , elem \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_0(z, n, data) \ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00( \ + z, n, BOOST_PP_DEDUCE_R() \ + , (z, n, BOOST_PP_TUPLE_REM(5) data) \ + , ~ \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_N(z, n, data) \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTION0 \ + , (z, n, BOOST_PP_TUPLE_REM(5) data) \ + , BOOST_PP_SEQ_FOR_EACH_PRODUCT( \ + BOOST_PARAMETER_FUNCTION_FWD_PRODUCT \ + , BOOST_PP_SEQ_FIRST_N( \ + n, BOOST_PP_TUPLE_ELEM(5,3,data) \ + ) \ + ) \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION(z, n, data) \ + BOOST_PP_IF( \ + n \ + , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_N \ + , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_0 \ + )(z,n,data) \ +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS0( \ + result,name,args,const_,combinations,range \ +) \ + BOOST_PP_REPEAT_FROM_TO( \ + BOOST_PP_TUPLE_ELEM(2,0,range), BOOST_PP_TUPLE_ELEM(2,1,range) \ + , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION \ + , (result,name,const_,combinations,BOOST_PP_TUPLE_ELEM(2,1,range)) \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS(result,name,args, const_, combinations) \ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS0( \ + result, name, args, const_, combinations, BOOST_PARAMETER_ARITY_RANGE(args) \ + ) +/**/ + +// Builds boost::parameter::parameters<> specialization +# define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_optional(tag) \ + optional + +# define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_deduced_required(tag) \ + required + +# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + +# define BOOST_PARAMETER_FUNCTION_PARAMETERS_M(r,tag_namespace,i,elem) \ + BOOST_PP_COMMA_IF(i) \ + boost::parameter::BOOST_PP_CAT( \ + BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_ \ + , BOOST_PARAMETER_FN_ARG_QUALIFIER(elem) \ + )( \ + tag_namespace::BOOST_PARAMETER_FUNCTION_KEYWORD( \ + BOOST_PARAMETER_FN_ARG_KEYWORD(elem) \ + ) \ + ) \ + , typename boost::parameter::aux::unwrap_predicate< \ + void BOOST_PARAMETER_FN_ARG_PRED(elem) \ + >::type \ + > +# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# define BOOST_PARAMETER_FUNCTION_PARAMETERS_M(r,tag_namespace,i,elem) \ + BOOST_PP_COMMA_IF(i) \ + boost::parameter::BOOST_PP_CAT( \ + BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_ \ + , BOOST_PARAMETER_FN_ARG_QUALIFIER(elem) \ + )( \ + tag_namespace::BOOST_PARAMETER_FUNCTION_KEYWORD( \ + BOOST_PARAMETER_FN_ARG_KEYWORD(elem) \ + ) \ + ) \ + , boost::mpl::always \ + > +# endif + +# define BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, base, args) \ + template \ + struct BOOST_PP_CAT( \ + BOOST_PP_CAT(boost_param_params_, __LINE__) \ + , BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base) \ + ) : boost::parameter::parameters< \ + BOOST_PP_SEQ_FOR_EACH_I( \ + BOOST_PARAMETER_FUNCTION_PARAMETERS_M, tag_namespace, args \ + ) \ + > \ + {}; \ + \ + typedef BOOST_PP_CAT( \ + BOOST_PP_CAT(boost_param_params_, __LINE__) \ + , BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base) \ + ) + +// Defines result type metafunction +# define BOOST_PARAMETER_FUNCTION_RESULT_ARG(z, _, i, x) \ + BOOST_PP_COMMA_IF(i) class BOOST_PP_TUPLE_ELEM(3,1,x) +/**/ + +# define BOOST_PARAMETER_FUNCTION_RESULT_(result, name, args) \ + template \ + struct BOOST_PARAMETER_FUNCTION_RESULT_NAME(name) \ + { \ + typedef typename BOOST_PARAMETER_PARENTHESIZED_TYPE(result) type; \ + }; + +// Defines implementation function +# define BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name) \ + template \ + typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)< \ + Args \ + >::type BOOST_PARAMETER_IMPL(name)(Args const& args) + +# define BOOST_PARAMETER_FUNCTION_IMPL_FWD(name) \ + BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name); +/**/ + +# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_required(state, arg) \ + ( \ + BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 0, state)) \ + , BOOST_PP_SEQ_PUSH_BACK(BOOST_PP_TUPLE_ELEM(4, 1, state), arg) \ + , BOOST_PP_TUPLE_ELEM(4, 2, state) \ + , BOOST_PP_TUPLE_ELEM(4, 3, state) \ + ) + +# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_deduced_required(state, arg) \ + BOOST_PARAMETER_FUNCTION_SPLIT_ARG_required(state, arg) + +# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_optional(state, arg) \ + ( \ + BOOST_PP_TUPLE_ELEM(4, 0, state) \ + , BOOST_PP_TUPLE_ELEM(4, 1, state) \ + , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 2, state)) \ + , BOOST_PP_SEQ_PUSH_BACK(BOOST_PP_TUPLE_ELEM(4, 3, state), arg) \ + ) + +# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_deduced_optional(state, arg) \ + BOOST_PARAMETER_FUNCTION_SPLIT_ARG_optional(state, arg) + +# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG(s, state, arg) \ + BOOST_PP_CAT( \ + BOOST_PARAMETER_FUNCTION_SPLIT_ARG_ \ + , BOOST_PARAMETER_FN_ARG_QUALIFIER(arg) \ + )(state, arg) + +// Returns (required_count, required, optional_count, optionals) tuple +# define BOOST_PARAMETER_FUNCTION_SPLIT_ARGS(args) \ + BOOST_PP_SEQ_FOLD_LEFT( \ + BOOST_PARAMETER_FUNCTION_SPLIT_ARG \ + , (0,BOOST_PP_SEQ_NIL, 0,BOOST_PP_SEQ_NIL) \ + , args \ + ) + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME(keyword) \ + BOOST_PP_CAT(BOOST_PP_CAT(keyword,_),type) + +// Helpers used as parameters to BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS. +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG(r, _, arg) \ + , class BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME( \ + BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \ + ) + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG(r, _, arg) \ + , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME( \ + BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \ + )& BOOST_PARAMETER_FN_ARG_KEYWORD(arg) + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER(r, _, arg) \ + , BOOST_PARAMETER_FN_ARG_KEYWORD(arg) + +// Produces a name for the dispatch functions. +# define BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name) \ + BOOST_PP_CAT( \ + boost_param_default_ \ + , BOOST_PP_CAT(__LINE__, BOOST_PARAMETER_MEMBER_FUNCTION_NAME(name)) \ + ) + +// Helper macro used below to produce lists based on the keyword argument +// names. macro is applied to every element. n is the number of +// optional arguments that should be included. +# define BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS(macro, n, split_args) \ + BOOST_PP_SEQ_FOR_EACH( \ + macro \ + , ~ \ + , BOOST_PP_TUPLE_ELEM(4,1,split_args) \ + ) \ + BOOST_PP_SEQ_FOR_EACH( \ + macro \ + , ~ \ + , BOOST_PP_SEQ_FIRST_N( \ + BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), n) \ + , BOOST_PP_TUPLE_ELEM(4,3,split_args) \ + ) \ + ) + +// Generates a keyword | default expression. +# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT(arg, tag_namespace) \ + boost::parameter::keyword< \ + tag_namespace::BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \ + >::instance | boost::parameter::aux::use_default_tag() + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_GET_ARG(arg, tag_ns) \ + BOOST_PARAMETER_FUNCTION_CAST( \ + args[ \ + BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT( \ + arg, tag_ns \ + ) \ + ] \ + , BOOST_PARAMETER_FN_ARG_PRED(arg) \ + , Args \ + ) + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_BODY(name, n, split_args, tag_namespace) \ + { \ + return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ + (ResultType(*)())0 \ + , args \ + , 0L \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER \ + , n \ + , split_args \ + ) \ + , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_GET_ARG( \ + BOOST_PP_SEQ_ELEM( \ + BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), n) \ + , BOOST_PP_TUPLE_ELEM(4,3,split_args) \ + ) \ + , tag_namespace \ + ) \ + ); \ + } + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_ACTUAL_DEFAULT(arg) \ + BOOST_PARAMETER_FUNCTION_CAST( \ + boost::parameter::aux::as_lvalue(BOOST_PARAMETER_FN_ARG_DEFAULT(arg), 0L) \ + , BOOST_PARAMETER_FN_ARG_PRED(arg) \ + , Args \ + ) + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT_BODY(name, n, split_args, tag_ns, const_) \ + template < \ + class ResultType \ + , class Args \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \ + , BOOST_PP_INC(n) \ + , split_args \ + ) \ + > \ + BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ + ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ + ResultType(*)() \ + , Args const& args \ + , long \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \ + , BOOST_PP_INC(n) \ + , split_args \ + ) \ + , boost::parameter::aux::use_default_tag \ + ) BOOST_PP_EXPR_IF(const_, const) \ + { \ + return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ + (ResultType(*)())0 \ + , args \ + , 0L \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER \ + , BOOST_PP_INC(n) \ + , split_args \ + ) \ + , BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_ACTUAL_DEFAULT( \ + BOOST_PP_SEQ_ELEM( \ + BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), BOOST_PP_INC(n)) \ + , BOOST_PP_TUPLE_ELEM(4,3,split_args) \ + ) \ + ) \ + ); \ + } + +// Produces a forwarding layer in the default evaluation machine. +// +// data is a tuple: +// +// (name, split_args) +// +// Where name is the base name of the function, and split_args is a tuple: +// +// (required_count, required_args, optional_count, required_args) +// + + +// defines the actual function body for BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION below. +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION0(z, n, data) \ + template < \ + class ResultType \ + , class Args \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \ + , n \ + , BOOST_PP_TUPLE_ELEM(5,1,data) \ + ) \ + > \ + BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(BOOST_PP_TUPLE_ELEM(5,0,data)) \ + ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(BOOST_PP_TUPLE_ELEM(5,0,data))( \ + ResultType(*)() \ + , Args const& args \ + , int \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \ + , n \ + , BOOST_PP_TUPLE_ELEM(5,1,data) \ + ) \ + ) BOOST_PP_EXPR_IF(BOOST_PP_TUPLE_ELEM(5,2,data), const) \ + BOOST_PP_IF( \ + n \ + , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_BODY \ + , ; BOOST_PP_TUPLE_EAT(4) \ + )( \ + BOOST_PP_TUPLE_ELEM(5,0,data) \ + , n \ + , BOOST_PP_TUPLE_ELEM(5,1,data) \ + , BOOST_PP_TUPLE_ELEM(5,3,data) \ + ) + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION(z, n, data) \ + BOOST_PP_IF( \ + BOOST_PP_AND( \ + BOOST_PP_NOT(n) \ + , BOOST_PP_TUPLE_ELEM(5,4,data) \ + ) \ + , BOOST_PP_TUPLE_EAT(3) \ + , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION0 \ + )(z, n, data) \ + BOOST_PP_IF( \ + BOOST_PP_EQUAL(n, BOOST_PP_TUPLE_ELEM(4,2,BOOST_PP_TUPLE_ELEM(5,1,data))) \ + , BOOST_PP_TUPLE_EAT(5) \ + , BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT_BODY \ + )( \ + BOOST_PP_TUPLE_ELEM(5,0,data) \ + , n \ + , BOOST_PP_TUPLE_ELEM(5,1,data) \ + , BOOST_PP_TUPLE_ELEM(5,3,data) \ + , BOOST_PP_TUPLE_ELEM(5,2,data) \ + ) + +# define BOOST_PARAMETER_FUNCTION_DEFAULT_GET_ARG(r, tag_ns, arg) \ + , BOOST_PARAMETER_FUNCTION_CAST( \ + args[ \ + boost::parameter::keyword::instance \ + ] \ + , BOOST_PARAMETER_FN_ARG_PRED(arg) \ + , Args \ + ) + +// Generates the function template that recives a ArgumentPack, and then +// goes on to call the layers of overloads generated by +// BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER. +# define BOOST_PARAMETER_FUNCTION_INITIAL_DISPATCH_FUNCTION(name, split_args, const_, tag_ns) \ + template \ + typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)::type \ + BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ + BOOST_PARAMETER_IMPL(name)(Args const& args) BOOST_PP_EXPR_IF(const_, const) \ + { \ + return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ + (typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)::type(*)())0 \ + , args \ + , 0L \ + \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_GET_ARG \ + , tag_ns \ + , BOOST_PP_TUPLE_ELEM(4,1,split_args) \ + ) \ + \ + ); \ + } + +// Helper for BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER below. +# define BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER_AUX( \ + name, split_args, skip_fwd_decl, const_, tag_namespace \ + ) \ + BOOST_PP_REPEAT_FROM_TO( \ + 0 \ + , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 2, split_args)) \ + , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION \ + , (name, split_args, const_, tag_namespace, skip_fwd_decl) \ + ) \ + \ + BOOST_PARAMETER_FUNCTION_INITIAL_DISPATCH_FUNCTION(name, split_args, const_, tag_namespace) \ +\ + template < \ + class ResultType \ + , class Args \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \ + , 0 \ + , split_args \ + ) \ + > \ + BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ + ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ + ResultType(*)() \ + , Args const& \ + , int \ + BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ + BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \ + , 0 \ + , split_args \ + ) \ + ) BOOST_PP_EXPR_IF(const_, const) + +// Generates a bunch of forwarding functions that each extract +// one more argument. +# define BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, skip_fwd_decl, const_, tag_ns) \ + BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER_AUX( \ + name, BOOST_PARAMETER_FUNCTION_SPLIT_ARGS(args), skip_fwd_decl, const_, tag_ns \ + ) +/**/ + +// Defines the result metafunction and the parameters specialization. +# define BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ + BOOST_PARAMETER_FUNCTION_RESULT_(result, name, args) \ + \ + BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, name, args) \ + BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(name); \ + +// Helper for BOOST_PARAMETER_FUNCTION below. +# define BOOST_PARAMETER_FUNCTION_AUX(result, name, tag_namespace, args) \ + BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ + BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name); \ +\ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ + result, name, args, 0 \ + , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ + ) \ + \ + BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, 0, 0, tag_namespace) + +// Defines a Boost.Parameter enabled function with the new syntax. +# define BOOST_PARAMETER_FUNCTION(result, name, tag_namespace, args) \ + BOOST_PARAMETER_FUNCTION_AUX( \ + result, name, tag_namespace \ + , BOOST_PARAMETER_FLATTEN(3, 2, 3, args) \ + ) \ +/**/ + +// Defines a Boost.Parameter enabled function. +# define BOOST_PARAMETER_BASIC_FUNCTION_AUX(result, name, tag_namespace, args) \ + BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ + \ + BOOST_PARAMETER_FUNCTION_IMPL_FWD(name) \ + \ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ + result, name, args, 0 \ + , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ + ) \ + \ + BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name) + +# define BOOST_PARAMETER_BASIC_FUNCTION(result, name, tag_namespace, args) \ + BOOST_PARAMETER_BASIC_FUNCTION_AUX( \ + result, name, tag_namespace \ + , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ + ) \ +/**/ + +// Defines a Boost.Parameter enabled member function. +# define BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX(result, name, tag_namespace, args, const_) \ + BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ + \ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ + result, name, args, const_ \ + , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ + ) \ + \ + BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name) BOOST_PP_EXPR_IF(const_, const) \ +/**/ + +# define BOOST_PARAMETER_BASIC_MEMBER_FUNCTION(result, name, tag_namespace, args) \ + BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX( \ + result, name, tag_namespace \ + , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ + , 0 \ + ) +/**/ + +# define BOOST_PARAMETER_BASIC_CONST_MEMBER_FUNCTION(result, name, tag_namespace, args) \ + BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX( \ + result, name, tag_namespace \ + , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ + , 1 \ + ) +/**/ + + + +# define BOOST_PARAMETER_MEMBER_FUNCTION_AUX(result, name, tag_namespace, const_, args) \ + BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ +\ + BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ + result, name, args, const_ \ + , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ + ) \ + \ + BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, 1, const_, tag_namespace) + +// Defines a Boost.Parameter enabled function with the new syntax. +# define BOOST_PARAMETER_MEMBER_FUNCTION(result, name, tag_namespace, args) \ + BOOST_PARAMETER_MEMBER_FUNCTION_AUX( \ + result, name, tag_namespace, 0 \ + , BOOST_PARAMETER_FLATTEN(3, 2, 3, args) \ + ) \ +/**/ + +# define BOOST_PARAMETER_CONST_MEMBER_FUNCTION(result, name, tag_namespace, args) \ + BOOST_PARAMETER_MEMBER_FUNCTION_AUX( \ + result, name, tag_namespace, 1 \ + , BOOST_PARAMETER_FLATTEN(3, 2, 3, args) \ + ) \ +/**/ + +// Defines a Boost.Parameter enabled constructor. + +# define BOOST_PARAMETER_FUNCTION_ARGUMENT(r, _, i, elem) \ + BOOST_PP_COMMA_IF(i) elem& BOOST_PP_CAT(a, i) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00(z, n, r, data, elem) \ + BOOST_PP_IF( \ + n \ + , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z, BOOST_PP_TUPLE_EAT(2) \ + )(z, n) \ + BOOST_PP_EXPR_IF(BOOST_PP_EQUAL(n,1), explicit) \ + BOOST_PP_TUPLE_ELEM(6,2,data)( \ + BOOST_PP_IF( \ + n \ + , BOOST_PP_SEQ_FOR_EACH_I_R \ + , BOOST_PP_TUPLE_EAT(4) \ + )( \ + r \ + , BOOST_PARAMETER_FUNCTION_ARGUMENT \ + , ~ \ + , elem \ + ) \ + BOOST_PP_IF(n, BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z, BOOST_PP_TUPLE_EAT(4))( \ + z \ + , BOOST_PP_TUPLE_ELEM(6,3,data) \ + , BOOST_PP_CAT(constructor_parameters, __LINE__) \ + , n \ + ) \ + ) \ + : BOOST_PARAMETER_PARENTHESIZED_TYPE(BOOST_PP_TUPLE_ELEM(6,3,data)) ( \ + BOOST_PP_CAT(constructor_parameters, __LINE__)()( \ + BOOST_PP_ENUM_PARAMS_Z(z, n, a) \ + ) \ + ) \ + {} +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR0(r, data, elem) \ + BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00( \ + BOOST_PP_TUPLE_ELEM(6,0,data) \ + , BOOST_PP_TUPLE_ELEM(6,1,data) \ + , r \ + , data \ + , elem \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_PRODUCT(r, product) \ + (product) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_0(z, n, data) \ + BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00( \ + z, n, BOOST_PP_DEDUCE_R() \ + , (z, n, BOOST_PP_TUPLE_REM(4) data) \ + , ~ \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_N(z, n, data) \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR0 \ + , (z, n, BOOST_PP_TUPLE_REM(4) data) \ + , BOOST_PP_SEQ_FOR_EACH_PRODUCT( \ + BOOST_PARAMETER_FUNCTION_FWD_PRODUCT \ + , BOOST_PP_SEQ_FIRST_N( \ + n, BOOST_PP_TUPLE_ELEM(4,2,data) \ + ) \ + ) \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR(z, n, data) \ + BOOST_PP_IF( \ + n \ + , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_N \ + , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_0 \ + )(z,n,data) \ +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS0(class_,base,args,combinations,range) \ + BOOST_PP_REPEAT_FROM_TO( \ + BOOST_PP_TUPLE_ELEM(2,0,range), BOOST_PP_TUPLE_ELEM(2,1,range) \ + , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR \ + , (class_,base,combinations,BOOST_PP_TUPLE_ELEM(2,1,range)) \ + ) +/**/ + +# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS(class_,base,args,combinations) \ + BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS0( \ + class_, base, args, combinations, BOOST_PARAMETER_ARITY_RANGE(args) \ + ) +/**/ + +# define BOOST_PARAMETER_CONSTRUCTOR_AUX(class_, base, tag_namespace, args) \ + BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, ctor, args) \ + BOOST_PP_CAT(constructor_parameters, __LINE__); \ +\ + BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS( \ + class_, base, args \ + , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ + ) \ +/**/ + +# define BOOST_PARAMETER_CONSTRUCTOR(class_, base, tag_namespace, args) \ + BOOST_PARAMETER_CONSTRUCTOR_AUX( \ + class_, base, tag_namespace \ + , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ + ) +/**/ + +# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_PARAMETER_FUNCTION_FWD_COMBINATION(r, _, i, elem) \ + (BOOST_PP_IF( \ + BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER( \ + BOOST_PARAMETER_FN_ARG_NAME(elem) \ + ) \ + , (const ParameterArgumentType ## i)(ParameterArgumentType ## i) \ + , (const ParameterArgumentType ## i) \ + )) +// No partial ordering. This feature doesn't work. +# else +# define BOOST_PARAMETER_FUNCTION_FWD_COMBINATION(r, _, i, elem) \ + (BOOST_PP_IF( \ + BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER( \ + BOOST_PARAMETER_FN_ARG_NAME(elem) \ + ) \ + , (ParameterArgumentType ## i) \ + , (const ParameterArgumentType ## i) \ + )) +# endif + +# define BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_PARAMETER_FUNCTION_FWD_COMBINATION, ~, args) + +#endif // BOOST_PARAMETER_PREPROCESSOR_060206_HPP + diff --git a/external/boost/parameter/python.hpp b/external/boost/parameter/python.hpp new file mode 100644 index 000000000..a52fc6ed7 --- /dev/null +++ b/external/boost/parameter/python.hpp @@ -0,0 +1,735 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_PYTHON_060209_HPP +# define BOOST_PARAMETER_PYTHON_060209_HPP + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +namespace boost { namespace parameter { namespace python +{ + namespace python_ = boost::python; +}}} + +namespace boost { namespace parameter { namespace python { namespace aux +{ + + inline PyObject* unspecified_type() + { + static PyTypeObject unspecified = { + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ + "Boost.Parameter.Unspecified", /* tp_name */ + PyType_Type.tp_basicsize, /* tp_basicsize */ + 0, /* tp_itemsize */ + 0, /* tp_dealloc */ + 0, /* tp_print */ + 0, /* tp_getattr */ + 0, /* tp_setattr */ + 0, /* tp_compare */ + 0, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + 0, /* tp_doc */ + }; + + if (unspecified.ob_type == 0) + { + unspecified.ob_type = &PyType_Type; + PyType_Ready(&unspecified); + } + + return (PyObject*)&unspecified; + } + + struct empty_tag {}; + + struct empty_tag_to_python + { + static PyObject* convert(empty_tag) + { + return python_::xincref(unspecified_type()); + } + }; + +}}}} // namespace boost::parameter::python::aux + +namespace boost { namespace python +{ + + // Converts a Python value to a maybe + template + struct arg_from_python > + : arg_from_python + { + arg_from_python(PyObject* p) + : arg_from_python(p) + , empty(parameter::python::aux::unspecified_type() == p) + {} + + bool convertible() const + { + return empty || arg_from_python::convertible(); + } + + parameter::aux::maybe operator()() + { + if (empty) + { + return parameter::aux::maybe(); + } + else + { + return parameter::aux::maybe( + arg_from_python::operator()() + ); + } + } + + bool empty; + }; + +}} // namespace boost::python + +namespace boost { namespace parameter { namespace python { + +namespace aux +{ + + template + struct is_optional + : mpl::not_< + mpl::or_ + > + {}; + + template + struct arg_spec + { + typedef K keyword; + typedef Required required; + typedef T type; + typedef Optimized optimized_default; + }; + + template + struct make_arg_spec_impl + { + typedef arg_spec< + typename K::first, typename K::second, Optimized, T + > type; + }; + + template + struct make_arg_spec_impl + { + typedef arg_spec< + typename K::first, typename K::second, typename K::third, T + > type; + }; + + template + struct make_arg_spec + : make_arg_spec_impl + { + }; + + template + struct combinations_op + { + typedef typename State::second bits; + typedef typename State::first result0; + + typedef typename mpl::if_< + mpl::or_< + typename Spec::required + , typename Spec::optimized_default + , mpl::bitand_ > + > + , typename mpl::push_back::type + , result0 + >::type result; + + typedef typename mpl::if_< + mpl::or_< + typename Spec::required + , typename Spec::optimized_default + > + , bits + , typename mpl::shift_right >::type + >::type next_bits; + + typedef mpl::pair< + result + , next_bits + > type; + }; + + // Used as start value in the recursive arg() composition below. + struct no_keywords + { + template + T const& operator,(T const& x) const + { + return x; + } + }; + + template + void def_combination_aux0( + Def def, F f, Iter, End, Keywords const& keywords, mpl::false_) + { + typedef typename mpl::deref::type spec; + typedef typename spec::keyword kw; + + def_combination_aux( + def, f, typename mpl::next::type(), End() + , ( + keywords, boost::python::arg(kw::keyword_name()) + ) + ); + } + + template + void def_combination_aux0( + Def def, F f, Iter, End, Keywords const& keywords, mpl::true_) + { + typedef typename mpl::deref::type spec; + typedef typename spec::keyword kw; + + def_combination_aux( + def, f, typename mpl::next::type(), End() + , ( + keywords, boost::python::arg(kw::keyword_name()) = empty_tag() + ) + ); + } + + inline void initialize_converter() + { + static python_::to_python_converter x; + } + + template + void def_combination_aux( + Def def, F f, Iter, End, Keywords const& keywords) + { + typedef typename mpl::deref::type spec; + + typedef typename mpl::and_< + typename spec::optimized_default + , mpl::not_ + >::type optimized_default; + + def_combination_aux0( + def, f, Iter(), End(), keywords, optimized_default() + ); + } + + template + void def_combination_aux( + Def def, F f, End, End, Keywords const& keywords) + { + def(f, keywords); + } + + template + void def_combination_aux( + Def def, F f, End, End, no_keywords const&) + { + def(f); + } + + template < + class Def, class Specs, class Bits, class Invoker + > + void def_combination( + Def def, Specs*, Bits, Invoker*) + { + typedef typename mpl::fold< + Specs + , mpl::pair, Bits> + , combinations_op + >::type combination0; + + typedef typename combination0::first combination; + + typedef typename mpl::apply_wrap1< + Invoker, combination + >::type invoker; + + def_combination_aux( + def + , &invoker::execute + , typename mpl::begin::type() + , typename mpl::end::type() + , no_keywords() + ); + } + + template < + class Def, class Specs, class Bits, class End, class Invoker + > + void def_combinations( + Def def, Specs*, Bits, End, Invoker*) + { + initialize_converter(); + + def_combination(def, (Specs*)0, Bits(), (Invoker*)0); + + def_combinations( + def + , (Specs*)0 + , mpl::long_() + , End() + , (Invoker*)0 + ); + } + + template < + class Def, class Specs, class End, class Invoker + > + void def_combinations( + Def, Specs*, End, End, Invoker*) + {} + + struct not_specified {}; + + template + struct call_policies_as_options + { + call_policies_as_options(CallPolicies const& call_policies) + : call_policies(call_policies) + {} + + CallPolicies const& policies() const + { + return call_policies; + } + + char const* doc() const + { + return 0; + } + + CallPolicies call_policies; + }; + + template + struct def_class + { + def_class(Class& cl, char const* name, Options options = Options()) + : cl(cl) + , name(name) + , options(options) + {} + + template + void def(F f, not_specified const*) const + { + cl.def(name, f); + } + + template + void def(F f, void const*) const + { + cl.def(name, f, options.doc(), options.policies()); + } + + template + void operator()(F f) const + { + this->def(f, &options); + } + + template + void def(F f, Keywords const& keywords, not_specified const*) const + { + cl.def(name, f, keywords); + } + + template + void def(F f, Keywords const& keywords, void const*) const + { + cl.def(name, f, keywords, options.doc(), options.policies()); + } + + template + void operator()(F f, Keywords const& keywords) const + { + this->def(f, keywords, &options); + } + + Class& cl; + char const* name; + Options options; + }; + + template + struct def_init + { + def_init(Class& cl, CallPolicies call_policies = CallPolicies()) + : cl(cl) + , call_policies(call_policies) + {} + + template + void operator()(F f) const + { + cl.def( + "__init__" + , boost::python::make_constructor(f, call_policies) + ); + } + + template + void operator()(F f, Keywords const& keywords) const + { + cl.def( + "__init__" + , boost::python::make_constructor(f, call_policies, keywords) + ); + } + + Class& cl; + CallPolicies call_policies; + }; + + struct def_function + { + def_function(char const* name) + : name(name) + {} + + template + void operator()(F f) const + { + boost::python::def(name, f); + } + + template + void operator()(F f, Keywords const& keywords) const + { + boost::python::def(name, f, keywords); + } + + char const* name; + }; + +} // namespace aux + +template +void def(char const* name, Signature) +{ + typedef mpl::iterator_range< + typename mpl::next< + typename mpl::begin::type + >::type + , typename mpl::end::type + > arg_types; + + typedef typename mpl::transform< + typename M::keywords + , arg_types + , aux::make_arg_spec + , mpl::back_inserter > + >::type arg_specs; + + typedef typename mpl::count_if< + arg_specs + , aux::is_optional + >::type optional_arity; + + typedef typename mpl::front::type result_type; + typedef typename mpl::shift_left, optional_arity>::type upper; + + aux::def_combinations( + aux::def_function(name) + , (arg_specs*)0 + , mpl::long_<0>() + , mpl::long_() + , (aux::make_invoker*)0 + ); +} + +template +void def(Class& cl, char const* name, Signature) +{ + typedef mpl::iterator_range< + typename mpl::next< + typename mpl::begin::type + >::type + , typename mpl::end::type + > arg_types; + + typedef typename mpl::transform< + typename M::keywords + , arg_types + , aux::make_arg_spec + , mpl::back_inserter > + >::type arg_specs; + + typedef typename mpl::count_if< + arg_specs + , aux::is_optional + >::type optional_arity; + + typedef typename mpl::front::type result_type; + typedef typename mpl::shift_left, optional_arity>::type upper; + + aux::def_combinations( + aux::def_class(cl, name) + , (arg_specs*)0 + , mpl::long_<0>() + , mpl::long_() + , (aux::make_invoker*)0 + ); +} + +namespace aux +{ + + template + struct keyword + { + typedef K type; + }; + + template + struct keyword + { + typedef K type; + }; + + template + struct keyword + { + typedef K type; + }; + + template + struct required + { + typedef mpl::true_ type; + }; + + template + struct required + { + typedef mpl::false_ type; + }; + + template + struct optimized + { + typedef mpl::true_ type; + }; + + template + struct optimized + { + typedef mpl::false_ type; + }; + + template + struct make_kw_spec; + + template + struct make_kw_spec + { + typedef arg_spec< + typename keyword::type + , typename required::type + , typename optimized::type + , T + > type; + }; + +} // namespace aux + +template +struct init + : boost::python::def_visitor > +{ + init(CallPolicies call_policies = CallPolicies()) + : call_policies(call_policies) + {} + + template + init + operator[](CallPolicies1 const& call_policies) const + { + return init(call_policies); + } + + template + void visit_aux(Class& cl, mpl::true_) const + { + cl.def(boost::python::init<>()[call_policies]); + } + + template + void visit_aux(Class& cl, mpl::false_) const + { + typedef typename mpl::transform< + ParameterSpecs + , aux::make_kw_spec + , mpl::back_inserter > + >::type arg_specs; + + typedef typename mpl::count_if< + arg_specs + , aux::is_optional + >::type optional_arity; + + typedef typename mpl::shift_left, optional_arity>::type upper; + + aux::def_combinations( + aux::def_init(cl, call_policies) + , (arg_specs*)0 + , mpl::long_<0>() + , mpl::long_() + , (aux::make_init_invoker*)0 + ); + } + + template + void visit(Class& cl) const + { + visit_aux(cl, mpl::empty()); + } + + CallPolicies call_policies; +}; + +template +struct call + : boost::python::def_visitor > +{ + call(CallPolicies const& call_policies = CallPolicies()) + : call_policies(call_policies) + {} + + template + call + operator[](CallPolicies1 const& call_policies) const + { + return call(call_policies); + } + + template + void visit(Class& cl) const + { + typedef mpl::iterator_range< + typename mpl::next< + typename mpl::begin::type + >::type + , typename mpl::end::type + > arg_types; + + typedef typename mpl::front::type result_type; + + typedef typename mpl::transform< + arg_types + , aux::make_kw_spec + , mpl::back_inserter > + >::type arg_specs; + + typedef typename mpl::count_if< + arg_specs + , aux::is_optional + >::type optional_arity; + + typedef typename mpl::shift_left, optional_arity>::type upper; + + typedef aux::call_policies_as_options options; + + aux::def_combinations( + aux::def_class(cl, "__call__", options(call_policies)) + , (arg_specs*)0 + , mpl::long_<0>() + , mpl::long_() + , (aux::make_call_invoker*)0 + ); + } + + CallPolicies call_policies; +}; + +template +struct function + : boost::python::def_visitor > +{ + template + void visit(Class& cl, char const* name, Options const& options) const + { + typedef mpl::iterator_range< + typename mpl::next< + typename mpl::begin::type + >::type + , typename mpl::end::type + > arg_types; + + typedef typename mpl::front::type result_type; + + typedef typename mpl::transform< + arg_types + , aux::make_kw_spec + , mpl::back_inserter > + >::type arg_specs; + + typedef typename mpl::count_if< + arg_specs + , aux::is_optional + >::type optional_arity; + + typedef typename mpl::shift_left, optional_arity>::type upper; + + aux::def_combinations( + aux::def_class(cl, name, options) + , (arg_specs*)0 + , mpl::long_<0>() + , mpl::long_() + , (aux::make_member_invoker< + Fwd, result_type, typename Class::wrapped_type + >*)0 + ); + } +}; + +}}} // namespace boost::parameter::python + +#endif // BOOST_PARAMETER_PYTHON_060209_HPP + diff --git a/external/boost/parameter/value_type.hpp b/external/boost/parameter/value_type.hpp new file mode 100644 index 000000000..a323dcf37 --- /dev/null +++ b/external/boost/parameter/value_type.hpp @@ -0,0 +1,82 @@ +// Copyright Daniel Wallin 2006. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PARAMETER_VALUE_TYPE_060921_HPP +# define BOOST_PARAMETER_VALUE_TYPE_060921_HPP + +# include +# include +# include +# include +# include +# include + +namespace boost { namespace parameter { + +// A metafunction that, given an argument pack, returns the type of +// the parameter identified by the given keyword. If no such +// parameter has been specified, returns Default + +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +template +struct value_type0 +{ + typedef typename mpl::apply_wrap3< + typename Parameters::binding,Keyword,Default,mpl::false_ + >::type type; + + BOOST_MPL_ASSERT_NOT(( + mpl::and_< + is_same + , is_same + > + )); +}; +# endif + +template +struct value_type +{ +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + typedef typename mpl::eval_if< + mpl::is_placeholder + , mpl::identity + , value_type0 + >::type type; +# else + typedef typename mpl::apply_wrap3< + typename Parameters::binding,Keyword,Default,mpl::false_ + >::type type; + + BOOST_MPL_ASSERT_NOT(( + mpl::and_< + is_same + , is_same + > + )); +# endif + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,value_type,(Parameters,Keyword,Default)) +}; + +// A metafunction that, given an argument pack, returns the type of +// the parameter identified by the given keyword. If no such +// parameter has been specified, returns the type returned by invoking +// DefaultFn +template +struct lazy_value_type +{ + typedef typename mpl::apply_wrap3< + typename Parameters::binding + , Keyword + , typename aux::result_of0::type + , mpl::false_ + >::type type; +}; + + +}} // namespace boost::parameter + +#endif // BOOST_PARAMETER_VALUE_TYPE_060921_HPP + diff --git a/external/boost/ref.hpp b/external/boost/ref.hpp new file mode 100644 index 000000000..17b56ec00 --- /dev/null +++ b/external/boost/ref.hpp @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2014 Glen Fernandes + * + * Distributed under the Boost Software License, Version 1.0. (See + * accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt) + */ + +#ifndef BOOST_REF_HPP +#define BOOST_REF_HPP + +// The header file at this path is deprecated; +// use boost/core/ref.hpp instead. + +#include + +#endif diff --git a/external/boost/version.hpp b/external/boost/version.hpp new file mode 100644 index 000000000..d8f2132aa --- /dev/null +++ b/external/boost/version.hpp @@ -0,0 +1,32 @@ +// Boost version.hpp configuration header file ------------------------------// + +// (C) Copyright John maddock 1999. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for documentation + +#ifndef BOOST_VERSION_HPP +#define BOOST_VERSION_HPP + +// +// Caution: this is the only Boost header that is guaranteed +// to change with every Boost release. Including this header +// will cause a recompile every time a new Boost version is +// used. +// +// BOOST_VERSION % 100 is the patch level +// BOOST_VERSION / 100 % 1000 is the minor version +// BOOST_VERSION / 100000 is the major version + +#define BOOST_VERSION 106600 + +// +// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION +// but as a *string* in the form "x_y[_z]" where x is the major version +// number, y is the minor version number, and z is the patch level if not 0. +// This is used by to select which library version to link to. + +#define BOOST_LIB_VERSION "1_66" + +#endif diff --git a/include/random_walks/uniform_accelerated_billiard_walk.hpp b/include/random_walks/uniform_accelerated_billiard_walk.hpp index ffd63d5e1..f6a90c459 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk.hpp @@ -135,6 +135,66 @@ struct AcceleratedBilliardWalk p = _p; } + + template + < + typename GenericPolytope + > + inline void get_starting_point(GenericPolytope const& P, + Point const& center, + Point &q, + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T, Lmax = _L, max_dist, rad = 0.0, radius = P.InnerBall().second; + + q = GetPointInDsphere::apply(n, radius, rng); + q += center; + initialize(P, q, rng); + + apply(P, q, walk_length, rng); + } + + + template + < + typename GenericPolytope + > + inline void parameters_burnin(GenericPolytope const& P, + Point const& center, + unsigned int const& num_points, + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + Point p = center; + std::vector pointset; + pointset.push_back(center); + pointset.push_back(_p); + NT rad = NT(0), max_dist, Lmax; + + for (int i = 0; i < num_points; i++) + { + apply(P, p, walk_length, rng); + max_dist = get_max_distance(pointset, p, rad); + if (max_dist > Lmax) + { + Lmax = max_dist; + } + pointset.push_back(p); + } + + if (Lmax > _L) { + if (P.dimension() <= 2500) + { + update_delta(Lmax); + } + } + pointset.clear(); + } + + + inline void update_delta(NT L) { _L = L; @@ -194,6 +254,25 @@ struct AcceleratedBilliardWalk } } + inline double get_max_distance(std::vector &pointset, Point const& q, double &rad) + { + double dis = -1.0, temp_dis; + int jj = 0; + for (auto vecit = pointset.begin(); vecit!=pointset.end(); vecit++, jj++) + { + temp_dis = (q.getCoefficients() - (*vecit).getCoefficients()).norm(); + if (temp_dis > dis) { + dis = temp_dis; + } + if (jj == 0) { + if (temp_dis > rad) { + rad = temp_dis; + } + } + } + return dis; + } + double _L; Point _p; Point _v; From 3442f5a4b2bd30f0106fee07fcbd0066e566f6fa Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 19 Mar 2021 22:54:25 +0200 Subject: [PATCH 39/63] remove RVOLESTI macro --- R-proj/src/copula.cpp | 3 --- R-proj/src/direct_sampling.cpp | 3 --- R-proj/src/exact_vol.cpp | 3 --- R-proj/src/extractMatPoly.h | 3 --- R-proj/src/frustum_of_simplex.cpp | 3 --- R-proj/src/get_full_dimensional_polytope.cpp | 3 --- R-proj/src/geweke.cpp | 3 --- R-proj/src/inner_ball.cpp | 3 --- R-proj/src/ode_solve.cpp | 3 --- R-proj/src/poly_gen.cpp | 3 --- R-proj/src/polytopes_modules.cpp | 4 ---- R-proj/src/psrf_multivariate.cpp | 3 --- R-proj/src/psrf_univariate.cpp | 3 --- R-proj/src/raftery.cpp | 3 --- R-proj/src/rotating.cpp | 3 --- R-proj/src/rounding.cpp | 3 --- R-proj/src/sample_points.cpp | 3 --- R-proj/src/spectrahedron.cpp | 3 --- R-proj/src/spectrahedron_module.cpp | 3 --- R-proj/src/volume.cpp | 3 --- R-proj/src/zonotope_approximation.cpp | 3 --- 21 files changed, 64 deletions(-) diff --git a/R-proj/src/copula.cpp b/R-proj/src/copula.cpp index 6b489bf97..1004b421b 100644 --- a/R-proj/src/copula.cpp +++ b/R-proj/src/copula.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/direct_sampling.cpp b/R-proj/src/direct_sampling.cpp index a34e55cd0..75402a56c 100644 --- a/R-proj/src/direct_sampling.cpp +++ b/R-proj/src/direct_sampling.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/exact_vol.cpp b/R-proj/src/exact_vol.cpp index 80104ef9a..d60d8fa4b 100644 --- a/R-proj/src/exact_vol.cpp +++ b/R-proj/src/exact_vol.cpp @@ -5,9 +5,6 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/extractMatPoly.h b/R-proj/src/extractMatPoly.h index 3f7e0296d..5adb9d56b 100644 --- a/R-proj/src/extractMatPoly.h +++ b/R-proj/src/extractMatPoly.h @@ -18,9 +18,6 @@ // Public License. If you did not receive this file along with HeaDDaCHe, // see . -#ifndef RVOLESTI - #define RVOLESTI -#endif #ifndef EXTRACTMATPOLY_H #define EXTRACTMATPOLY_H diff --git a/R-proj/src/frustum_of_simplex.cpp b/R-proj/src/frustum_of_simplex.cpp index db46b5c57..5daeade61 100644 --- a/R-proj/src/frustum_of_simplex.cpp +++ b/R-proj/src/frustum_of_simplex.cpp @@ -3,9 +3,6 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/get_full_dimensional_polytope.cpp b/R-proj/src/get_full_dimensional_polytope.cpp index fd3ee8b77..dcad88ffe 100644 --- a/R-proj/src/get_full_dimensional_polytope.cpp +++ b/R-proj/src/get_full_dimensional_polytope.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/geweke.cpp b/R-proj/src/geweke.cpp index b18191826..39bc17a6d 100644 --- a/R-proj/src/geweke.cpp +++ b/R-proj/src/geweke.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/inner_ball.cpp b/R-proj/src/inner_ball.cpp index 43edc0991..ee79b0f77 100644 --- a/R-proj/src/inner_ball.cpp +++ b/R-proj/src/inner_ball.cpp @@ -2,9 +2,6 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/ode_solve.cpp b/R-proj/src/ode_solve.cpp index 4f60cf0e9..d27eba35c 100644 --- a/R-proj/src/ode_solve.cpp +++ b/R-proj/src/ode_solve.cpp @@ -8,9 +8,6 @@ //Contributed and/or modified by Marios Papachristou, as part of Google Summer of Code 2018 and 2019 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/poly_gen.cpp b/R-proj/src/poly_gen.cpp index 819f5b350..1ffa75d7f 100644 --- a/R-proj/src/poly_gen.cpp +++ b/R-proj/src/poly_gen.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/polytopes_modules.cpp b/R-proj/src/polytopes_modules.cpp index 57348f8fb..b9932aa45 100644 --- a/R-proj/src/polytopes_modules.cpp +++ b/R-proj/src/polytopes_modules.cpp @@ -3,10 +3,6 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis -#ifndef RVOLESTI - #define RVOLESTI -#endif - #include diff --git a/R-proj/src/psrf_multivariate.cpp b/R-proj/src/psrf_multivariate.cpp index e4cd49fd8..d9392f3f8 100644 --- a/R-proj/src/psrf_multivariate.cpp +++ b/R-proj/src/psrf_multivariate.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/psrf_univariate.cpp b/R-proj/src/psrf_univariate.cpp index b69154b1e..f01edadaf 100644 --- a/R-proj/src/psrf_univariate.cpp +++ b/R-proj/src/psrf_univariate.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/raftery.cpp b/R-proj/src/raftery.cpp index 42d052fa7..e8e4f9ec8 100644 --- a/R-proj/src/raftery.cpp +++ b/R-proj/src/raftery.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/rotating.cpp b/R-proj/src/rotating.cpp index c94e8e127..e65516f86 100644 --- a/R-proj/src/rotating.cpp +++ b/R-proj/src/rotating.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/rounding.cpp b/R-proj/src/rounding.cpp index 3d10a2576..cfae674f8 100644 --- a/R-proj/src/rounding.cpp +++ b/R-proj/src/rounding.cpp @@ -8,9 +8,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 3d62fa34b..bf7a45559 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -9,9 +9,6 @@ // Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/spectrahedron.cpp b/R-proj/src/spectrahedron.cpp index f93cace6b..c3055b8b6 100644 --- a/R-proj/src/spectrahedron.cpp +++ b/R-proj/src/spectrahedron.cpp @@ -7,9 +7,6 @@ // Licensed under GNU LGPL.3, see LICENCE file -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/spectrahedron_module.cpp b/R-proj/src/spectrahedron_module.cpp index cccef691b..12c216750 100644 --- a/R-proj/src/spectrahedron_module.cpp +++ b/R-proj/src/spectrahedron_module.cpp @@ -7,9 +7,6 @@ // Licensed under GNU LGPL.3, see LICENCE file -#ifndef RVOLESTI - #define RVOLESTI -#endif #include diff --git a/R-proj/src/volume.cpp b/R-proj/src/volume.cpp index a80927c91..e7e5fea2a 100644 --- a/R-proj/src/volume.cpp +++ b/R-proj/src/volume.cpp @@ -7,9 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include diff --git a/R-proj/src/zonotope_approximation.cpp b/R-proj/src/zonotope_approximation.cpp index 8d7f8a639..5acad1ec0 100644 --- a/R-proj/src/zonotope_approximation.cpp +++ b/R-proj/src/zonotope_approximation.cpp @@ -5,9 +5,6 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis -#ifndef RVOLESTI - #define RVOLESTI -#endif #include #include From 60ed2bdef41354b7469d12eee66c0cfe313eb628 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 19 Mar 2021 23:58:37 +0200 Subject: [PATCH 40/63] declare tol variable as static --- .../exponential_hamiltonian_monte_carlo_exact_walk.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index 9341f47e3..095f42f5d 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -270,7 +270,7 @@ private : Point _v; Point _c; NT _Temp; - const double _tol = 1e-10; + static const double _tol = 1e-10; NT _lambda_prev; int _facet_prev; typename Point::Coeff _lambdas; From dff0c43e1f708e9d030e4b654a8927a8fa4447f5 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 20 Mar 2021 00:08:02 +0200 Subject: [PATCH 41/63] fix bug in variable declaration --- .../exponential_hamiltonian_monte_carlo_exact_walk.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index 095f42f5d..9341f47e3 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -270,7 +270,7 @@ private : Point _v; Point _c; NT _Temp; - static const double _tol = 1e-10; + const double _tol = 1e-10; NT _lambda_prev; int _facet_prev; typename Point::Coeff _lambdas; From 93d0658c42f8e80ea5da28f5e4973bb982158732 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sat, 20 Mar 2021 01:25:23 +0200 Subject: [PATCH 42/63] change tolerance variable declaration --- ...exponential_hamiltonian_monte_carlo_exact_walk.hpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index 9341f47e3..df998bc58 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -8,11 +8,14 @@ #ifndef RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP #define RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP +#ifndef TOL +#define TOL 1e-10 +#endif + #include "sampling/sphere.hpp" // Exact HMC for sampling from the Exponential distribution restricted to a convex polytope - struct ExponentialHamiltonianMonteCarloExactWalk { ExponentialHamiltonianMonteCarloExactWalk(double L) @@ -33,6 +36,7 @@ struct ExponentialHamiltonianMonteCarloExactWalk }; parameters param; + static const double _tol;; template @@ -114,7 +118,7 @@ struct Walk it++; } - } while (P.is_in(_p, _tol) == 0); + } while (P.is_in(_p, TOL) == 0); if (it == 100*n){ _p = p0; } @@ -240,7 +244,7 @@ private : P.compute_reflection(_v, _p, pbpair.second); it++; } - } while (P.is_in(_p, _tol) == 0); + } while (P.is_in(_p, TOL) == 0); } @@ -270,7 +274,6 @@ private : Point _v; Point _c; NT _Temp; - const double _tol = 1e-10; NT _lambda_prev; int _facet_prev; typename Point::Coeff _lambdas; From b21203bb1f03ca4f5b67b1e45744d9a89ac7ba3c Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sun, 21 Mar 2021 15:50:28 +0200 Subject: [PATCH 43/63] remove boost folder --- external/boost/accumulators/accumulators.hpp | 27 - .../boost/accumulators/accumulators_fwd.hpp | 230 --- .../framework/accumulator_base.hpp | 65 - .../framework/accumulator_concept.hpp | 29 - .../framework/accumulator_set.hpp | 401 ---- .../accumulators/droppable_accumulator.hpp | 328 --- .../accumulators/external_accumulator.hpp | 108 - .../accumulators/reference_accumulator.hpp | 89 - .../accumulators/value_accumulator.hpp | 89 - .../accumulators/framework/depends_on.hpp | 448 ---- .../boost/accumulators/framework/external.hpp | 27 - .../accumulators/framework/extractor.hpp | 229 --- .../boost/accumulators/framework/features.hpp | 29 - .../framework/parameters/accumulator.hpp | 22 - .../framework/parameters/sample.hpp | 22 - .../framework/parameters/weight.hpp | 23 - .../framework/parameters/weights.hpp | 23 - .../accumulators/numeric/detail/function1.hpp | 75 - .../accumulators/numeric/detail/function2.hpp | 10 - .../accumulators/numeric/detail/function3.hpp | 10 - .../accumulators/numeric/detail/function4.hpp | 10 - .../numeric/detail/function_n.hpp | 148 -- .../numeric/detail/pod_singleton.hpp | 20 - .../boost/accumulators/numeric/functional.hpp | 537 ----- .../numeric/functional/complex.hpp | 82 - .../numeric/functional/valarray.hpp | 362 ---- .../numeric/functional/vector.hpp | 347 ---- .../accumulators/numeric/functional_fwd.hpp | 221 -- external/boost/accumulators/statistics.hpp | 61 - .../boost/accumulators/statistics/count.hpp | 80 - .../accumulators/statistics/covariance.hpp | 212 -- .../boost/accumulators/statistics/density.hpp | 250 --- .../accumulators/statistics/error_of.hpp | 99 - .../accumulators/statistics/error_of_mean.hpp | 73 - .../statistics/extended_p_square.hpp | 295 --- .../statistics/extended_p_square_quantile.hpp | 320 --- .../accumulators/statistics/kurtosis.hpp | 112 - .../boost/accumulators/statistics/max.hpp | 85 - .../boost/accumulators/statistics/mean.hpp | 298 --- .../boost/accumulators/statistics/median.hpp | 301 --- .../boost/accumulators/statistics/min.hpp | 85 - .../boost/accumulators/statistics/moment.hpp | 125 -- .../statistics/p_square_cumul_dist.hpp | 263 --- .../p_square_cumulative_distribution.hpp | 19 - .../statistics/p_square_quantile.hpp | 257 --- .../parameters/quantile_probability.hpp | 23 - .../statistics/peaks_over_threshold.hpp | 405 ---- .../accumulators/statistics/pot_quantile.hpp | 205 -- .../accumulators/statistics/pot_tail_mean.hpp | 211 -- .../accumulators/statistics/rolling_count.hpp | 80 - .../accumulators/statistics/rolling_mean.hpp | 179 -- .../statistics/rolling_moment.hpp | 113 - .../accumulators/statistics/rolling_sum.hpp | 91 - .../statistics/rolling_variance.hpp | 247 --- .../statistics/rolling_window.hpp | 172 -- .../accumulators/statistics/skewness.hpp | 114 - .../boost/accumulators/statistics/stats.hpp | 29 - .../boost/accumulators/statistics/sum.hpp | 141 -- .../accumulators/statistics/sum_kahan.hpp | 188 -- .../boost/accumulators/statistics/tail.hpp | 341 --- .../accumulators/statistics/tail_mean.hpp | 246 --- .../accumulators/statistics/tail_quantile.hpp | 158 -- .../accumulators/statistics/tail_variate.hpp | 141 -- .../statistics/tail_variate_means.hpp | 262 --- .../statistics/times2_iterator.hpp | 70 - .../accumulators/statistics/variance.hpp | 236 --- .../statistics/variates/covariate.hpp | 25 - .../statistics/weighted_covariance.hpp | 133 -- .../statistics/weighted_density.hpp | 221 -- .../statistics/weighted_extended_p_square.hpp | 290 --- .../statistics/weighted_kurtosis.hpp | 105 - .../accumulators/statistics/weighted_mean.hpp | 189 -- .../statistics/weighted_median.hpp | 237 --- .../statistics/weighted_moment.hpp | 96 - .../weighted_p_square_cumul_dist.hpp | 262 --- ...ghted_p_square_cumulative_distribution.hpp | 19 - .../statistics/weighted_p_square_quantile.hpp | 255 --- .../weighted_peaks_over_threshold.hpp | 289 --- .../statistics/weighted_skewness.hpp | 101 - .../accumulators/statistics/weighted_sum.hpp | 116 -- .../statistics/weighted_sum_kahan.hpp | 138 -- .../statistics/weighted_tail_mean.hpp | 169 -- .../statistics/weighted_tail_quantile.hpp | 146 -- .../weighted_tail_variate_means.hpp | 246 --- .../statistics/weighted_variance.hpp | 186 -- .../accumulators/statistics/with_error.hpp | 44 - .../boost/accumulators/statistics_fwd.hpp | 432 ---- external/boost/fusion/adapted.hpp | 26 - external/boost/fusion/adapted/adt.hpp | 19 - .../boost/fusion/adapted/adt/adapt_adt.hpp | 80 - .../fusion/adapted/adt/adapt_adt_named.hpp | 31 - .../fusion/adapted/adt/adapt_assoc_adt.hpp | 95 - .../adapted/adt/adapt_assoc_adt_named.hpp | 29 - .../fusion/adapted/adt/detail/adapt_base.hpp | 301 --- .../detail/adapt_base_assoc_attr_filler.hpp | 64 - .../adt/detail/adapt_base_attr_filler.hpp | 92 - .../fusion/adapted/adt/detail/extension.hpp | 41 - external/boost/fusion/adapted/array.hpp | 27 - .../boost/fusion/adapted/array/at_impl.hpp | 40 - .../boost/fusion/adapted/array/begin_impl.hpp | 44 - .../fusion/adapted/array/category_of_impl.hpp | 32 - .../boost/fusion/adapted/array/deref_impl.hpp | 42 - .../boost/fusion/adapted/array/end_impl.hpp | 46 - .../fusion/adapted/array/is_sequence_impl.hpp | 29 - .../fusion/adapted/array/is_view_impl.hpp | 29 - .../boost/fusion/adapted/array/size_impl.hpp | 30 - .../boost/fusion/adapted/array/tag_of.hpp | 73 - .../fusion/adapted/array/value_at_impl.hpp | 29 - .../fusion/adapted/array/value_of_impl.hpp | 29 - external/boost/fusion/adapted/boost_array.hpp | 23 - .../adapted/boost_array/array_iterator.hpp | 121 -- .../adapted/boost_array/detail/at_impl.hpp | 47 - .../adapted/boost_array/detail/begin_impl.hpp | 42 - .../boost_array/detail/category_of_impl.hpp | 36 - .../adapted/boost_array/detail/end_impl.hpp | 42 - .../boost_array/detail/is_sequence_impl.hpp | 32 - .../boost_array/detail/is_view_impl.hpp | 33 - .../adapted/boost_array/detail/size_impl.hpp | 29 - .../boost_array/detail/value_at_impl.hpp | 32 - .../fusion/adapted/boost_array/tag_of.hpp | 59 - external/boost/fusion/adapted/boost_tuple.hpp | 23 - .../boost_tuple/boost_tuple_iterator.hpp | 221 -- .../adapted/boost_tuple/detail/at_impl.hpp | 52 - .../adapted/boost_tuple/detail/begin_impl.hpp | 41 - .../adapted/boost_tuple/detail/build_cons.hpp | 59 - .../boost_tuple/detail/category_of_impl.hpp | 32 - .../boost_tuple/detail/convert_impl.hpp | 50 - .../adapted/boost_tuple/detail/end_impl.hpp | 56 - .../boost_tuple/detail/is_sequence_impl.hpp | 31 - .../boost_tuple/detail/is_view_impl.hpp | 31 - .../adapted/boost_tuple/detail/size_impl.hpp | 32 - .../boost_tuple/detail/value_at_impl.hpp | 31 - .../fusion/adapted/boost_tuple/mpl/clear.hpp | 23 - .../fusion/adapted/boost_tuple/tag_of.hpp | 115 -- external/boost/fusion/adapted/mpl.hpp | 23 - .../fusion/adapted/mpl/detail/at_impl.hpp | 42 - .../fusion/adapted/mpl/detail/begin_impl.hpp | 47 - .../adapted/mpl/detail/category_of_impl.hpp | 55 - .../fusion/adapted/mpl/detail/empty_impl.hpp | 32 - .../fusion/adapted/mpl/detail/end_impl.hpp | 47 - .../adapted/mpl/detail/has_key_impl.hpp | 32 - .../adapted/mpl/detail/is_sequence_impl.hpp | 32 - .../adapted/mpl/detail/is_view_impl.hpp | 33 - .../fusion/adapted/mpl/detail/size_impl.hpp | 32 - .../adapted/mpl/detail/value_at_impl.hpp | 32 - .../boost/fusion/adapted/mpl/mpl_iterator.hpp | 128 -- external/boost/fusion/adapted/std_array.hpp | 23 - .../adapted/std_array/detail/array_size.hpp | 25 - .../adapted/std_array/detail/at_impl.hpp | 45 - .../adapted/std_array/detail/begin_impl.hpp | 41 - .../std_array/detail/category_of_impl.hpp | 35 - .../adapted/std_array/detail/end_impl.hpp | 45 - .../std_array/detail/is_sequence_impl.hpp | 32 - .../adapted/std_array/detail/is_view_impl.hpp | 33 - .../adapted/std_array/detail/size_impl.hpp | 41 - .../std_array/detail/value_at_impl.hpp | 32 - .../adapted/std_array/std_array_iterator.hpp | 109 - .../boost/fusion/adapted/std_array/tag_of.hpp | 52 - external/boost/fusion/adapted/std_pair.hpp | 20 - external/boost/fusion/adapted/std_tuple.hpp | 24 - .../adapted/std_tuple/detail/at_impl.hpp | 54 - .../adapted/std_tuple/detail/begin_impl.hpp | 41 - .../std_tuple/detail/build_std_tuple.hpp | 88 - .../std_tuple/detail/category_of_impl.hpp | 32 - .../adapted/std_tuple/detail/convert_impl.hpp | 48 - .../adapted/std_tuple/detail/end_impl.hpp | 45 - .../std_tuple/detail/is_sequence_impl.hpp | 31 - .../adapted/std_tuple/detail/is_view_impl.hpp | 31 - .../adapted/std_tuple/detail/size_impl.hpp | 37 - .../std_tuple/detail/value_at_impl.hpp | 31 - .../fusion/adapted/std_tuple/mpl/clear.hpp | 23 - .../adapted/std_tuple/std_tuple_iterator.hpp | 121 -- .../boost/fusion/adapted/std_tuple/tag_of.hpp | 47 - external/boost/fusion/adapted/struct.hpp | 22 - .../adapted/struct/adapt_assoc_struct.hpp | 102 - .../struct/adapt_assoc_struct_named.hpp | 29 - .../fusion/adapted/struct/adapt_struct.hpp | 125 -- .../adapted/struct/adapt_struct_named.hpp | 55 - .../adapted/struct/define_assoc_struct.hpp | 52 - .../fusion/adapted/struct/define_struct.hpp | 43 - .../adapted/struct/define_struct_inline.hpp | 26 - .../adapted/struct/detail/adapt_auto.hpp | 14 - .../adapted/struct/detail/adapt_base.hpp | 309 --- .../detail/adapt_base_assoc_attr_filler.hpp | 73 - .../struct/detail/adapt_base_attr_filler.hpp | 70 - .../adapted/struct/detail/adapt_is_tpl.hpp | 16 - .../fusion/adapted/struct/detail/at_impl.hpp | 39 - .../adapted/struct/detail/begin_impl.hpp | 70 - .../struct/detail/category_of_impl.hpp | 42 - .../adapted/struct/detail/define_struct.hpp | 479 ----- .../struct/detail/define_struct_inline.hpp | 529 ----- .../adapted/struct/detail/deref_data_impl.hpp | 22 - .../adapted/struct/detail/deref_impl.hpp | 41 - .../fusion/adapted/struct/detail/end_impl.hpp | 70 - .../adapted/struct/detail/extension.hpp | 58 - .../struct/detail/is_sequence_impl.hpp | 36 - .../adapted/struct/detail/is_view_impl.hpp | 33 - .../adapted/struct/detail/key_of_impl.hpp | 29 - .../adapted/struct/detail/namespace.hpp | 52 - .../struct/detail/preprocessor/is_seq.hpp | 39 - .../adapted/struct/detail/proxy_type.hpp | 43 - .../adapted/struct/detail/size_impl.hpp | 33 - .../adapted/struct/detail/value_at_impl.hpp | 33 - .../struct/detail/value_of_data_impl.hpp | 22 - .../adapted/struct/detail/value_of_impl.hpp | 29 - external/boost/fusion/algorithm.hpp | 15 - external/boost/fusion/algorithm/auxiliary.hpp | 16 - .../boost/fusion/algorithm/auxiliary/copy.hpp | 91 - .../boost/fusion/algorithm/auxiliary/move.hpp | 93 - external/boost/fusion/algorithm/iteration.hpp | 18 - .../fusion/algorithm/iteration/accumulate.hpp | 45 - .../algorithm/iteration/accumulate_fwd.hpp | 33 - .../algorithm/iteration/detail/fold.hpp | 294 --- .../algorithm/iteration/detail/for_each.hpp | 149 -- .../iteration/detail/preprocessed/fold.hpp | 189 -- .../detail/preprocessed/iter_fold.hpp | 188 -- .../detail/preprocessed/reverse_fold.hpp | 188 -- .../detail/preprocessed/reverse_iter_fold.hpp | 188 -- .../iteration/detail/segmented_fold.hpp | 64 - .../iteration/detail/segmented_for_each.hpp | 52 - .../boost/fusion/algorithm/iteration/fold.hpp | 59 - .../fusion/algorithm/iteration/fold_fwd.hpp | 56 - .../fusion/algorithm/iteration/for_each.hpp | 54 - .../algorithm/iteration/for_each_fwd.hpp | 41 - .../fusion/algorithm/iteration/iter_fold.hpp | 60 - .../algorithm/iteration/iter_fold_fwd.hpp | 56 - .../algorithm/iteration/reverse_fold.hpp | 60 - .../algorithm/iteration/reverse_fold_fwd.hpp | 56 - .../algorithm/iteration/reverse_iter_fold.hpp | 61 - .../iteration/reverse_iter_fold_fwd.hpp | 56 - external/boost/fusion/algorithm/query.hpp | 19 - external/boost/fusion/algorithm/query/all.hpp | 36 - external/boost/fusion/algorithm/query/any.hpp | 37 - .../boost/fusion/algorithm/query/count.hpp | 43 - .../boost/fusion/algorithm/query/count_if.hpp | 43 - .../fusion/algorithm/query/detail/all.hpp | 137 -- .../fusion/algorithm/query/detail/any.hpp | 140 -- .../fusion/algorithm/query/detail/count.hpp | 83 - .../algorithm/query/detail/count_if.hpp | 180 -- .../fusion/algorithm/query/detail/find_if.hpp | 260 --- .../algorithm/query/detail/segmented_find.hpp | 95 - .../query/detail/segmented_find_if.hpp | 95 - .../boost/fusion/algorithm/query/find.hpp | 72 - .../boost/fusion/algorithm/query/find_fwd.hpp | 37 - .../boost/fusion/algorithm/query/find_if.hpp | 67 - .../fusion/algorithm/query/find_if_fwd.hpp | 38 - .../boost/fusion/algorithm/query/none.hpp | 35 - .../boost/fusion/algorithm/transformation.hpp | 32 - .../fusion/algorithm/transformation/clear.hpp | 34 - .../detail/preprocessed/zip.hpp | 22 - .../detail/preprocessed/zip10.hpp | 216 -- .../detail/preprocessed/zip20.hpp | 436 ---- .../detail/preprocessed/zip30.hpp | 656 ------ .../detail/preprocessed/zip40.hpp | 876 -------- .../detail/preprocessed/zip50.hpp | 1096 ---------- .../transformation/detail/replace.hpp | 78 - .../transformation/detail/replace_if.hpp | 78 - .../fusion/algorithm/transformation/erase.hpp | 140 -- .../algorithm/transformation/erase_key.hpp | 36 - .../algorithm/transformation/filter.hpp | 36 - .../algorithm/transformation/filter_if.hpp | 34 - .../algorithm/transformation/flatten.hpp | 46 - .../algorithm/transformation/insert.hpp | 69 - .../algorithm/transformation/insert_range.hpp | 56 - .../fusion/algorithm/transformation/join.hpp | 35 - .../algorithm/transformation/pop_back.hpp | 172 -- .../algorithm/transformation/pop_front.hpp | 45 - .../algorithm/transformation/push_back.hpp | 47 - .../algorithm/transformation/push_front.hpp | 47 - .../algorithm/transformation/remove.hpp | 37 - .../algorithm/transformation/remove_if.hpp | 37 - .../algorithm/transformation/replace.hpp | 43 - .../algorithm/transformation/replace_if.hpp | 44 - .../algorithm/transformation/reverse.hpp | 40 - .../algorithm/transformation/transform.hpp | 54 - .../fusion/algorithm/transformation/zip.hpp | 118 -- external/boost/fusion/container.hpp | 18 - external/boost/fusion/container/deque.hpp | 17 - .../container/deque/back_extended_deque.hpp | 53 - .../boost/fusion/container/deque/convert.hpp | 61 - .../boost/fusion/container/deque/deque.hpp | 189 -- .../fusion/container/deque/deque_fwd.hpp | 49 - .../fusion/container/deque/deque_iterator.hpp | 130 -- .../fusion/container/deque/detail/at_impl.hpp | 67 - .../container/deque/detail/begin_impl.hpp | 43 - .../container/deque/detail/build_deque.hpp | 78 - .../container/deque/detail/convert_impl.hpp | 56 - .../container/deque/detail/cpp03/as_deque.hpp | 140 -- .../deque/detail/cpp03/build_deque.hpp | 55 - .../container/deque/detail/cpp03/deque.hpp | 207 -- .../deque/detail/cpp03/deque_forward_ctor.hpp | 69 - .../deque/detail/cpp03/deque_fwd.hpp | 54 - .../deque/detail/cpp03/deque_initial_size.hpp | 64 - .../deque/detail/cpp03/deque_keyed_values.hpp | 112 - .../detail/cpp03/deque_keyed_values_call.hpp | 72 - .../container/deque/detail/cpp03/limits.hpp | 32 - .../detail/cpp03/preprocessed/as_deque.hpp | 22 - .../detail/cpp03/preprocessed/as_deque10.hpp | 223 -- .../detail/cpp03/preprocessed/as_deque20.hpp | 433 ---- .../detail/cpp03/preprocessed/as_deque30.hpp | 643 ------ .../detail/cpp03/preprocessed/as_deque40.hpp | 853 -------- .../detail/cpp03/preprocessed/as_deque50.hpp | 1063 ---------- .../deque/detail/cpp03/preprocessed/deque.hpp | 22 - .../detail/cpp03/preprocessed/deque10.hpp | 280 --- .../detail/cpp03/preprocessed/deque10_fwd.hpp | 15 - .../detail/cpp03/preprocessed/deque20.hpp | 460 ----- .../detail/cpp03/preprocessed/deque20_fwd.hpp | 15 - .../detail/cpp03/preprocessed/deque30.hpp | 640 ------ .../detail/cpp03/preprocessed/deque30_fwd.hpp | 15 - .../detail/cpp03/preprocessed/deque40.hpp | 820 -------- .../detail/cpp03/preprocessed/deque40_fwd.hpp | 15 - .../detail/cpp03/preprocessed/deque50.hpp | 1000 --------- .../detail/cpp03/preprocessed/deque50_fwd.hpp | 15 - .../detail/cpp03/preprocessed/deque_fwd.hpp | 22 - .../cpp03/preprocessed/deque_initial_size.hpp | 22 - .../preprocessed/deque_initial_size10.hpp | 18 - .../preprocessed/deque_initial_size20.hpp | 18 - .../preprocessed/deque_initial_size30.hpp | 18 - .../preprocessed/deque_initial_size40.hpp | 18 - .../preprocessed/deque_initial_size50.hpp | 18 - .../cpp03/preprocessed/deque_keyed_values.hpp | 22 - .../preprocessed/deque_keyed_values10.hpp | 252 --- .../preprocessed/deque_keyed_values20.hpp | 462 ----- .../preprocessed/deque_keyed_values30.hpp | 672 ------ .../preprocessed/deque_keyed_values40.hpp | 882 -------- .../preprocessed/deque_keyed_values50.hpp | 1092 ---------- .../deque/detail/deque_keyed_values.hpp | 76 - .../container/deque/detail/end_impl.hpp | 43 - .../deque/detail/is_sequence_impl.hpp | 32 - .../container/deque/detail/keyed_element.hpp | 171 -- .../container/deque/detail/value_at_impl.hpp | 46 - .../container/deque/front_extended_deque.hpp | 51 - .../boost/fusion/container/generation.hpp | 24 - .../fusion/container/generation/cons_tie.hpp | 46 - .../fusion/container/generation/deque_tie.hpp | 47 - .../generation/detail/pp_deque_tie.hpp | 102 - .../generation/detail/pp_list_tie.hpp | 102 - .../generation/detail/pp_make_deque.hpp | 116 -- .../generation/detail/pp_make_list.hpp | 115 -- .../generation/detail/pp_make_map.hpp | 130 -- .../generation/detail/pp_make_set.hpp | 134 -- .../generation/detail/pp_make_vector.hpp | 115 -- .../generation/detail/pp_map_tie.hpp | 133 -- .../generation/detail/pp_vector_tie.hpp | 100 - .../detail/preprocessed/deque_tie.hpp | 22 - .../detail/preprocessed/deque_tie10.hpp | 180 -- .../detail/preprocessed/deque_tie20.hpp | 340 --- .../detail/preprocessed/deque_tie30.hpp | 500 ----- .../detail/preprocessed/deque_tie40.hpp | 660 ------ .../detail/preprocessed/deque_tie50.hpp | 820 -------- .../detail/preprocessed/list_tie.hpp | 22 - .../detail/preprocessed/list_tie10.hpp | 180 -- .../detail/preprocessed/list_tie20.hpp | 340 --- .../detail/preprocessed/list_tie30.hpp | 500 ----- .../detail/preprocessed/list_tie40.hpp | 660 ------ .../detail/preprocessed/list_tie50.hpp | 820 -------- .../detail/preprocessed/make_deque.hpp | 22 - .../detail/preprocessed/make_deque10.hpp | 191 -- .../detail/preprocessed/make_deque20.hpp | 351 ---- .../detail/preprocessed/make_deque30.hpp | 511 ----- .../detail/preprocessed/make_deque40.hpp | 671 ------ .../detail/preprocessed/make_deque50.hpp | 831 -------- .../detail/preprocessed/make_list.hpp | 22 - .../detail/preprocessed/make_list10.hpp | 191 -- .../detail/preprocessed/make_list20.hpp | 351 ---- .../detail/preprocessed/make_list30.hpp | 511 ----- .../detail/preprocessed/make_list40.hpp | 671 ------ .../detail/preprocessed/make_list50.hpp | 831 -------- .../detail/preprocessed/make_map.hpp | 22 - .../detail/preprocessed/make_map10.hpp | 252 --- .../detail/preprocessed/make_map20.hpp | 472 ----- .../detail/preprocessed/make_map30.hpp | 692 ------- .../detail/preprocessed/make_map40.hpp | 912 -------- .../detail/preprocessed/make_map50.hpp | 1132 ---------- .../detail/preprocessed/make_set.hpp | 22 - .../detail/preprocessed/make_set10.hpp | 197 -- .../detail/preprocessed/make_set20.hpp | 357 ---- .../detail/preprocessed/make_set30.hpp | 517 ----- .../detail/preprocessed/make_set40.hpp | 677 ------ .../detail/preprocessed/make_set50.hpp | 837 -------- .../detail/preprocessed/make_vector.hpp | 22 - .../detail/preprocessed/make_vector10.hpp | 191 -- .../detail/preprocessed/make_vector20.hpp | 351 ---- .../detail/preprocessed/make_vector30.hpp | 511 ----- .../detail/preprocessed/make_vector40.hpp | 671 ------ .../detail/preprocessed/make_vector50.hpp | 831 -------- .../detail/preprocessed/map_tie.hpp | 22 - .../detail/preprocessed/map_tie10.hpp | 252 --- .../detail/preprocessed/map_tie20.hpp | 472 ----- .../detail/preprocessed/map_tie30.hpp | 692 ------- .../detail/preprocessed/map_tie40.hpp | 912 -------- .../detail/preprocessed/map_tie50.hpp | 1132 ---------- .../detail/preprocessed/vector_tie.hpp | 22 - .../detail/preprocessed/vector_tie10.hpp | 180 -- .../detail/preprocessed/vector_tie20.hpp | 340 --- .../detail/preprocessed/vector_tie30.hpp | 500 ----- .../detail/preprocessed/vector_tie40.hpp | 660 ------ .../detail/preprocessed/vector_tie50.hpp | 820 -------- .../fusion/container/generation/ignore.hpp | 35 - .../fusion/container/generation/list_tie.hpp | 44 - .../fusion/container/generation/make_cons.hpp | 46 - .../container/generation/make_deque.hpp | 45 - .../fusion/container/generation/make_list.hpp | 46 - .../fusion/container/generation/make_map.hpp | 64 - .../fusion/container/generation/make_set.hpp | 55 - .../container/generation/make_vector.hpp | 55 - .../fusion/container/generation/map_tie.hpp | 48 - .../fusion/container/generation/pair_tie.hpp | 46 - .../container/generation/vector_tie.hpp | 44 - external/boost/fusion/container/list.hpp | 17 - external/boost/fusion/container/list/cons.hpp | 144 -- .../boost/fusion/container/list/cons_fwd.hpp | 23 - .../fusion/container/list/cons_iterator.hpp | 111 - .../boost/fusion/container/list/convert.hpp | 60 - .../fusion/container/list/detail/at_impl.hpp | 136 -- .../container/list/detail/begin_impl.hpp | 51 - .../container/list/detail/build_cons.hpp | 61 - .../container/list/detail/convert_impl.hpp | 53 - .../container/list/detail/cpp03/limits.hpp | 23 - .../container/list/detail/cpp03/list.hpp | 104 - .../list/detail/cpp03/list_forward_ctor.hpp | 48 - .../container/list/detail/cpp03/list_fwd.hpp | 51 - .../list/detail/cpp03/list_to_cons.hpp | 76 - .../list/detail/cpp03/list_to_cons_call.hpp | 44 - .../list/detail/cpp03/preprocessed/list.hpp | 22 - .../list/detail/cpp03/preprocessed/list10.hpp | 100 - .../detail/cpp03/preprocessed/list10_fwd.hpp | 16 - .../list/detail/cpp03/preprocessed/list20.hpp | 140 -- .../detail/cpp03/preprocessed/list20_fwd.hpp | 16 - .../list/detail/cpp03/preprocessed/list30.hpp | 180 -- .../detail/cpp03/preprocessed/list30_fwd.hpp | 16 - .../list/detail/cpp03/preprocessed/list40.hpp | 220 -- .../detail/cpp03/preprocessed/list40_fwd.hpp | 16 - .../list/detail/cpp03/preprocessed/list50.hpp | 260 --- .../detail/cpp03/preprocessed/list50_fwd.hpp | 16 - .../detail/cpp03/preprocessed/list_fwd.hpp | 22 - .../cpp03/preprocessed/list_to_cons.hpp | 22 - .../cpp03/preprocessed/list_to_cons10.hpp | 96 - .../cpp03/preprocessed/list_to_cons20.hpp | 166 -- .../cpp03/preprocessed/list_to_cons30.hpp | 236 --- .../cpp03/preprocessed/list_to_cons40.hpp | 306 --- .../cpp03/preprocessed/list_to_cons50.hpp | 376 ---- .../container/list/detail/deref_impl.hpp | 54 - .../container/list/detail/empty_impl.hpp | 39 - .../fusion/container/list/detail/end_impl.hpp | 53 - .../container/list/detail/equal_to_impl.hpp | 40 - .../container/list/detail/list_to_cons.hpp | 61 - .../container/list/detail/next_impl.hpp | 61 - .../container/list/detail/reverse_cons.hpp | 46 - .../container/list/detail/value_at_impl.hpp | 43 - .../container/list/detail/value_of_impl.hpp | 36 - external/boost/fusion/container/list/list.hpp | 127 -- .../boost/fusion/container/list/list_fwd.hpp | 43 - external/boost/fusion/container/list/nil.hpp | 51 - external/boost/fusion/container/map.hpp | 15 - .../boost/fusion/container/map/convert.hpp | 117 -- .../fusion/container/map/detail/at_impl.hpp | 61 - .../container/map/detail/at_key_impl.hpp | 62 - .../container/map/detail/begin_impl.hpp | 40 - .../fusion/container/map/detail/build_map.hpp | 80 - .../container/map/detail/cpp03/as_map.hpp | 143 -- .../container/map/detail/cpp03/at_impl.hpp | 64 - .../container/map/detail/cpp03/begin_impl.hpp | 45 - .../container/map/detail/cpp03/convert.hpp | 57 - .../map/detail/cpp03/convert_impl.hpp | 54 - .../map/detail/cpp03/deref_data_impl.hpp | 49 - .../container/map/detail/cpp03/deref_impl.hpp | 47 - .../container/map/detail/cpp03/end_impl.hpp | 45 - .../map/detail/cpp03/key_of_impl.hpp | 33 - .../container/map/detail/cpp03/limits.hpp | 28 - .../fusion/container/map/detail/cpp03/map.hpp | 156 -- .../map/detail/cpp03/map_forward_ctor.hpp | 63 - .../container/map/detail/cpp03/map_fwd.hpp | 53 - .../map/detail/cpp03/preprocessed/as_map.hpp | 22 - .../detail/cpp03/preprocessed/as_map10.hpp | 223 -- .../detail/cpp03/preprocessed/as_map20.hpp | 433 ---- .../detail/cpp03/preprocessed/as_map30.hpp | 643 ------ .../detail/cpp03/preprocessed/as_map40.hpp | 853 -------- .../detail/cpp03/preprocessed/as_map50.hpp | 1063 ---------- .../map/detail/cpp03/preprocessed/map.hpp | 22 - .../map/detail/cpp03/preprocessed/map10.hpp | 178 -- .../detail/cpp03/preprocessed/map10_fwd.hpp | 18 - .../map/detail/cpp03/preprocessed/map20.hpp | 278 --- .../detail/cpp03/preprocessed/map20_fwd.hpp | 18 - .../map/detail/cpp03/preprocessed/map30.hpp | 378 ---- .../detail/cpp03/preprocessed/map30_fwd.hpp | 18 - .../map/detail/cpp03/preprocessed/map40.hpp | 478 ----- .../detail/cpp03/preprocessed/map40_fwd.hpp | 18 - .../map/detail/cpp03/preprocessed/map50.hpp | 578 ------ .../detail/cpp03/preprocessed/map50_fwd.hpp | 18 - .../map/detail/cpp03/preprocessed/map_fwd.hpp | 22 - .../map/detail/cpp03/value_at_impl.hpp | 35 - .../map/detail/cpp03/value_of_data_impl.hpp | 33 - .../map/detail/cpp03/value_of_impl.hpp | 40 - .../fusion/container/map/detail/end_impl.hpp | 40 - .../fusion/container/map/detail/map_impl.hpp | 206 -- .../fusion/container/map/detail/map_index.hpp | 19 - .../container/map/detail/value_at_impl.hpp | 39 - .../map/detail/value_at_key_impl.hpp | 40 - external/boost/fusion/container/map/map.hpp | 134 -- .../boost/fusion/container/map/map_fwd.hpp | 51 - .../fusion/container/map/map_iterator.hpp | 175 -- external/boost/fusion/container/set.hpp | 15 - .../boost/fusion/container/set/convert.hpp | 50 - .../fusion/container/set/detail/as_set.hpp | 67 - .../container/set/detail/begin_impl.hpp | 45 - .../container/set/detail/convert_impl.hpp | 47 - .../container/set/detail/cpp03/as_set.hpp | 139 -- .../container/set/detail/cpp03/limits.hpp | 28 - .../set/detail/cpp03/preprocessed/as_set.hpp | 22 - .../detail/cpp03/preprocessed/as_set10.hpp | 223 -- .../detail/cpp03/preprocessed/as_set20.hpp | 433 ---- .../detail/cpp03/preprocessed/as_set30.hpp | 643 ------ .../detail/cpp03/preprocessed/as_set40.hpp | 853 -------- .../detail/cpp03/preprocessed/as_set50.hpp | 1063 ---------- .../set/detail/cpp03/preprocessed/set.hpp | 22 - .../set/detail/cpp03/preprocessed/set10.hpp | 77 - .../detail/cpp03/preprocessed/set10_fwd.hpp | 18 - .../set/detail/cpp03/preprocessed/set20.hpp | 107 - .../detail/cpp03/preprocessed/set20_fwd.hpp | 18 - .../set/detail/cpp03/preprocessed/set30.hpp | 137 -- .../detail/cpp03/preprocessed/set30_fwd.hpp | 18 - .../set/detail/cpp03/preprocessed/set40.hpp | 167 -- .../detail/cpp03/preprocessed/set40_fwd.hpp | 18 - .../set/detail/cpp03/preprocessed/set50.hpp | 197 -- .../detail/cpp03/preprocessed/set50_fwd.hpp | 18 - .../set/detail/cpp03/preprocessed/set_fwd.hpp | 22 - .../fusion/container/set/detail/cpp03/set.hpp | 107 - .../set/detail/cpp03/set_forward_ctor.hpp | 40 - .../container/set/detail/cpp03/set_fwd.hpp | 53 - .../container/set/detail/deref_data_impl.hpp | 25 - .../container/set/detail/deref_impl.hpp | 47 - .../fusion/container/set/detail/end_impl.hpp | 45 - .../container/set/detail/key_of_impl.hpp | 25 - .../set/detail/value_of_data_impl.hpp | 24 - .../container/set/detail/value_of_impl.hpp | 35 - external/boost/fusion/container/set/set.hpp | 140 -- .../boost/fusion/container/set/set_fwd.hpp | 46 - external/boost/fusion/container/vector.hpp | 15 - .../boost/fusion/container/vector/convert.hpp | 50 - .../container/vector/detail/advance_impl.hpp | 43 - .../container/vector/detail/as_vector.hpp | 70 - .../container/vector/detail/at_impl.hpp | 60 - .../container/vector/detail/begin_impl.hpp | 41 - .../fusion/container/vector/detail/config.hpp | 37 - .../container/vector/detail/convert_impl.hpp | 47 - .../vector/detail/cpp03/as_vector.hpp | 139 -- .../container/vector/detail/cpp03/limits.hpp | 25 - .../detail/cpp03/preprocessed/as_vector.hpp | 22 - .../detail/cpp03/preprocessed/as_vector10.hpp | 223 -- .../detail/cpp03/preprocessed/as_vector20.hpp | 433 ---- .../detail/cpp03/preprocessed/as_vector30.hpp | 643 ------ .../detail/cpp03/preprocessed/as_vector40.hpp | 853 -------- .../detail/cpp03/preprocessed/as_vector50.hpp | 1063 ---------- .../detail/cpp03/preprocessed/vector.hpp | 22 - .../detail/cpp03/preprocessed/vector10.hpp | 1830 ----------------- .../cpp03/preprocessed/vector10_fwd.hpp | 33 - .../detail/cpp03/preprocessed/vector20.hpp | 1824 ---------------- .../cpp03/preprocessed/vector20_fwd.hpp | 33 - .../detail/cpp03/preprocessed/vector30.hpp | 1824 ---------------- .../cpp03/preprocessed/vector30_fwd.hpp | 33 - .../detail/cpp03/preprocessed/vector40.hpp | 1824 ---------------- .../cpp03/preprocessed/vector40_fwd.hpp | 33 - .../detail/cpp03/preprocessed/vector50.hpp | 1824 ---------------- .../cpp03/preprocessed/vector50_fwd.hpp | 33 - .../cpp03/preprocessed/vector_chooser.hpp | 21 - .../cpp03/preprocessed/vector_chooser10.hpp | 84 - .../cpp03/preprocessed/vector_chooser20.hpp | 154 -- .../cpp03/preprocessed/vector_chooser30.hpp | 224 -- .../cpp03/preprocessed/vector_chooser40.hpp | 294 --- .../cpp03/preprocessed/vector_chooser50.hpp | 364 ---- .../detail/cpp03/preprocessed/vector_fwd.hpp | 22 - .../detail/cpp03/preprocessed/vvector10.hpp | 325 --- .../cpp03/preprocessed/vvector10_fwd.hpp | 16 - .../detail/cpp03/preprocessed/vvector20.hpp | 505 ----- .../cpp03/preprocessed/vvector20_fwd.hpp | 16 - .../detail/cpp03/preprocessed/vvector30.hpp | 685 ------ .../cpp03/preprocessed/vvector30_fwd.hpp | 16 - .../detail/cpp03/preprocessed/vvector40.hpp | 865 -------- .../cpp03/preprocessed/vvector40_fwd.hpp | 16 - .../detail/cpp03/preprocessed/vvector50.hpp | 1045 ---------- .../cpp03/preprocessed/vvector50_fwd.hpp | 16 - .../vector/detail/cpp03/value_at_impl.hpp | 34 - .../container/vector/detail/cpp03/vector.hpp | 254 --- .../vector/detail/cpp03/vector10.hpp | 105 - .../vector/detail/cpp03/vector10_fwd.hpp | 64 - .../vector/detail/cpp03/vector20.hpp | 81 - .../vector/detail/cpp03/vector20_fwd.hpp | 59 - .../vector/detail/cpp03/vector30.hpp | 80 - .../vector/detail/cpp03/vector30_fwd.hpp | 59 - .../vector/detail/cpp03/vector40.hpp | 81 - .../vector/detail/cpp03/vector40_fwd.hpp | 59 - .../vector/detail/cpp03/vector50.hpp | 80 - .../vector/detail/cpp03/vector50_fwd.hpp | 59 - .../detail/cpp03/vector_forward_ctor.hpp | 79 - .../vector/detail/cpp03/vector_fwd.hpp | 66 - .../vector/detail/cpp03/vector_n.hpp | 354 ---- .../vector/detail/cpp03/vector_n_chooser.hpp | 107 - .../container/vector/detail/deref_impl.hpp | 54 - .../container/vector/detail/distance_impl.hpp | 43 - .../container/vector/detail/end_impl.hpp | 42 - .../container/vector/detail/equal_to_impl.hpp | 40 - .../container/vector/detail/next_impl.hpp | 45 - .../container/vector/detail/prior_impl.hpp | 45 - .../container/vector/detail/value_at_impl.hpp | 62 - .../container/vector/detail/value_of_impl.hpp | 36 - .../boost/fusion/container/vector/vector.hpp | 322 --- .../fusion/container/vector/vector10.hpp | 29 - .../fusion/container/vector/vector20.hpp | 29 - .../fusion/container/vector/vector30.hpp | 29 - .../fusion/container/vector/vector40.hpp | 29 - .../fusion/container/vector/vector50.hpp | 29 - .../fusion/container/vector/vector_fwd.hpp | 43 - .../container/vector/vector_iterator.hpp | 62 - external/boost/fusion/functional.hpp | 18 - external/boost/fusion/functional/adapter.hpp | 17 - .../functional/adapter/detail/access.hpp | 41 - .../boost/fusion/functional/adapter/fused.hpp | 101 - .../adapter/fused_function_object.hpp | 106 - .../functional/adapter/fused_procedure.hpp | 86 - .../fusion/functional/adapter/limits.hpp | 31 - .../fusion/functional/adapter/unfused.hpp | 180 -- .../functional/adapter/unfused_typed.hpp | 179 -- .../boost/fusion/functional/generation.hpp | 18 - .../generation/detail/gen_make_adapter.hpp | 45 - .../functional/generation/make_fused.hpp | 19 - .../generation/make_fused_function_object.hpp | 19 - .../generation/make_fused_procedure.hpp | 19 - .../functional/generation/make_unfused.hpp | 19 - .../boost/fusion/functional/invocation.hpp | 17 - .../functional/invocation/detail/that_ptr.hpp | 99 - .../fusion/functional/invocation/invoke.hpp | 414 ---- .../invocation/invoke_function_object.hpp | 214 -- .../invocation/invoke_procedure.hpp | 212 -- .../fusion/functional/invocation/limits.hpp | 23 - external/boost/fusion/include/accumulate.hpp | 13 - external/boost/fusion/include/adapt_adt.hpp | 14 - .../boost/fusion/include/adapt_adt_named.hpp | 14 - .../boost/fusion/include/adapt_assoc_adt.hpp | 14 - .../fusion/include/adapt_assoc_adt_named.hpp | 14 - .../fusion/include/adapt_assoc_struct.hpp | 14 - .../include/adapt_assoc_struct_named.hpp | 14 - .../boost/fusion/include/adapt_struct.hpp | 14 - .../fusion/include/adapt_struct_named.hpp | 14 - external/boost/fusion/include/adapted.hpp | 13 - external/boost/fusion/include/adapter.hpp | 13 - external/boost/fusion/include/advance.hpp | 13 - external/boost/fusion/include/algorithm.hpp | 13 - external/boost/fusion/include/all.hpp | 13 - external/boost/fusion/include/any.hpp | 13 - external/boost/fusion/include/array.hpp | 13 - external/boost/fusion/include/as_deque.hpp | 13 - external/boost/fusion/include/as_list.hpp | 13 - external/boost/fusion/include/as_map.hpp | 13 - external/boost/fusion/include/as_set.hpp | 13 - external/boost/fusion/include/as_vector.hpp | 13 - external/boost/fusion/include/at.hpp | 13 - external/boost/fusion/include/at_c.hpp | 13 - external/boost/fusion/include/at_key.hpp | 13 - external/boost/fusion/include/auxiliary.hpp | 13 - external/boost/fusion/include/back.hpp | 13 - external/boost/fusion/include/begin.hpp | 13 - external/boost/fusion/include/boost_array.hpp | 13 - external/boost/fusion/include/boost_tuple.hpp | 13 - external/boost/fusion/include/category_of.hpp | 13 - external/boost/fusion/include/clear.hpp | 13 - external/boost/fusion/include/comparison.hpp | 13 - external/boost/fusion/include/cons.hpp | 13 - external/boost/fusion/include/cons_tie.hpp | 13 - external/boost/fusion/include/container.hpp | 13 - external/boost/fusion/include/convert.hpp | 13 - external/boost/fusion/include/copy.hpp | 13 - external/boost/fusion/include/count.hpp | 13 - external/boost/fusion/include/count_if.hpp | 13 - external/boost/fusion/include/deduce.hpp | 13 - .../boost/fusion/include/deduce_sequence.hpp | 13 - .../fusion/include/define_assoc_struct.hpp | 14 - .../boost/fusion/include/define_struct.hpp | 14 - .../fusion/include/define_struct_inline.hpp | 14 - external/boost/fusion/include/deque.hpp | 13 - external/boost/fusion/include/deque_fwd.hpp | 13 - external/boost/fusion/include/deque_tie.hpp | 14 - external/boost/fusion/include/deref.hpp | 13 - external/boost/fusion/include/deref_data.hpp | 14 - external/boost/fusion/include/distance.hpp | 13 - external/boost/fusion/include/empty.hpp | 13 - external/boost/fusion/include/end.hpp | 13 - external/boost/fusion/include/equal_to.hpp | 14 - external/boost/fusion/include/erase.hpp | 13 - external/boost/fusion/include/erase_key.hpp | 13 - external/boost/fusion/include/filter.hpp | 13 - external/boost/fusion/include/filter_if.hpp | 13 - external/boost/fusion/include/filter_view.hpp | 13 - external/boost/fusion/include/find.hpp | 13 - external/boost/fusion/include/find_if.hpp | 13 - external/boost/fusion/include/flatten.hpp | 14 - .../boost/fusion/include/flatten_view.hpp | 14 - external/boost/fusion/include/fold.hpp | 13 - external/boost/fusion/include/for_each.hpp | 13 - external/boost/fusion/include/front.hpp | 13 - external/boost/fusion/include/functional.hpp | 13 - external/boost/fusion/include/fused.hpp | 13 - .../fusion/include/fused_function_object.hpp | 13 - .../boost/fusion/include/fused_procedure.hpp | 13 - external/boost/fusion/include/generation.hpp | 14 - external/boost/fusion/include/greater.hpp | 13 - .../boost/fusion/include/greater_equal.hpp | 13 - external/boost/fusion/include/has_key.hpp | 13 - external/boost/fusion/include/hash.hpp | 12 - external/boost/fusion/include/ignore.hpp | 14 - external/boost/fusion/include/in.hpp | 13 - external/boost/fusion/include/insert.hpp | 13 - .../boost/fusion/include/insert_range.hpp | 13 - external/boost/fusion/include/intrinsic.hpp | 13 - external/boost/fusion/include/invocation.hpp | 13 - external/boost/fusion/include/invoke.hpp | 13 - .../fusion/include/invoke_function_object.hpp | 13 - .../boost/fusion/include/invoke_procedure.hpp | 13 - external/boost/fusion/include/io.hpp | 13 - external/boost/fusion/include/is_iterator.hpp | 13 - .../boost/fusion/include/is_segmented.hpp | 13 - external/boost/fusion/include/is_sequence.hpp | 13 - external/boost/fusion/include/is_view.hpp | 13 - external/boost/fusion/include/iter_fold.hpp | 14 - external/boost/fusion/include/iteration.hpp | 13 - external/boost/fusion/include/iterator.hpp | 13 - .../boost/fusion/include/iterator_adapter.hpp | 13 - .../boost/fusion/include/iterator_base.hpp | 13 - .../boost/fusion/include/iterator_facade.hpp | 13 - .../boost/fusion/include/iterator_range.hpp | 13 - external/boost/fusion/include/join.hpp | 13 - external/boost/fusion/include/joint_view.hpp | 13 - external/boost/fusion/include/key_of.hpp | 14 - external/boost/fusion/include/less.hpp | 13 - external/boost/fusion/include/less_equal.hpp | 13 - external/boost/fusion/include/list.hpp | 13 - external/boost/fusion/include/list_fwd.hpp | 13 - external/boost/fusion/include/list_tie.hpp | 14 - external/boost/fusion/include/make_cons.hpp | 13 - external/boost/fusion/include/make_deque.hpp | 13 - external/boost/fusion/include/make_fused.hpp | 13 - .../include/make_fused_function_object.hpp | 13 - .../fusion/include/make_fused_procedure.hpp | 13 - external/boost/fusion/include/make_list.hpp | 13 - external/boost/fusion/include/make_map.hpp | 13 - external/boost/fusion/include/make_set.hpp | 13 - external/boost/fusion/include/make_tuple.hpp | 13 - .../boost/fusion/include/make_unfused.hpp | 14 - external/boost/fusion/include/make_vector.hpp | 13 - external/boost/fusion/include/map.hpp | 13 - external/boost/fusion/include/map_fwd.hpp | 13 - external/boost/fusion/include/map_tie.hpp | 13 - external/boost/fusion/include/move.hpp | 13 - external/boost/fusion/include/mpl.hpp | 14 - external/boost/fusion/include/next.hpp | 13 - external/boost/fusion/include/nil.hpp | 13 - external/boost/fusion/include/none.hpp | 13 - .../boost/fusion/include/not_equal_to.hpp | 14 - external/boost/fusion/include/nview.hpp | 13 - external/boost/fusion/include/out.hpp | 13 - external/boost/fusion/include/pair.hpp | 13 - external/boost/fusion/include/pair_tie.hpp | 13 - external/boost/fusion/include/pop_back.hpp | 13 - external/boost/fusion/include/pop_front.hpp | 13 - external/boost/fusion/include/prior.hpp | 13 - external/boost/fusion/include/proxy_type.hpp | 14 - external/boost/fusion/include/push_back.hpp | 13 - external/boost/fusion/include/push_front.hpp | 13 - external/boost/fusion/include/query.hpp | 13 - external/boost/fusion/include/remove.hpp | 13 - external/boost/fusion/include/remove_if.hpp | 13 - .../boost/fusion/include/repetitive_view.hpp | 13 - external/boost/fusion/include/replace.hpp | 13 - external/boost/fusion/include/replace_if.hpp | 13 - external/boost/fusion/include/reverse.hpp | 13 - .../boost/fusion/include/reverse_fold.hpp | 14 - .../fusion/include/reverse_iter_fold.hpp | 14 - .../boost/fusion/include/reverse_view.hpp | 13 - .../fusion/include/segmented_fold_until.hpp | 13 - .../fusion/include/segmented_iterator.hpp | 13 - external/boost/fusion/include/segments.hpp | 13 - external/boost/fusion/include/sequence.hpp | 13 - .../boost/fusion/include/sequence_base.hpp | 13 - .../boost/fusion/include/sequence_facade.hpp | 13 - external/boost/fusion/include/set.hpp | 13 - external/boost/fusion/include/set_fwd.hpp | 13 - external/boost/fusion/include/single_view.hpp | 13 - external/boost/fusion/include/size.hpp | 13 - external/boost/fusion/include/std_array.hpp | 13 - external/boost/fusion/include/std_pair.hpp | 13 - external/boost/fusion/include/std_tuple.hpp | 12 - external/boost/fusion/include/struct.hpp | 13 - external/boost/fusion/include/support.hpp | 13 - external/boost/fusion/include/swap.hpp | 13 - external/boost/fusion/include/tag_of.hpp | 13 - external/boost/fusion/include/tag_of_fwd.hpp | 13 - external/boost/fusion/include/transform.hpp | 13 - .../boost/fusion/include/transform_view.hpp | 13 - .../boost/fusion/include/transformation.hpp | 13 - external/boost/fusion/include/tuple.hpp | 13 - external/boost/fusion/include/tuple_fwd.hpp | 13 - external/boost/fusion/include/tuple_tie.hpp | 13 - external/boost/fusion/include/unfused.hpp | 14 - .../boost/fusion/include/unfused_typed.hpp | 13 - external/boost/fusion/include/unused.hpp | 13 - external/boost/fusion/include/value_at.hpp | 13 - .../boost/fusion/include/value_at_key.hpp | 13 - external/boost/fusion/include/value_of.hpp | 13 - .../boost/fusion/include/value_of_data.hpp | 14 - external/boost/fusion/include/vector.hpp | 13 - external/boost/fusion/include/vector10.hpp | 13 - external/boost/fusion/include/vector20.hpp | 13 - external/boost/fusion/include/vector30.hpp | 13 - external/boost/fusion/include/vector40.hpp | 13 - external/boost/fusion/include/vector50.hpp | 13 - external/boost/fusion/include/vector_fwd.hpp | 13 - external/boost/fusion/include/vector_tie.hpp | 13 - external/boost/fusion/include/view.hpp | 13 - external/boost/fusion/include/void.hpp | 13 - external/boost/fusion/include/zip.hpp | 13 - external/boost/fusion/include/zip_view.hpp | 13 - external/boost/fusion/iterator.hpp | 23 - external/boost/fusion/iterator/advance.hpp | 95 - .../boost/fusion/iterator/basic_iterator.hpp | 156 -- external/boost/fusion/iterator/deref.hpp | 75 - external/boost/fusion/iterator/deref_data.hpp | 51 - .../iterator/detail/adapt_deref_traits.hpp | 36 - .../iterator/detail/adapt_value_traits.hpp | 29 - .../boost/fusion/iterator/detail/advance.hpp | 107 - .../boost/fusion/iterator/detail/distance.hpp | 66 - .../iterator/detail/segment_sequence.hpp | 73 - .../iterator/detail/segmented_equal_to.hpp | 42 - .../iterator/detail/segmented_iterator.hpp | 148 -- .../iterator/detail/segmented_next_impl.hpp | 265 --- external/boost/fusion/iterator/distance.hpp | 80 - external/boost/fusion/iterator/equal_to.hpp | 106 - .../fusion/iterator/iterator_adapter.hpp | 147 -- .../boost/fusion/iterator/iterator_facade.hpp | 68 - external/boost/fusion/iterator/key_of.hpp | 43 - external/boost/fusion/iterator/mpl.hpp | 14 - .../fusion/iterator/mpl/convert_iterator.hpp | 62 - .../fusion/iterator/mpl/fusion_iterator.hpp | 80 - external/boost/fusion/iterator/next.hpp | 65 - external/boost/fusion/iterator/prior.hpp | 65 - .../fusion/iterator/segmented_iterator.hpp | 16 - external/boost/fusion/iterator/value_of.hpp | 58 - .../boost/fusion/iterator/value_of_data.hpp | 43 - external/boost/fusion/mpl.hpp | 32 - external/boost/fusion/mpl/at.hpp | 34 - external/boost/fusion/mpl/back.hpp | 33 - external/boost/fusion/mpl/begin.hpp | 32 - external/boost/fusion/mpl/clear.hpp | 34 - external/boost/fusion/mpl/detail/clear.hpp | 47 - external/boost/fusion/mpl/empty.hpp | 27 - external/boost/fusion/mpl/end.hpp | 32 - external/boost/fusion/mpl/erase.hpp | 40 - external/boost/fusion/mpl/erase_key.hpp | 40 - external/boost/fusion/mpl/front.hpp | 29 - external/boost/fusion/mpl/has_key.hpp | 28 - external/boost/fusion/mpl/insert.hpp | 40 - external/boost/fusion/mpl/insert_range.hpp | 40 - external/boost/fusion/mpl/pop_back.hpp | 40 - external/boost/fusion/mpl/pop_front.hpp | 40 - external/boost/fusion/mpl/push_back.hpp | 40 - external/boost/fusion/mpl/push_front.hpp | 40 - external/boost/fusion/mpl/size.hpp | 27 - external/boost/fusion/sequence.hpp | 17 - external/boost/fusion/sequence/comparison.hpp | 18 - .../sequence/comparison/detail/equal_to.hpp | 66 - .../sequence/comparison/detail/greater.hpp | 55 - .../comparison/detail/greater_equal.hpp | 55 - .../sequence/comparison/detail/less.hpp | 55 - .../sequence/comparison/detail/less_equal.hpp | 55 - .../comparison/detail/not_equal_to.hpp | 66 - .../sequence/comparison/enable_comparison.hpp | 35 - .../fusion/sequence/comparison/equal_to.hpp | 59 - .../fusion/sequence/comparison/greater.hpp | 55 - .../sequence/comparison/greater_equal.hpp | 55 - .../boost/fusion/sequence/comparison/less.hpp | 46 - .../fusion/sequence/comparison/less_equal.hpp | 55 - .../sequence/comparison/not_equal_to.hpp | 58 - external/boost/fusion/sequence/convert.hpp | 61 - external/boost/fusion/sequence/hash.hpp | 42 - external/boost/fusion/sequence/intrinsic.hpp | 25 - .../boost/fusion/sequence/intrinsic/at.hpp | 134 -- .../boost/fusion/sequence/intrinsic/at_c.hpp | 14 - .../fusion/sequence/intrinsic/at_key.hpp | 116 -- .../boost/fusion/sequence/intrinsic/back.hpp | 46 - .../boost/fusion/sequence/intrinsic/begin.hpp | 98 - .../intrinsic/detail/segmented_begin.hpp | 45 - .../intrinsic/detail/segmented_begin_impl.hpp | 96 - .../intrinsic/detail/segmented_end.hpp | 41 - .../intrinsic/detail/segmented_end_impl.hpp | 68 - .../intrinsic/detail/segmented_size.hpp | 55 - .../boost/fusion/sequence/intrinsic/empty.hpp | 63 - .../boost/fusion/sequence/intrinsic/end.hpp | 98 - .../boost/fusion/sequence/intrinsic/front.hpp | 45 - .../fusion/sequence/intrinsic/has_key.hpp | 81 - .../fusion/sequence/intrinsic/segments.hpp | 79 - .../boost/fusion/sequence/intrinsic/size.hpp | 86 - .../boost/fusion/sequence/intrinsic/swap.hpp | 64 - .../fusion/sequence/intrinsic/value_at.hpp | 88 - .../sequence/intrinsic/value_at_key.hpp | 86 - .../boost/fusion/sequence/intrinsic_fwd.hpp | 223 -- external/boost/fusion/sequence/io.hpp | 14 - .../boost/fusion/sequence/io/detail/in.hpp | 86 - .../boost/fusion/sequence/io/detail/manip.hpp | 269 --- .../boost/fusion/sequence/io/detail/out.hpp | 86 - external/boost/fusion/sequence/io/in.hpp | 43 - external/boost/fusion/sequence/io/out.hpp | 45 - .../boost/fusion/sequence/sequence_facade.hpp | 30 - external/boost/fusion/support.hpp | 25 - external/boost/fusion/support/as_const.hpp | 30 - external/boost/fusion/support/category_of.hpp | 122 -- external/boost/fusion/support/config.hpp | 99 - external/boost/fusion/support/deduce.hpp | 137 -- .../boost/fusion/support/deduce_sequence.hpp | 54 - .../boost/fusion/support/detail/access.hpp | 65 - external/boost/fusion/support/detail/and.hpp | 39 - .../support/detail/as_fusion_element.hpp | 60 - .../fusion/support/detail/category_of.hpp | 19 - .../boost/fusion/support/detail/enabler.hpp | 22 - .../fusion/support/detail/index_sequence.hpp | 79 - .../fusion/support/detail/is_mpl_sequence.hpp | 28 - .../fusion/support/detail/is_same_size.hpp | 29 - .../boost/fusion/support/detail/is_view.hpp | 19 - .../support/detail/mpl_iterator_category.hpp | 66 - .../boost/fusion/support/detail/pp_round.hpp | 72 - .../detail/segmented_fold_until_impl.hpp | 401 ---- .../fusion/support/detail/unknown_key.hpp | 16 - external/boost/fusion/support/is_iterator.hpp | 21 - .../boost/fusion/support/is_segmented.hpp | 55 - external/boost/fusion/support/is_sequence.hpp | 77 - external/boost/fusion/support/is_view.hpp | 67 - .../boost/fusion/support/iterator_base.hpp | 36 - external/boost/fusion/support/pair.hpp | 168 -- .../fusion/support/segmented_fold_until.hpp | 71 - .../boost/fusion/support/sequence_base.hpp | 59 - external/boost/fusion/support/tag_of.hpp | 83 - external/boost/fusion/support/tag_of_fwd.hpp | 20 - external/boost/fusion/support/unused.hpp | 95 - external/boost/fusion/support/void.hpp | 15 - external/boost/fusion/tuple.hpp | 17 - .../boost/fusion/tuple/detail/make_tuple.hpp | 86 - .../tuple/detail/preprocessed/make_tuple.hpp | 21 - .../detail/preprocessed/make_tuple10.hpp | 91 - .../detail/preprocessed/make_tuple20.hpp | 171 -- .../detail/preprocessed/make_tuple30.hpp | 251 --- .../detail/preprocessed/make_tuple40.hpp | 331 --- .../detail/preprocessed/make_tuple50.hpp | 411 ---- .../tuple/detail/preprocessed/tuple.hpp | 22 - .../tuple/detail/preprocessed/tuple10.hpp | 209 -- .../tuple/detail/preprocessed/tuple10_fwd.hpp | 16 - .../tuple/detail/preprocessed/tuple20.hpp | 349 ---- .../tuple/detail/preprocessed/tuple20_fwd.hpp | 16 - .../tuple/detail/preprocessed/tuple30.hpp | 489 ----- .../tuple/detail/preprocessed/tuple30_fwd.hpp | 16 - .../tuple/detail/preprocessed/tuple40.hpp | 629 ------ .../tuple/detail/preprocessed/tuple40_fwd.hpp | 16 - .../tuple/detail/preprocessed/tuple50.hpp | 769 ------- .../tuple/detail/preprocessed/tuple50_fwd.hpp | 16 - .../tuple/detail/preprocessed/tuple_fwd.hpp | 21 - .../tuple/detail/preprocessed/tuple_tie.hpp | 21 - .../tuple/detail/preprocessed/tuple_tie10.hpp | 91 - .../tuple/detail/preprocessed/tuple_tie20.hpp | 171 -- .../tuple/detail/preprocessed/tuple_tie30.hpp | 251 --- .../tuple/detail/preprocessed/tuple_tie40.hpp | 331 --- .../tuple/detail/preprocessed/tuple_tie50.hpp | 411 ---- external/boost/fusion/tuple/detail/tuple.hpp | 122 -- .../fusion/tuple/detail/tuple_expand.hpp | 53 - .../boost/fusion/tuple/detail/tuple_fwd.hpp | 52 - .../boost/fusion/tuple/detail/tuple_tie.hpp | 76 - external/boost/fusion/tuple/make_tuple.hpp | 50 - external/boost/fusion/tuple/tuple.hpp | 127 -- external/boost/fusion/tuple/tuple_fwd.hpp | 43 - external/boost/fusion/tuple/tuple_tie.hpp | 38 - external/boost/fusion/view.hpp | 21 - .../view/detail/strictest_traversal.hpp | 78 - external/boost/fusion/view/filter_view.hpp | 14 - .../view/filter_view/detail/begin_impl.hpp | 47 - .../filter_view/detail/deref_data_impl.hpp | 39 - .../view/filter_view/detail/deref_impl.hpp | 30 - .../view/filter_view/detail/end_impl.hpp | 46 - .../view/filter_view/detail/equal_to_impl.hpp | 34 - .../view/filter_view/detail/key_of_impl.hpp | 29 - .../view/filter_view/detail/next_impl.hpp | 79 - .../view/filter_view/detail/size_impl.hpp | 39 - .../filter_view/detail/value_of_data_impl.hpp | 29 - .../view/filter_view/detail/value_of_impl.hpp | 30 - .../fusion/view/filter_view/filter_view.hpp | 68 - .../view/filter_view/filter_view_iterator.hpp | 81 - external/boost/fusion/view/flatten_view.hpp | 15 - .../fusion/view/flatten_view/flatten_view.hpp | 133 -- .../flatten_view/flatten_view_iterator.hpp | 218 -- external/boost/fusion/view/iterator_range.hpp | 13 - .../view/iterator_range/detail/at_impl.hpp | 46 - .../view/iterator_range/detail/begin_impl.hpp | 42 - .../view/iterator_range/detail/end_impl.hpp | 42 - .../detail/is_segmented_impl.hpp | 67 - .../detail/segmented_iterator_range.hpp | 556 ----- .../iterator_range/detail/segments_impl.hpp | 54 - .../view/iterator_range/detail/size_impl.hpp | 38 - .../iterator_range/detail/value_at_impl.hpp | 39 - .../view/iterator_range/iterator_range.hpp | 63 - external/boost/fusion/view/joint_view.hpp | 14 - .../view/joint_view/detail/begin_impl.hpp | 71 - .../joint_view/detail/deref_data_impl.hpp | 39 - .../view/joint_view/detail/deref_impl.hpp | 30 - .../view/joint_view/detail/end_impl.hpp | 42 - .../view/joint_view/detail/key_of_impl.hpp | 29 - .../view/joint_view/detail/next_impl.hpp | 75 - .../joint_view/detail/value_of_data_impl.hpp | 29 - .../view/joint_view/detail/value_of_impl.hpp | 30 - .../fusion/view/joint_view/joint_view.hpp | 83 - .../fusion/view/joint_view/joint_view_fwd.hpp | 18 - .../view/joint_view/joint_view_iterator.hpp | 70 - external/boost/fusion/view/nview.hpp | 16 - .../fusion/view/nview/detail/advance_impl.hpp | 50 - .../fusion/view/nview/detail/at_impl.hpp | 48 - .../fusion/view/nview/detail/begin_impl.hpp | 49 - .../view/nview/detail/cpp03/nview_impl.hpp | 81 - .../fusion/view/nview/detail/deref_impl.hpp | 50 - .../view/nview/detail/distance_impl.hpp | 46 - .../fusion/view/nview/detail/end_impl.hpp | 51 - .../view/nview/detail/equal_to_impl.hpp | 34 - .../fusion/view/nview/detail/next_impl.hpp | 50 - .../fusion/view/nview/detail/nview_impl.hpp | 50 - .../fusion/view/nview/detail/prior_impl.hpp | 50 - .../fusion/view/nview/detail/size_impl.hpp | 39 - .../view/nview/detail/value_at_impl.hpp | 40 - .../view/nview/detail/value_of_impl.hpp | 45 - external/boost/fusion/view/nview/nview.hpp | 122 -- .../fusion/view/nview/nview_iterator.hpp | 68 - .../boost/fusion/view/repetitive_view.hpp | 16 - .../repetitive_view/detail/begin_impl.hpp | 51 - .../repetitive_view/detail/deref_impl.hpp | 46 - .../view/repetitive_view/detail/end_impl.hpp | 51 - .../view/repetitive_view/detail/next_impl.hpp | 94 - .../repetitive_view/detail/value_of_impl.hpp | 35 - .../view/repetitive_view/repetitive_view.hpp | 54 - .../repetitive_view/repetitive_view_fwd.hpp | 19 - .../repetitive_view_iterator.hpp | 66 - external/boost/fusion/view/reverse_view.hpp | 14 - .../view/reverse_view/detail/advance_impl.hpp | 49 - .../view/reverse_view/detail/at_impl.hpp | 43 - .../view/reverse_view/detail/begin_impl.hpp | 43 - .../reverse_view/detail/deref_data_impl.hpp | 39 - .../view/reverse_view/detail/deref_impl.hpp | 50 - .../reverse_view/detail/distance_impl.hpp | 47 - .../view/reverse_view/detail/end_impl.hpp | 43 - .../view/reverse_view/detail/key_of_impl.hpp | 29 - .../view/reverse_view/detail/next_impl.hpp | 49 - .../view/reverse_view/detail/prior_impl.hpp | 49 - .../reverse_view/detail/value_at_impl.hpp | 34 - .../detail/value_of_data_impl.hpp | 29 - .../reverse_view/detail/value_of_impl.hpp | 43 - .../fusion/view/reverse_view/reverse_view.hpp | 72 - .../reverse_view/reverse_view_iterator.hpp | 67 - external/boost/fusion/view/single_view.hpp | 14 - .../view/single_view/detail/advance_impl.hpp | 49 - .../view/single_view/detail/at_impl.hpp | 46 - .../view/single_view/detail/begin_impl.hpp | 47 - .../view/single_view/detail/deref_impl.hpp | 47 - .../view/single_view/detail/distance_impl.hpp | 45 - .../view/single_view/detail/end_impl.hpp | 47 - .../view/single_view/detail/equal_to_impl.hpp | 40 - .../view/single_view/detail/next_impl.hpp | 55 - .../view/single_view/detail/prior_impl.hpp | 48 - .../view/single_view/detail/size_impl.hpp | 33 - .../view/single_view/detail/value_at_impl.hpp | 40 - .../view/single_view/detail/value_of_impl.hpp | 40 - .../fusion/view/single_view/single_view.hpp | 72 - .../view/single_view/single_view_iterator.hpp | 69 - external/boost/fusion/view/transform_view.hpp | 14 - .../transform_view/detail/advance_impl.hpp | 78 - .../detail/apply_transform_result.hpp | 38 - .../view/transform_view/detail/at_impl.hpp | 66 - .../view/transform_view/detail/begin_impl.hpp | 71 - .../view/transform_view/detail/deref_impl.hpp | 79 - .../transform_view/detail/distance_impl.hpp | 62 - .../view/transform_view/detail/end_impl.hpp | 71 - .../transform_view/detail/equal_to_impl.hpp | 43 - .../view/transform_view/detail/next_impl.hpp | 77 - .../view/transform_view/detail/prior_impl.hpp | 76 - .../transform_view/detail/value_at_impl.hpp | 54 - .../transform_view/detail/value_of_impl.hpp | 64 - .../view/transform_view/transform_view.hpp | 124 -- .../transform_view/transform_view_fwd.hpp | 22 - .../transform_view_iterator.hpp | 92 - external/boost/fusion/view/zip_view.hpp | 15 - .../view/zip_view/detail/advance_impl.hpp | 72 - .../fusion/view/zip_view/detail/at_impl.hpp | 97 - .../view/zip_view/detail/begin_impl.hpp | 97 - .../view/zip_view/detail/deref_impl.hpp | 87 - .../view/zip_view/detail/distance_impl.hpp | 84 - .../fusion/view/zip_view/detail/end_impl.hpp | 108 - .../view/zip_view/detail/equal_to_impl.hpp | 63 - .../fusion/view/zip_view/detail/next_impl.hpp | 87 - .../view/zip_view/detail/prior_impl.hpp | 87 - .../fusion/view/zip_view/detail/size_impl.hpp | 35 - .../view/zip_view/detail/value_at_impl.hpp | 71 - .../view/zip_view/detail/value_of_impl.hpp | 71 - .../boost/fusion/view/zip_view/zip_view.hpp | 135 -- .../view/zip_view/zip_view_iterator.hpp | 58 - .../view/zip_view/zip_view_iterator_fwd.hpp | 23 - external/boost/parameter/aux_/arg_list.hpp | 437 ---- external/boost/parameter/aux_/cast.hpp | 141 -- external/boost/parameter/aux_/default.hpp | 69 - external/boost/parameter/aux_/is_maybe.hpp | 26 - external/boost/parameter/aux_/maybe.hpp | 120 -- external/boost/parameter/aux_/overloads.hpp | 88 - .../parameter/aux_/parameter_requirements.hpp | 25 - .../parameter/aux_/parenthesized_type.hpp | 35 - .../parameter/aux_/preprocessor/flatten.hpp | 115 -- .../parameter/aux_/preprocessor/for_each.hpp | 103 - .../boost/parameter/aux_/python/invoker.hpp | 132 -- .../parameter/aux_/python/invoker_iterate.hpp | 93 - external/boost/parameter/aux_/result_of0.hpp | 36 - external/boost/parameter/aux_/set.hpp | 66 - external/boost/parameter/aux_/tag.hpp | 38 - .../boost/parameter/aux_/tagged_argument.hpp | 188 -- .../boost/parameter/aux_/template_keyword.hpp | 47 - .../parameter/aux_/unwrap_cv_reference.hpp | 91 - external/boost/parameter/aux_/void.hpp | 29 - external/boost/parameter/aux_/yesno.hpp | 26 - external/boost/parameter/binding.hpp | 80 - external/boost/parameter/config.hpp | 14 - external/boost/parameter/keyword.hpp | 122 -- external/boost/parameter/macros.hpp | 99 - external/boost/parameter/match.hpp | 55 - external/boost/parameter/name.hpp | 146 -- external/boost/parameter/parameters.hpp | 931 --------- external/boost/parameter/preprocessor.hpp | 1077 ---------- external/boost/parameter/python.hpp | 735 ------- external/boost/parameter/value_type.hpp | 82 - external/boost/ref.hpp | 17 - external/boost/version.hpp | 32 - 1137 files changed, 135303 deletions(-) delete mode 100644 external/boost/accumulators/accumulators.hpp delete mode 100644 external/boost/accumulators/accumulators_fwd.hpp delete mode 100644 external/boost/accumulators/framework/accumulator_base.hpp delete mode 100644 external/boost/accumulators/framework/accumulator_concept.hpp delete mode 100644 external/boost/accumulators/framework/accumulator_set.hpp delete mode 100644 external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp delete mode 100644 external/boost/accumulators/framework/accumulators/external_accumulator.hpp delete mode 100644 external/boost/accumulators/framework/accumulators/reference_accumulator.hpp delete mode 100644 external/boost/accumulators/framework/accumulators/value_accumulator.hpp delete mode 100644 external/boost/accumulators/framework/depends_on.hpp delete mode 100644 external/boost/accumulators/framework/external.hpp delete mode 100644 external/boost/accumulators/framework/extractor.hpp delete mode 100644 external/boost/accumulators/framework/features.hpp delete mode 100644 external/boost/accumulators/framework/parameters/accumulator.hpp delete mode 100644 external/boost/accumulators/framework/parameters/sample.hpp delete mode 100644 external/boost/accumulators/framework/parameters/weight.hpp delete mode 100644 external/boost/accumulators/framework/parameters/weights.hpp delete mode 100644 external/boost/accumulators/numeric/detail/function1.hpp delete mode 100644 external/boost/accumulators/numeric/detail/function2.hpp delete mode 100644 external/boost/accumulators/numeric/detail/function3.hpp delete mode 100644 external/boost/accumulators/numeric/detail/function4.hpp delete mode 100644 external/boost/accumulators/numeric/detail/function_n.hpp delete mode 100644 external/boost/accumulators/numeric/detail/pod_singleton.hpp delete mode 100644 external/boost/accumulators/numeric/functional.hpp delete mode 100644 external/boost/accumulators/numeric/functional/complex.hpp delete mode 100644 external/boost/accumulators/numeric/functional/valarray.hpp delete mode 100644 external/boost/accumulators/numeric/functional/vector.hpp delete mode 100644 external/boost/accumulators/numeric/functional_fwd.hpp delete mode 100644 external/boost/accumulators/statistics.hpp delete mode 100644 external/boost/accumulators/statistics/count.hpp delete mode 100644 external/boost/accumulators/statistics/covariance.hpp delete mode 100644 external/boost/accumulators/statistics/density.hpp delete mode 100644 external/boost/accumulators/statistics/error_of.hpp delete mode 100644 external/boost/accumulators/statistics/error_of_mean.hpp delete mode 100644 external/boost/accumulators/statistics/extended_p_square.hpp delete mode 100644 external/boost/accumulators/statistics/extended_p_square_quantile.hpp delete mode 100644 external/boost/accumulators/statistics/kurtosis.hpp delete mode 100644 external/boost/accumulators/statistics/max.hpp delete mode 100644 external/boost/accumulators/statistics/mean.hpp delete mode 100644 external/boost/accumulators/statistics/median.hpp delete mode 100644 external/boost/accumulators/statistics/min.hpp delete mode 100644 external/boost/accumulators/statistics/moment.hpp delete mode 100644 external/boost/accumulators/statistics/p_square_cumul_dist.hpp delete mode 100644 external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp delete mode 100644 external/boost/accumulators/statistics/p_square_quantile.hpp delete mode 100644 external/boost/accumulators/statistics/parameters/quantile_probability.hpp delete mode 100644 external/boost/accumulators/statistics/peaks_over_threshold.hpp delete mode 100644 external/boost/accumulators/statistics/pot_quantile.hpp delete mode 100644 external/boost/accumulators/statistics/pot_tail_mean.hpp delete mode 100644 external/boost/accumulators/statistics/rolling_count.hpp delete mode 100644 external/boost/accumulators/statistics/rolling_mean.hpp delete mode 100644 external/boost/accumulators/statistics/rolling_moment.hpp delete mode 100644 external/boost/accumulators/statistics/rolling_sum.hpp delete mode 100644 external/boost/accumulators/statistics/rolling_variance.hpp delete mode 100644 external/boost/accumulators/statistics/rolling_window.hpp delete mode 100644 external/boost/accumulators/statistics/skewness.hpp delete mode 100644 external/boost/accumulators/statistics/stats.hpp delete mode 100644 external/boost/accumulators/statistics/sum.hpp delete mode 100644 external/boost/accumulators/statistics/sum_kahan.hpp delete mode 100644 external/boost/accumulators/statistics/tail.hpp delete mode 100644 external/boost/accumulators/statistics/tail_mean.hpp delete mode 100644 external/boost/accumulators/statistics/tail_quantile.hpp delete mode 100644 external/boost/accumulators/statistics/tail_variate.hpp delete mode 100644 external/boost/accumulators/statistics/tail_variate_means.hpp delete mode 100644 external/boost/accumulators/statistics/times2_iterator.hpp delete mode 100644 external/boost/accumulators/statistics/variance.hpp delete mode 100644 external/boost/accumulators/statistics/variates/covariate.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_covariance.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_density.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_extended_p_square.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_kurtosis.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_mean.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_median.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_moment.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_p_square_quantile.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_skewness.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_sum.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_sum_kahan.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_tail_mean.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_tail_quantile.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_tail_variate_means.hpp delete mode 100644 external/boost/accumulators/statistics/weighted_variance.hpp delete mode 100644 external/boost/accumulators/statistics/with_error.hpp delete mode 100644 external/boost/accumulators/statistics_fwd.hpp delete mode 100644 external/boost/fusion/adapted.hpp delete mode 100644 external/boost/fusion/adapted/adt.hpp delete mode 100644 external/boost/fusion/adapted/adt/adapt_adt.hpp delete mode 100644 external/boost/fusion/adapted/adt/adapt_adt_named.hpp delete mode 100644 external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp delete mode 100644 external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp delete mode 100644 external/boost/fusion/adapted/adt/detail/adapt_base.hpp delete mode 100644 external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp delete mode 100644 external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp delete mode 100644 external/boost/fusion/adapted/adt/detail/extension.hpp delete mode 100644 external/boost/fusion/adapted/array.hpp delete mode 100644 external/boost/fusion/adapted/array/at_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/begin_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/category_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/deref_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/end_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/is_view_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/size_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/tag_of.hpp delete mode 100644 external/boost/fusion/adapted/array/value_at_impl.hpp delete mode 100644 external/boost/fusion/adapted/array/value_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/array_iterator.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/at_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/end_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/size_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_array/tag_of.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp delete mode 100644 external/boost/fusion/adapted/boost_tuple/tag_of.hpp delete mode 100644 external/boost/fusion/adapted/mpl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/at_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/empty_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/end_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/size_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/adapted/mpl/mpl_iterator.hpp delete mode 100644 external/boost/fusion/adapted/std_array.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/array_size.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/at_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/end_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/size_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_array/std_array_iterator.hpp delete mode 100644 external/boost/fusion/adapted/std_array/tag_of.hpp delete mode 100644 external/boost/fusion/adapted/std_pair.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/mpl/clear.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp delete mode 100644 external/boost/fusion/adapted/std_tuple/tag_of.hpp delete mode 100644 external/boost/fusion/adapted/struct.hpp delete mode 100644 external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp delete mode 100644 external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp delete mode 100644 external/boost/fusion/adapted/struct/adapt_struct.hpp delete mode 100644 external/boost/fusion/adapted/struct/adapt_struct_named.hpp delete mode 100644 external/boost/fusion/adapted/struct/define_assoc_struct.hpp delete mode 100644 external/boost/fusion/adapted/struct/define_struct.hpp delete mode 100644 external/boost/fusion/adapted/struct/define_struct_inline.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/adapt_auto.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/adapt_base.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/at_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/category_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/define_struct.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/end_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/extension.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/is_view_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/key_of_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/namespace.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/proxy_type.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/size_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp delete mode 100644 external/boost/fusion/adapted/struct/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/algorithm.hpp delete mode 100644 external/boost/fusion/algorithm/auxiliary.hpp delete mode 100644 external/boost/fusion/algorithm/auxiliary/copy.hpp delete mode 100644 external/boost/fusion/algorithm/auxiliary/move.hpp delete mode 100644 external/boost/fusion/algorithm/iteration.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/accumulate.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/for_each.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/fold_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/for_each.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/for_each_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/iter_fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/reverse_fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp delete mode 100644 external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/query.hpp delete mode 100644 external/boost/fusion/algorithm/query/all.hpp delete mode 100644 external/boost/fusion/algorithm/query/any.hpp delete mode 100644 external/boost/fusion/algorithm/query/count.hpp delete mode 100644 external/boost/fusion/algorithm/query/count_if.hpp delete mode 100644 external/boost/fusion/algorithm/query/detail/all.hpp delete mode 100644 external/boost/fusion/algorithm/query/detail/any.hpp delete mode 100644 external/boost/fusion/algorithm/query/detail/count.hpp delete mode 100644 external/boost/fusion/algorithm/query/detail/count_if.hpp delete mode 100644 external/boost/fusion/algorithm/query/detail/find_if.hpp delete mode 100644 external/boost/fusion/algorithm/query/detail/segmented_find.hpp delete mode 100644 external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp delete mode 100644 external/boost/fusion/algorithm/query/find.hpp delete mode 100644 external/boost/fusion/algorithm/query/find_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/query/find_if.hpp delete mode 100644 external/boost/fusion/algorithm/query/find_if_fwd.hpp delete mode 100644 external/boost/fusion/algorithm/query/none.hpp delete mode 100644 external/boost/fusion/algorithm/transformation.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/clear.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/replace.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/detail/replace_if.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/erase.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/erase_key.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/filter.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/filter_if.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/flatten.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/insert.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/insert_range.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/join.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/pop_back.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/pop_front.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/push_back.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/push_front.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/remove.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/remove_if.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/replace.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/replace_if.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/reverse.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/transform.hpp delete mode 100644 external/boost/fusion/algorithm/transformation/zip.hpp delete mode 100644 external/boost/fusion/container.hpp delete mode 100644 external/boost/fusion/container/deque.hpp delete mode 100644 external/boost/fusion/container/deque/back_extended_deque.hpp delete mode 100644 external/boost/fusion/container/deque/convert.hpp delete mode 100644 external/boost/fusion/container/deque/deque.hpp delete mode 100644 external/boost/fusion/container/deque/deque_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/deque_iterator.hpp delete mode 100644 external/boost/fusion/container/deque/detail/at_impl.hpp delete mode 100644 external/boost/fusion/container/deque/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/container/deque/detail/build_deque.hpp delete mode 100644 external/boost/fusion/container/deque/detail/convert_impl.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/limits.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp delete mode 100644 external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp delete mode 100644 external/boost/fusion/container/deque/detail/deque_keyed_values.hpp delete mode 100644 external/boost/fusion/container/deque/detail/end_impl.hpp delete mode 100644 external/boost/fusion/container/deque/detail/is_sequence_impl.hpp delete mode 100644 external/boost/fusion/container/deque/detail/keyed_element.hpp delete mode 100644 external/boost/fusion/container/deque/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/container/deque/front_extended_deque.hpp delete mode 100644 external/boost/fusion/container/generation.hpp delete mode 100644 external/boost/fusion/container/generation/cons_tie.hpp delete mode 100644 external/boost/fusion/container/generation/deque_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_deque_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_list_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_make_deque.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_make_list.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_make_map.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_make_set.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_make_vector.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_map_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/pp_vector_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp delete mode 100644 external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp delete mode 100644 external/boost/fusion/container/generation/ignore.hpp delete mode 100644 external/boost/fusion/container/generation/list_tie.hpp delete mode 100644 external/boost/fusion/container/generation/make_cons.hpp delete mode 100644 external/boost/fusion/container/generation/make_deque.hpp delete mode 100644 external/boost/fusion/container/generation/make_list.hpp delete mode 100644 external/boost/fusion/container/generation/make_map.hpp delete mode 100644 external/boost/fusion/container/generation/make_set.hpp delete mode 100644 external/boost/fusion/container/generation/make_vector.hpp delete mode 100644 external/boost/fusion/container/generation/map_tie.hpp delete mode 100644 external/boost/fusion/container/generation/pair_tie.hpp delete mode 100644 external/boost/fusion/container/generation/vector_tie.hpp delete mode 100644 external/boost/fusion/container/list.hpp delete mode 100644 external/boost/fusion/container/list/cons.hpp delete mode 100644 external/boost/fusion/container/list/cons_fwd.hpp delete mode 100644 external/boost/fusion/container/list/cons_iterator.hpp delete mode 100644 external/boost/fusion/container/list/convert.hpp delete mode 100644 external/boost/fusion/container/list/detail/at_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/build_cons.hpp delete mode 100644 external/boost/fusion/container/list/detail/convert_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/limits.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/list.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp delete mode 100644 external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp delete mode 100644 external/boost/fusion/container/list/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/empty_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/end_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/equal_to_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/list_to_cons.hpp delete mode 100644 external/boost/fusion/container/list/detail/next_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/reverse_cons.hpp delete mode 100644 external/boost/fusion/container/list/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/container/list/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/container/list/list.hpp delete mode 100644 external/boost/fusion/container/list/list_fwd.hpp delete mode 100644 external/boost/fusion/container/list/nil.hpp delete mode 100644 external/boost/fusion/container/map.hpp delete mode 100644 external/boost/fusion/container/map/convert.hpp delete mode 100644 external/boost/fusion/container/map/detail/at_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/at_key_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/build_map.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/as_map.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/at_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/convert.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/end_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/limits.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/map.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/end_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/map_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/map_index.hpp delete mode 100644 external/boost/fusion/container/map/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/container/map/detail/value_at_key_impl.hpp delete mode 100644 external/boost/fusion/container/map/map.hpp delete mode 100644 external/boost/fusion/container/map/map_fwd.hpp delete mode 100644 external/boost/fusion/container/map/map_iterator.hpp delete mode 100644 external/boost/fusion/container/set.hpp delete mode 100644 external/boost/fusion/container/set/convert.hpp delete mode 100644 external/boost/fusion/container/set/detail/as_set.hpp delete mode 100644 external/boost/fusion/container/set/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/container/set/detail/convert_impl.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/as_set.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/limits.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/set.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp delete mode 100644 external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp delete mode 100644 external/boost/fusion/container/set/detail/deref_data_impl.hpp delete mode 100644 external/boost/fusion/container/set/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/container/set/detail/end_impl.hpp delete mode 100644 external/boost/fusion/container/set/detail/key_of_impl.hpp delete mode 100644 external/boost/fusion/container/set/detail/value_of_data_impl.hpp delete mode 100644 external/boost/fusion/container/set/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/container/set/set.hpp delete mode 100644 external/boost/fusion/container/set/set_fwd.hpp delete mode 100644 external/boost/fusion/container/vector.hpp delete mode 100644 external/boost/fusion/container/vector/convert.hpp delete mode 100644 external/boost/fusion/container/vector/detail/advance_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/as_vector.hpp delete mode 100644 external/boost/fusion/container/vector/detail/at_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/config.hpp delete mode 100644 external/boost/fusion/container/vector/detail/convert_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/limits.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector10.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector20.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector30.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector40.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector50.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp delete mode 100644 external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp delete mode 100644 external/boost/fusion/container/vector/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/distance_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/end_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/equal_to_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/next_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/prior_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/container/vector/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/container/vector/vector.hpp delete mode 100644 external/boost/fusion/container/vector/vector10.hpp delete mode 100644 external/boost/fusion/container/vector/vector20.hpp delete mode 100644 external/boost/fusion/container/vector/vector30.hpp delete mode 100644 external/boost/fusion/container/vector/vector40.hpp delete mode 100644 external/boost/fusion/container/vector/vector50.hpp delete mode 100644 external/boost/fusion/container/vector/vector_fwd.hpp delete mode 100644 external/boost/fusion/container/vector/vector_iterator.hpp delete mode 100644 external/boost/fusion/functional.hpp delete mode 100644 external/boost/fusion/functional/adapter.hpp delete mode 100644 external/boost/fusion/functional/adapter/detail/access.hpp delete mode 100644 external/boost/fusion/functional/adapter/fused.hpp delete mode 100644 external/boost/fusion/functional/adapter/fused_function_object.hpp delete mode 100644 external/boost/fusion/functional/adapter/fused_procedure.hpp delete mode 100644 external/boost/fusion/functional/adapter/limits.hpp delete mode 100644 external/boost/fusion/functional/adapter/unfused.hpp delete mode 100644 external/boost/fusion/functional/adapter/unfused_typed.hpp delete mode 100644 external/boost/fusion/functional/generation.hpp delete mode 100644 external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp delete mode 100644 external/boost/fusion/functional/generation/make_fused.hpp delete mode 100644 external/boost/fusion/functional/generation/make_fused_function_object.hpp delete mode 100644 external/boost/fusion/functional/generation/make_fused_procedure.hpp delete mode 100644 external/boost/fusion/functional/generation/make_unfused.hpp delete mode 100644 external/boost/fusion/functional/invocation.hpp delete mode 100644 external/boost/fusion/functional/invocation/detail/that_ptr.hpp delete mode 100644 external/boost/fusion/functional/invocation/invoke.hpp delete mode 100644 external/boost/fusion/functional/invocation/invoke_function_object.hpp delete mode 100644 external/boost/fusion/functional/invocation/invoke_procedure.hpp delete mode 100644 external/boost/fusion/functional/invocation/limits.hpp delete mode 100644 external/boost/fusion/include/accumulate.hpp delete mode 100644 external/boost/fusion/include/adapt_adt.hpp delete mode 100644 external/boost/fusion/include/adapt_adt_named.hpp delete mode 100644 external/boost/fusion/include/adapt_assoc_adt.hpp delete mode 100644 external/boost/fusion/include/adapt_assoc_adt_named.hpp delete mode 100644 external/boost/fusion/include/adapt_assoc_struct.hpp delete mode 100644 external/boost/fusion/include/adapt_assoc_struct_named.hpp delete mode 100644 external/boost/fusion/include/adapt_struct.hpp delete mode 100644 external/boost/fusion/include/adapt_struct_named.hpp delete mode 100644 external/boost/fusion/include/adapted.hpp delete mode 100644 external/boost/fusion/include/adapter.hpp delete mode 100644 external/boost/fusion/include/advance.hpp delete mode 100644 external/boost/fusion/include/algorithm.hpp delete mode 100644 external/boost/fusion/include/all.hpp delete mode 100644 external/boost/fusion/include/any.hpp delete mode 100644 external/boost/fusion/include/array.hpp delete mode 100644 external/boost/fusion/include/as_deque.hpp delete mode 100644 external/boost/fusion/include/as_list.hpp delete mode 100644 external/boost/fusion/include/as_map.hpp delete mode 100644 external/boost/fusion/include/as_set.hpp delete mode 100644 external/boost/fusion/include/as_vector.hpp delete mode 100644 external/boost/fusion/include/at.hpp delete mode 100644 external/boost/fusion/include/at_c.hpp delete mode 100644 external/boost/fusion/include/at_key.hpp delete mode 100644 external/boost/fusion/include/auxiliary.hpp delete mode 100644 external/boost/fusion/include/back.hpp delete mode 100644 external/boost/fusion/include/begin.hpp delete mode 100644 external/boost/fusion/include/boost_array.hpp delete mode 100644 external/boost/fusion/include/boost_tuple.hpp delete mode 100644 external/boost/fusion/include/category_of.hpp delete mode 100644 external/boost/fusion/include/clear.hpp delete mode 100644 external/boost/fusion/include/comparison.hpp delete mode 100644 external/boost/fusion/include/cons.hpp delete mode 100644 external/boost/fusion/include/cons_tie.hpp delete mode 100644 external/boost/fusion/include/container.hpp delete mode 100644 external/boost/fusion/include/convert.hpp delete mode 100644 external/boost/fusion/include/copy.hpp delete mode 100644 external/boost/fusion/include/count.hpp delete mode 100644 external/boost/fusion/include/count_if.hpp delete mode 100644 external/boost/fusion/include/deduce.hpp delete mode 100644 external/boost/fusion/include/deduce_sequence.hpp delete mode 100644 external/boost/fusion/include/define_assoc_struct.hpp delete mode 100644 external/boost/fusion/include/define_struct.hpp delete mode 100644 external/boost/fusion/include/define_struct_inline.hpp delete mode 100644 external/boost/fusion/include/deque.hpp delete mode 100644 external/boost/fusion/include/deque_fwd.hpp delete mode 100644 external/boost/fusion/include/deque_tie.hpp delete mode 100644 external/boost/fusion/include/deref.hpp delete mode 100644 external/boost/fusion/include/deref_data.hpp delete mode 100644 external/boost/fusion/include/distance.hpp delete mode 100644 external/boost/fusion/include/empty.hpp delete mode 100644 external/boost/fusion/include/end.hpp delete mode 100644 external/boost/fusion/include/equal_to.hpp delete mode 100644 external/boost/fusion/include/erase.hpp delete mode 100644 external/boost/fusion/include/erase_key.hpp delete mode 100644 external/boost/fusion/include/filter.hpp delete mode 100644 external/boost/fusion/include/filter_if.hpp delete mode 100644 external/boost/fusion/include/filter_view.hpp delete mode 100644 external/boost/fusion/include/find.hpp delete mode 100644 external/boost/fusion/include/find_if.hpp delete mode 100644 external/boost/fusion/include/flatten.hpp delete mode 100644 external/boost/fusion/include/flatten_view.hpp delete mode 100644 external/boost/fusion/include/fold.hpp delete mode 100644 external/boost/fusion/include/for_each.hpp delete mode 100644 external/boost/fusion/include/front.hpp delete mode 100644 external/boost/fusion/include/functional.hpp delete mode 100644 external/boost/fusion/include/fused.hpp delete mode 100644 external/boost/fusion/include/fused_function_object.hpp delete mode 100644 external/boost/fusion/include/fused_procedure.hpp delete mode 100644 external/boost/fusion/include/generation.hpp delete mode 100644 external/boost/fusion/include/greater.hpp delete mode 100644 external/boost/fusion/include/greater_equal.hpp delete mode 100644 external/boost/fusion/include/has_key.hpp delete mode 100644 external/boost/fusion/include/hash.hpp delete mode 100644 external/boost/fusion/include/ignore.hpp delete mode 100644 external/boost/fusion/include/in.hpp delete mode 100644 external/boost/fusion/include/insert.hpp delete mode 100644 external/boost/fusion/include/insert_range.hpp delete mode 100644 external/boost/fusion/include/intrinsic.hpp delete mode 100644 external/boost/fusion/include/invocation.hpp delete mode 100644 external/boost/fusion/include/invoke.hpp delete mode 100644 external/boost/fusion/include/invoke_function_object.hpp delete mode 100644 external/boost/fusion/include/invoke_procedure.hpp delete mode 100644 external/boost/fusion/include/io.hpp delete mode 100644 external/boost/fusion/include/is_iterator.hpp delete mode 100644 external/boost/fusion/include/is_segmented.hpp delete mode 100644 external/boost/fusion/include/is_sequence.hpp delete mode 100644 external/boost/fusion/include/is_view.hpp delete mode 100644 external/boost/fusion/include/iter_fold.hpp delete mode 100644 external/boost/fusion/include/iteration.hpp delete mode 100644 external/boost/fusion/include/iterator.hpp delete mode 100644 external/boost/fusion/include/iterator_adapter.hpp delete mode 100644 external/boost/fusion/include/iterator_base.hpp delete mode 100644 external/boost/fusion/include/iterator_facade.hpp delete mode 100644 external/boost/fusion/include/iterator_range.hpp delete mode 100644 external/boost/fusion/include/join.hpp delete mode 100644 external/boost/fusion/include/joint_view.hpp delete mode 100644 external/boost/fusion/include/key_of.hpp delete mode 100644 external/boost/fusion/include/less.hpp delete mode 100644 external/boost/fusion/include/less_equal.hpp delete mode 100644 external/boost/fusion/include/list.hpp delete mode 100644 external/boost/fusion/include/list_fwd.hpp delete mode 100644 external/boost/fusion/include/list_tie.hpp delete mode 100644 external/boost/fusion/include/make_cons.hpp delete mode 100644 external/boost/fusion/include/make_deque.hpp delete mode 100644 external/boost/fusion/include/make_fused.hpp delete mode 100644 external/boost/fusion/include/make_fused_function_object.hpp delete mode 100644 external/boost/fusion/include/make_fused_procedure.hpp delete mode 100644 external/boost/fusion/include/make_list.hpp delete mode 100644 external/boost/fusion/include/make_map.hpp delete mode 100644 external/boost/fusion/include/make_set.hpp delete mode 100644 external/boost/fusion/include/make_tuple.hpp delete mode 100644 external/boost/fusion/include/make_unfused.hpp delete mode 100644 external/boost/fusion/include/make_vector.hpp delete mode 100644 external/boost/fusion/include/map.hpp delete mode 100644 external/boost/fusion/include/map_fwd.hpp delete mode 100644 external/boost/fusion/include/map_tie.hpp delete mode 100644 external/boost/fusion/include/move.hpp delete mode 100644 external/boost/fusion/include/mpl.hpp delete mode 100644 external/boost/fusion/include/next.hpp delete mode 100644 external/boost/fusion/include/nil.hpp delete mode 100644 external/boost/fusion/include/none.hpp delete mode 100644 external/boost/fusion/include/not_equal_to.hpp delete mode 100644 external/boost/fusion/include/nview.hpp delete mode 100644 external/boost/fusion/include/out.hpp delete mode 100644 external/boost/fusion/include/pair.hpp delete mode 100644 external/boost/fusion/include/pair_tie.hpp delete mode 100644 external/boost/fusion/include/pop_back.hpp delete mode 100644 external/boost/fusion/include/pop_front.hpp delete mode 100644 external/boost/fusion/include/prior.hpp delete mode 100644 external/boost/fusion/include/proxy_type.hpp delete mode 100644 external/boost/fusion/include/push_back.hpp delete mode 100644 external/boost/fusion/include/push_front.hpp delete mode 100644 external/boost/fusion/include/query.hpp delete mode 100644 external/boost/fusion/include/remove.hpp delete mode 100644 external/boost/fusion/include/remove_if.hpp delete mode 100644 external/boost/fusion/include/repetitive_view.hpp delete mode 100644 external/boost/fusion/include/replace.hpp delete mode 100644 external/boost/fusion/include/replace_if.hpp delete mode 100644 external/boost/fusion/include/reverse.hpp delete mode 100644 external/boost/fusion/include/reverse_fold.hpp delete mode 100644 external/boost/fusion/include/reverse_iter_fold.hpp delete mode 100644 external/boost/fusion/include/reverse_view.hpp delete mode 100644 external/boost/fusion/include/segmented_fold_until.hpp delete mode 100644 external/boost/fusion/include/segmented_iterator.hpp delete mode 100644 external/boost/fusion/include/segments.hpp delete mode 100644 external/boost/fusion/include/sequence.hpp delete mode 100644 external/boost/fusion/include/sequence_base.hpp delete mode 100644 external/boost/fusion/include/sequence_facade.hpp delete mode 100644 external/boost/fusion/include/set.hpp delete mode 100644 external/boost/fusion/include/set_fwd.hpp delete mode 100644 external/boost/fusion/include/single_view.hpp delete mode 100644 external/boost/fusion/include/size.hpp delete mode 100644 external/boost/fusion/include/std_array.hpp delete mode 100644 external/boost/fusion/include/std_pair.hpp delete mode 100644 external/boost/fusion/include/std_tuple.hpp delete mode 100644 external/boost/fusion/include/struct.hpp delete mode 100644 external/boost/fusion/include/support.hpp delete mode 100644 external/boost/fusion/include/swap.hpp delete mode 100644 external/boost/fusion/include/tag_of.hpp delete mode 100644 external/boost/fusion/include/tag_of_fwd.hpp delete mode 100644 external/boost/fusion/include/transform.hpp delete mode 100644 external/boost/fusion/include/transform_view.hpp delete mode 100644 external/boost/fusion/include/transformation.hpp delete mode 100644 external/boost/fusion/include/tuple.hpp delete mode 100644 external/boost/fusion/include/tuple_fwd.hpp delete mode 100644 external/boost/fusion/include/tuple_tie.hpp delete mode 100644 external/boost/fusion/include/unfused.hpp delete mode 100644 external/boost/fusion/include/unfused_typed.hpp delete mode 100644 external/boost/fusion/include/unused.hpp delete mode 100644 external/boost/fusion/include/value_at.hpp delete mode 100644 external/boost/fusion/include/value_at_key.hpp delete mode 100644 external/boost/fusion/include/value_of.hpp delete mode 100644 external/boost/fusion/include/value_of_data.hpp delete mode 100644 external/boost/fusion/include/vector.hpp delete mode 100644 external/boost/fusion/include/vector10.hpp delete mode 100644 external/boost/fusion/include/vector20.hpp delete mode 100644 external/boost/fusion/include/vector30.hpp delete mode 100644 external/boost/fusion/include/vector40.hpp delete mode 100644 external/boost/fusion/include/vector50.hpp delete mode 100644 external/boost/fusion/include/vector_fwd.hpp delete mode 100644 external/boost/fusion/include/vector_tie.hpp delete mode 100644 external/boost/fusion/include/view.hpp delete mode 100644 external/boost/fusion/include/void.hpp delete mode 100644 external/boost/fusion/include/zip.hpp delete mode 100644 external/boost/fusion/include/zip_view.hpp delete mode 100644 external/boost/fusion/iterator.hpp delete mode 100644 external/boost/fusion/iterator/advance.hpp delete mode 100644 external/boost/fusion/iterator/basic_iterator.hpp delete mode 100644 external/boost/fusion/iterator/deref.hpp delete mode 100644 external/boost/fusion/iterator/deref_data.hpp delete mode 100644 external/boost/fusion/iterator/detail/adapt_deref_traits.hpp delete mode 100644 external/boost/fusion/iterator/detail/adapt_value_traits.hpp delete mode 100644 external/boost/fusion/iterator/detail/advance.hpp delete mode 100644 external/boost/fusion/iterator/detail/distance.hpp delete mode 100644 external/boost/fusion/iterator/detail/segment_sequence.hpp delete mode 100644 external/boost/fusion/iterator/detail/segmented_equal_to.hpp delete mode 100644 external/boost/fusion/iterator/detail/segmented_iterator.hpp delete mode 100644 external/boost/fusion/iterator/detail/segmented_next_impl.hpp delete mode 100644 external/boost/fusion/iterator/distance.hpp delete mode 100644 external/boost/fusion/iterator/equal_to.hpp delete mode 100644 external/boost/fusion/iterator/iterator_adapter.hpp delete mode 100644 external/boost/fusion/iterator/iterator_facade.hpp delete mode 100644 external/boost/fusion/iterator/key_of.hpp delete mode 100644 external/boost/fusion/iterator/mpl.hpp delete mode 100644 external/boost/fusion/iterator/mpl/convert_iterator.hpp delete mode 100644 external/boost/fusion/iterator/mpl/fusion_iterator.hpp delete mode 100644 external/boost/fusion/iterator/next.hpp delete mode 100644 external/boost/fusion/iterator/prior.hpp delete mode 100644 external/boost/fusion/iterator/segmented_iterator.hpp delete mode 100644 external/boost/fusion/iterator/value_of.hpp delete mode 100644 external/boost/fusion/iterator/value_of_data.hpp delete mode 100644 external/boost/fusion/mpl.hpp delete mode 100644 external/boost/fusion/mpl/at.hpp delete mode 100644 external/boost/fusion/mpl/back.hpp delete mode 100644 external/boost/fusion/mpl/begin.hpp delete mode 100644 external/boost/fusion/mpl/clear.hpp delete mode 100644 external/boost/fusion/mpl/detail/clear.hpp delete mode 100644 external/boost/fusion/mpl/empty.hpp delete mode 100644 external/boost/fusion/mpl/end.hpp delete mode 100644 external/boost/fusion/mpl/erase.hpp delete mode 100644 external/boost/fusion/mpl/erase_key.hpp delete mode 100644 external/boost/fusion/mpl/front.hpp delete mode 100644 external/boost/fusion/mpl/has_key.hpp delete mode 100644 external/boost/fusion/mpl/insert.hpp delete mode 100644 external/boost/fusion/mpl/insert_range.hpp delete mode 100644 external/boost/fusion/mpl/pop_back.hpp delete mode 100644 external/boost/fusion/mpl/pop_front.hpp delete mode 100644 external/boost/fusion/mpl/push_back.hpp delete mode 100644 external/boost/fusion/mpl/push_front.hpp delete mode 100644 external/boost/fusion/mpl/size.hpp delete mode 100644 external/boost/fusion/sequence.hpp delete mode 100644 external/boost/fusion/sequence/comparison.hpp delete mode 100644 external/boost/fusion/sequence/comparison/detail/equal_to.hpp delete mode 100644 external/boost/fusion/sequence/comparison/detail/greater.hpp delete mode 100644 external/boost/fusion/sequence/comparison/detail/greater_equal.hpp delete mode 100644 external/boost/fusion/sequence/comparison/detail/less.hpp delete mode 100644 external/boost/fusion/sequence/comparison/detail/less_equal.hpp delete mode 100644 external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp delete mode 100644 external/boost/fusion/sequence/comparison/enable_comparison.hpp delete mode 100644 external/boost/fusion/sequence/comparison/equal_to.hpp delete mode 100644 external/boost/fusion/sequence/comparison/greater.hpp delete mode 100644 external/boost/fusion/sequence/comparison/greater_equal.hpp delete mode 100644 external/boost/fusion/sequence/comparison/less.hpp delete mode 100644 external/boost/fusion/sequence/comparison/less_equal.hpp delete mode 100644 external/boost/fusion/sequence/comparison/not_equal_to.hpp delete mode 100644 external/boost/fusion/sequence/convert.hpp delete mode 100644 external/boost/fusion/sequence/hash.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/at.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/at_c.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/at_key.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/back.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/begin.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/empty.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/end.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/front.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/has_key.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/segments.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/size.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/swap.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/value_at.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic/value_at_key.hpp delete mode 100644 external/boost/fusion/sequence/intrinsic_fwd.hpp delete mode 100644 external/boost/fusion/sequence/io.hpp delete mode 100644 external/boost/fusion/sequence/io/detail/in.hpp delete mode 100644 external/boost/fusion/sequence/io/detail/manip.hpp delete mode 100644 external/boost/fusion/sequence/io/detail/out.hpp delete mode 100644 external/boost/fusion/sequence/io/in.hpp delete mode 100644 external/boost/fusion/sequence/io/out.hpp delete mode 100644 external/boost/fusion/sequence/sequence_facade.hpp delete mode 100644 external/boost/fusion/support.hpp delete mode 100644 external/boost/fusion/support/as_const.hpp delete mode 100644 external/boost/fusion/support/category_of.hpp delete mode 100644 external/boost/fusion/support/config.hpp delete mode 100644 external/boost/fusion/support/deduce.hpp delete mode 100644 external/boost/fusion/support/deduce_sequence.hpp delete mode 100644 external/boost/fusion/support/detail/access.hpp delete mode 100644 external/boost/fusion/support/detail/and.hpp delete mode 100644 external/boost/fusion/support/detail/as_fusion_element.hpp delete mode 100644 external/boost/fusion/support/detail/category_of.hpp delete mode 100644 external/boost/fusion/support/detail/enabler.hpp delete mode 100644 external/boost/fusion/support/detail/index_sequence.hpp delete mode 100644 external/boost/fusion/support/detail/is_mpl_sequence.hpp delete mode 100644 external/boost/fusion/support/detail/is_same_size.hpp delete mode 100644 external/boost/fusion/support/detail/is_view.hpp delete mode 100644 external/boost/fusion/support/detail/mpl_iterator_category.hpp delete mode 100644 external/boost/fusion/support/detail/pp_round.hpp delete mode 100644 external/boost/fusion/support/detail/segmented_fold_until_impl.hpp delete mode 100644 external/boost/fusion/support/detail/unknown_key.hpp delete mode 100644 external/boost/fusion/support/is_iterator.hpp delete mode 100644 external/boost/fusion/support/is_segmented.hpp delete mode 100644 external/boost/fusion/support/is_sequence.hpp delete mode 100644 external/boost/fusion/support/is_view.hpp delete mode 100644 external/boost/fusion/support/iterator_base.hpp delete mode 100644 external/boost/fusion/support/pair.hpp delete mode 100644 external/boost/fusion/support/segmented_fold_until.hpp delete mode 100644 external/boost/fusion/support/sequence_base.hpp delete mode 100644 external/boost/fusion/support/tag_of.hpp delete mode 100644 external/boost/fusion/support/tag_of_fwd.hpp delete mode 100644 external/boost/fusion/support/unused.hpp delete mode 100644 external/boost/fusion/support/void.hpp delete mode 100644 external/boost/fusion/tuple.hpp delete mode 100644 external/boost/fusion/tuple/detail/make_tuple.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp delete mode 100644 external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp delete mode 100644 external/boost/fusion/tuple/detail/tuple.hpp delete mode 100644 external/boost/fusion/tuple/detail/tuple_expand.hpp delete mode 100644 external/boost/fusion/tuple/detail/tuple_fwd.hpp delete mode 100644 external/boost/fusion/tuple/detail/tuple_tie.hpp delete mode 100644 external/boost/fusion/tuple/make_tuple.hpp delete mode 100644 external/boost/fusion/tuple/tuple.hpp delete mode 100644 external/boost/fusion/tuple/tuple_fwd.hpp delete mode 100644 external/boost/fusion/tuple/tuple_tie.hpp delete mode 100644 external/boost/fusion/view.hpp delete mode 100644 external/boost/fusion/view/detail/strictest_traversal.hpp delete mode 100644 external/boost/fusion/view/filter_view.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/key_of_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/size_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/filter_view/filter_view.hpp delete mode 100644 external/boost/fusion/view/filter_view/filter_view_iterator.hpp delete mode 100644 external/boost/fusion/view/flatten_view.hpp delete mode 100644 external/boost/fusion/view/flatten_view/flatten_view.hpp delete mode 100644 external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp delete mode 100644 external/boost/fusion/view/iterator_range.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/at_impl.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/segments_impl.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/size_impl.hpp delete mode 100644 external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/view/iterator_range/iterator_range.hpp delete mode 100644 external/boost/fusion/view/joint_view.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/key_of_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/joint_view/joint_view.hpp delete mode 100644 external/boost/fusion/view/joint_view/joint_view_fwd.hpp delete mode 100644 external/boost/fusion/view/joint_view/joint_view_iterator.hpp delete mode 100644 external/boost/fusion/view/nview.hpp delete mode 100644 external/boost/fusion/view/nview/detail/advance_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/at_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/distance_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/equal_to_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/nview_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/prior_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/size_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/view/nview/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/nview/nview.hpp delete mode 100644 external/boost/fusion/view/nview/nview_iterator.hpp delete mode 100644 external/boost/fusion/view/repetitive_view.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/repetitive_view.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp delete mode 100644 external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp delete mode 100644 external/boost/fusion/view/reverse_view.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/advance_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/at_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/distance_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/prior_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/reverse_view/reverse_view.hpp delete mode 100644 external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp delete mode 100644 external/boost/fusion/view/single_view.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/advance_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/at_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/distance_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/equal_to_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/prior_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/size_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/single_view/single_view.hpp delete mode 100644 external/boost/fusion/view/single_view/single_view_iterator.hpp delete mode 100644 external/boost/fusion/view/transform_view.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/advance_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/at_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/distance_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/prior_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/transform_view/transform_view.hpp delete mode 100644 external/boost/fusion/view/transform_view/transform_view_fwd.hpp delete mode 100644 external/boost/fusion/view/transform_view/transform_view_iterator.hpp delete mode 100644 external/boost/fusion/view/zip_view.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/advance_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/at_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/begin_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/deref_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/distance_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/end_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/next_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/prior_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/size_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/value_at_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/detail/value_of_impl.hpp delete mode 100644 external/boost/fusion/view/zip_view/zip_view.hpp delete mode 100644 external/boost/fusion/view/zip_view/zip_view_iterator.hpp delete mode 100644 external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp delete mode 100644 external/boost/parameter/aux_/arg_list.hpp delete mode 100644 external/boost/parameter/aux_/cast.hpp delete mode 100644 external/boost/parameter/aux_/default.hpp delete mode 100644 external/boost/parameter/aux_/is_maybe.hpp delete mode 100644 external/boost/parameter/aux_/maybe.hpp delete mode 100644 external/boost/parameter/aux_/overloads.hpp delete mode 100644 external/boost/parameter/aux_/parameter_requirements.hpp delete mode 100644 external/boost/parameter/aux_/parenthesized_type.hpp delete mode 100644 external/boost/parameter/aux_/preprocessor/flatten.hpp delete mode 100644 external/boost/parameter/aux_/preprocessor/for_each.hpp delete mode 100644 external/boost/parameter/aux_/python/invoker.hpp delete mode 100644 external/boost/parameter/aux_/python/invoker_iterate.hpp delete mode 100644 external/boost/parameter/aux_/result_of0.hpp delete mode 100644 external/boost/parameter/aux_/set.hpp delete mode 100644 external/boost/parameter/aux_/tag.hpp delete mode 100644 external/boost/parameter/aux_/tagged_argument.hpp delete mode 100644 external/boost/parameter/aux_/template_keyword.hpp delete mode 100644 external/boost/parameter/aux_/unwrap_cv_reference.hpp delete mode 100644 external/boost/parameter/aux_/void.hpp delete mode 100644 external/boost/parameter/aux_/yesno.hpp delete mode 100644 external/boost/parameter/binding.hpp delete mode 100644 external/boost/parameter/config.hpp delete mode 100644 external/boost/parameter/keyword.hpp delete mode 100644 external/boost/parameter/macros.hpp delete mode 100644 external/boost/parameter/match.hpp delete mode 100644 external/boost/parameter/name.hpp delete mode 100644 external/boost/parameter/parameters.hpp delete mode 100644 external/boost/parameter/preprocessor.hpp delete mode 100644 external/boost/parameter/python.hpp delete mode 100644 external/boost/parameter/value_type.hpp delete mode 100644 external/boost/ref.hpp delete mode 100644 external/boost/version.hpp diff --git a/external/boost/accumulators/accumulators.hpp b/external/boost/accumulators/accumulators.hpp deleted file mode 100644 index 55ee2f918..000000000 --- a/external/boost/accumulators/accumulators.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file accumulators.hpp -/// Includes all of the Accumulators Framework -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_ACCUMULATORS_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_ACCUMULATORS_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/accumulators/accumulators_fwd.hpp b/external/boost/accumulators/accumulators_fwd.hpp deleted file mode 100644 index 4c0370e21..000000000 --- a/external/boost/accumulators/accumulators_fwd.hpp +++ /dev/null @@ -1,230 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// accumulators_fwd.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_ACCUMULATORS_FWD_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_ACCUMULATORS_FWD_HPP_EAN_28_10_2005 - -#include -#include // for mpl::na -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef BOOST_ACCUMULATORS_MAX_FEATURES - /// The maximum number of accumulators that may be put in an accumulator_set. - /// Defaults to BOOST_MPL_LIMIT_VECTOR_SIZE (which defaults to 20). -# define BOOST_ACCUMULATORS_MAX_FEATURES BOOST_MPL_LIMIT_VECTOR_SIZE -#endif - -#if BOOST_ACCUMULATORS_MAX_FEATURES > BOOST_MPL_LIMIT_VECTOR_SIZE -# error BOOST_ACCUMULATORS_MAX_FEATURES cannot be larger than BOOST_MPL_LIMIT_VECTOR_SIZE -#endif - -#ifndef BOOST_ACCUMULATORS_MAX_ARGS - /// The maximum number of arguments that may be specified to an accumulator_set's - /// accumulation function. Defaults to 15. -# define BOOST_ACCUMULATORS_MAX_ARGS 15 -#endif - -#if BOOST_WORKAROUND(__GNUC__, == 3) \ - || BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(306)) -# define BOOST_ACCUMULATORS_BROKEN_CONST_OVERLOADS -#endif - -#ifdef BOOST_ACCUMULATORS_BROKEN_CONST_OVERLOADS -# include -# include -# define BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(T)\ - , typename boost::disable_if >::type * = 0 -#else -# define BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(T) -#endif - -#define BOOST_ACCUMULATORS_GCC_VERSION \ - (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) - -namespace boost { namespace accumulators -{ - -/////////////////////////////////////////////////////////////////////////////// -// Named parameters tags -// -namespace tag -{ - struct sample; - struct weight; - struct accumulator; - struct weights; -} - -/////////////////////////////////////////////////////////////////////////////// -// User-level features -// -namespace tag -{ - template - struct value; - - template - struct value_tag; - - template - struct reference; - - template - struct reference_tag; - - template - struct external; - - template - struct droppable; -} - -template -struct droppable_accumulator_base; - -template -struct droppable_accumulator; - -template -struct with_cached_result; - -template -struct accumulator_set; - -template -struct extractor; - -template -struct feature_of; - -template -struct as_feature; - -template -struct as_weighted_feature; - -template -struct depends_on; - -template -struct features; - -template -typename mpl::apply::type const & -find_accumulator(AccumulatorSet const &acc); - -template -typename mpl::apply::type::result_type -extract_result(AccumulatorSet const &acc); - -template -typename mpl::apply::type::result_type -extract_result(AccumulatorSet const &acc, A1 const &a1); - -// ... other overloads generated by Boost.Preprocessor: - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_EXTRACT_RESULT_FWD(z, n, _) \ - template< \ - typename Feature \ - , typename AccumulatorSet \ - BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ - > \ - typename mpl::apply::type::result_type \ - extract_result( \ - AccumulatorSet const &acc \ - BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \ - ); - -/// INTERNAL ONLY -/// -BOOST_PP_REPEAT_FROM_TO( - 2 - , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) - , BOOST_ACCUMULATORS_EXTRACT_RESULT_FWD - , _ -) - -#ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED -template -typename mpl::apply::type::result_type -extract_result(AccumulatorSet const &acc, A1 const &a1, A2 const &a2 ...); -#endif - -namespace impl -{ - using namespace numeric::operators; - - template - struct external_impl; -} - -namespace detail -{ - template - struct feature_tag; - - template - struct to_accumulator; - - struct accumulator_set_base; - - template - struct is_accumulator_set; - - inline void ignore_variable(void const *) {} - -#define BOOST_ACCUMULATORS_IGNORE_GLOBAL(X) \ - namespace detail \ - { \ - struct BOOST_PP_CAT(ignore_, X) \ - { \ - void ignore() \ - { \ - boost::accumulators::detail::ignore_variable(&X); \ - } \ - }; \ - } \ - /**/ -} - -}} // namespace boost::accumulators - -// For defining boost::parameter keywords that can be inherited from to -// get a nested, class-scoped keyword with the requested alias -#define BOOST_PARAMETER_NESTED_KEYWORD(tag_namespace, name, alias) \ - namespace tag_namespace \ - { \ - template \ - struct name ## _ \ - { \ - static char const* keyword_name() \ - { \ - return #name; \ - } \ - static ::boost::parameter::keyword > &alias; \ - }; \ - template \ - ::boost::parameter::keyword > &name ## _::alias = \ - ::boost::parameter::keyword >::get(); \ - typedef name ## _ <> name; \ - } \ - namespace \ - { \ - ::boost::parameter::keyword &name = \ - ::boost::parameter::keyword::get(); \ - } - -#endif diff --git a/external/boost/accumulators/framework/accumulator_base.hpp b/external/boost/accumulators/framework/accumulator_base.hpp deleted file mode 100644 index 52c520d10..000000000 --- a/external/boost/accumulators/framework/accumulator_base.hpp +++ /dev/null @@ -1,65 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// accumulator_base.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace detail -{ - typedef void void_; -} - -/////////////////////////////////////////////////////////////////////////////// -// dont_care -// -struct dont_care -{ - template - dont_care(Args const &) - { - } -}; - -/////////////////////////////////////////////////////////////////////////////// -// accumulator_base -// -struct accumulator_base -{ - // hidden if defined in derived classes - detail::void_ operator ()(dont_care) - { - } - - typedef mpl::false_ is_droppable; - - detail::void_ add_ref(dont_care) - { - } - - detail::void_ drop(dont_care) - { - } - - detail::void_ on_drop(dont_care) - { - } -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/accumulator_concept.hpp b/external/boost/accumulators/framework/accumulator_concept.hpp deleted file mode 100644 index 492357efb..000000000 --- a/external/boost/accumulators/framework/accumulator_concept.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// accumulator_concept.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_CONCEPT_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_CONCEPT_HPP_EAN_28_10_2005 - -#include - -namespace boost { namespace accumulators -{ - -template -struct accumulator_concept -{ - void constraints() - { - // TODO: define the stat concept - } - - Stat stat; -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/accumulator_set.hpp b/external/boost/accumulators/framework/accumulator_set.hpp deleted file mode 100644 index ed1ceb1af..000000000 --- a/external/boost/accumulators/framework/accumulator_set.hpp +++ /dev/null @@ -1,401 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// accumulator_set.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_SET_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_SET_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace detail -{ - /////////////////////////////////////////////////////////////////////////////// - // accumulator_visitor - // wrap a boost::parameter argument pack in a Fusion extractor object - template - struct accumulator_visitor - { - explicit accumulator_visitor(Args const &a) - : args(a) - { - } - - template - void operator ()(Accumulator &accumulator) const - { - accumulator(this->args); - } - - private: - accumulator_visitor &operator =(accumulator_visitor const &); - Args const &args; - }; - - template - inline accumulator_visitor const make_accumulator_visitor(Args const &args) - { - return accumulator_visitor(args); - } - - typedef - parameter::parameters< - parameter::required - , parameter::optional - // ... and others which are not specified here... - > - accumulator_params; - - /////////////////////////////////////////////////////////////////////////////// - // accumulator_set_base - struct accumulator_set_base - { - }; - - /////////////////////////////////////////////////////////////////////////////// - // is_accumulator_set - template - struct is_accumulator_set - : is_base_and_derived - { - }; - -} // namespace detail - -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable: 4355) // warning C4355: 'this' : used in base member initializer list -#endif - -/////////////////////////////////////////////////////////////////////////////// -/// \brief A set of accumulators. -/// -/// accumulator_set resolves the dependencies between features and ensures that -/// the accumulators in the set are updated in the proper order. -/// -/// acccumulator_set provides a general mechanism to visit the accumulators -/// in the set in order, with or without a filter. You can also fetch a reference -/// to an accumulator that corresponds to a feature. -/// -template -struct accumulator_set - : detail::accumulator_set_base -{ - typedef Sample sample_type; ///< The type of the samples that will be accumulated - typedef Features features_type; ///< An MPL sequence of the features that should be accumulated. - typedef Weight weight_type; ///< The type of the weight parameter. Must be a scalar. Defaults to void. - - /// INTERNAL ONLY - /// - typedef - typename detail::make_accumulator_tuple< - Features - , Sample - , Weight - >::type - accumulators_mpl_vector; - - // generate a fusion::list of accumulators - /// INTERNAL ONLY - /// - typedef - typename detail::meta::make_acc_list< - accumulators_mpl_vector - >::type - accumulators_type; - - /// INTERNAL ONLY - /// - //BOOST_MPL_ASSERT((mpl::is_sequence)); - - /////////////////////////////////////////////////////////////////////////////// - /// default-construct all contained accumulators - accumulator_set() - : accumulators( - detail::make_acc_list( - accumulators_mpl_vector() - , detail::accumulator_params()(*this) - ) - ) - { - // Add-ref the Features that the user has specified - this->template visit_if >( - detail::make_add_ref_visitor(detail::accumulator_params()(*this)) - ); - } - - /// \overload - /// - /// \param a1 Optional named parameter to be passed to all the accumulators - template - explicit accumulator_set(A1 const &a1) - : accumulators( - detail::make_acc_list( - accumulators_mpl_vector() - , detail::accumulator_params()(*this, a1) - ) - ) - { - // Add-ref the Features that the user has specified - this->template visit_if >( - detail::make_add_ref_visitor(detail::accumulator_params()(*this)) - ); - } - - // ... other overloads generated by Boost.Preprocessor: - - /// INTERNAL ONLY - /// -#define BOOST_ACCUMULATORS_ACCUMULATOR_SET_CTOR(z, n, _) \ - template \ - accumulator_set(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, A, const &a)) \ - : accumulators( \ - detail::make_acc_list( \ - accumulators_mpl_vector() \ - , detail::accumulator_params()( \ - *this BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \ - ) \ - ) \ - ) \ - { \ - /* Add-ref the Features that the user has specified */ \ - this->template visit_if >( \ - detail::make_add_ref_visitor(detail::accumulator_params()(*this)) \ - ); \ - } - - /// INTERNAL ONLY - /// - BOOST_PP_REPEAT_FROM_TO( - 2 - , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) - , BOOST_ACCUMULATORS_ACCUMULATOR_SET_CTOR - , _ - ) - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// \overload - /// - template - accumulator_set(A1 const &a1, A2 const &a2, ...); - #endif - - // ... other overloads generated by Boost.Preprocessor below ... - - /////////////////////////////////////////////////////////////////////////////// - /// Visitation - /// \param func UnaryFunction which is invoked with each accumulator in turn. - template - void visit(UnaryFunction const &func) - { - fusion::for_each(this->accumulators, func); - } - - /////////////////////////////////////////////////////////////////////////////// - /// Conditional visitation - /// \param func UnaryFunction which is invoked with each accumulator in turn, - /// provided the accumulator satisfies the MPL predicate FilterPred. - template - void visit_if(UnaryFunction const &func) - { - fusion::filter_view filtered_accs(this->accumulators); - fusion::for_each(filtered_accs, func); - } - - /////////////////////////////////////////////////////////////////////////////// - /// The return type of the operator() overloads is void. - typedef void result_type; - - /////////////////////////////////////////////////////////////////////////////// - /// Accumulation - /// \param a1 Optional named parameter to be passed to all the accumulators - void operator ()() - { - this->visit( - detail::make_accumulator_visitor( - detail::accumulator_params()(*this) - ) - ); - } - - template - void operator ()(A1 const &a1) - { - this->visit( - detail::make_accumulator_visitor( - detail::accumulator_params()(*this, a1) - ) - ); - } - - // ... other overloads generated by Boost.Preprocessor: - - /// INTERNAL ONLY - /// -#define BOOST_ACCUMULATORS_ACCUMULATOR_SET_FUN_OP(z, n, _) \ - template \ - void operator ()(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, A, const &a)) \ - { \ - this->visit( \ - detail::make_accumulator_visitor( \ - detail::accumulator_params()( \ - *this BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \ - ) \ - ) \ - ); \ - } - - /// INTERNAL ONLY - /// - BOOST_PP_REPEAT_FROM_TO( - 2 - , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) - , BOOST_ACCUMULATORS_ACCUMULATOR_SET_FUN_OP - , _ - ) - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// \overload - /// - template - void operator ()(A1 const &a1, A2 const &a2, ...); - #endif - - /////////////////////////////////////////////////////////////////////////////// - /// Extraction - template - struct apply - : fusion::result_of::value_of< - typename fusion::result_of::find_if< - accumulators_type - , detail::matches_feature - >::type - > - { - }; - - /////////////////////////////////////////////////////////////////////////////// - /// Extraction - template - typename apply::type &extract() - { - return *fusion::find_if >(this->accumulators); - } - - /// \overload - template - typename apply::type const &extract() const - { - return *fusion::find_if >(this->accumulators); - } - - /////////////////////////////////////////////////////////////////////////////// - /// Drop - template - void drop() - { - // You can only drop the features that you have specified explicitly - typedef typename apply::type the_accumulator; - BOOST_MPL_ASSERT((detail::contains_feature_of)); - - typedef - typename feature_of::type>::type - the_feature; - - (*fusion::find_if >(this->accumulators)) - .drop(detail::accumulator_params()(*this)); - - // Also drop accumulators that this feature depends on - typedef typename the_feature::dependencies dependencies; - this->template visit_if >( - detail::make_drop_visitor(detail::accumulator_params()(*this)) - ); - } - -private: - - accumulators_type accumulators; -}; - -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -/////////////////////////////////////////////////////////////////////////////// -// find_accumulator -// find an accumulator in an accumulator_set corresponding to a feature -template -typename mpl::apply::type & -find_accumulator(AccumulatorSet &acc BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(AccumulatorSet)) -{ - return acc.template extract(); -} - -/// \overload -template -typename mpl::apply::type const & -find_accumulator(AccumulatorSet const &acc) -{ - return acc.template extract(); -} - -/////////////////////////////////////////////////////////////////////////////// -// extract_result -// extract a result from an accumulator set -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_EXTRACT_RESULT_FUN(z, n, _) \ - template< \ - typename Feature \ - , typename AccumulatorSet \ - BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ - > \ - typename mpl::apply::type::result_type \ - extract_result( \ - AccumulatorSet const &acc \ - BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \ - ) \ - { \ - return find_accumulator(acc).result( \ - detail::accumulator_params()( \ - acc \ - BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \ - ) \ - ); \ - } - -BOOST_PP_REPEAT( - BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) - , BOOST_ACCUMULATORS_EXTRACT_RESULT_FUN - , _ -) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp b/external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp deleted file mode 100644 index 0e882b5c3..000000000 --- a/external/boost/accumulators/framework/accumulators/droppable_accumulator.hpp +++ /dev/null @@ -1,328 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// droppable_accumulator.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_DROPPABLE_ACCUMULATOR_HPP_EAN_13_12_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_DROPPABLE_ACCUMULATOR_HPP_EAN_13_12_2005 - -#include -#include -#include -#include -#include // for feature_of -#include // for accumulator - -namespace boost { namespace accumulators -{ - - template - struct droppable_accumulator; - - namespace detail - { - /////////////////////////////////////////////////////////////////////////////// - // add_ref_visitor - // a fusion function object for add_ref'ing accumulators - template - struct add_ref_visitor - { - explicit add_ref_visitor(Args const &args) - : args_(args) - { - } - - template - void operator ()(Accumulator &acc) const - { - typedef typename Accumulator::feature_tag::dependencies dependencies; - - acc.add_ref(this->args_); - - // Also add_ref accumulators that this feature depends on - this->args_[accumulator].template - visit_if >( - *this - ); - } - - private: - add_ref_visitor &operator =(add_ref_visitor const &); - Args const &args_; - }; - - template - add_ref_visitor make_add_ref_visitor(Args const &args) - { - return add_ref_visitor(args); - } - - /////////////////////////////////////////////////////////////////////////////// - // drop_visitor - // a fusion function object for dropping accumulators - template - struct drop_visitor - { - explicit drop_visitor(Args const &args) - : args_(args) - { - } - - template - void operator ()(Accumulator &acc) const - { - if(typename Accumulator::is_droppable()) - { - typedef typename Accumulator::feature_tag::dependencies dependencies; - - acc.drop(this->args_); - // Also drop accumulators that this feature depends on - this->args_[accumulator].template - visit_if >( - *this - ); - } - } - - private: - drop_visitor &operator =(drop_visitor const &); - Args const &args_; - }; - - template - drop_visitor make_drop_visitor(Args const &args) - { - return drop_visitor(args); - } - } - - ////////////////////////////////////////////////////////////////////////// - // droppable_accumulator_base - template - struct droppable_accumulator_base - : Accumulator - { - typedef droppable_accumulator_base base; - typedef mpl::true_ is_droppable; - typedef typename Accumulator::result_type result_type; - - template - droppable_accumulator_base(Args const &args) - : Accumulator(args) - , ref_count_(0) - { - } - - droppable_accumulator_base(droppable_accumulator_base const &that) - : Accumulator(*static_cast(&that)) - , ref_count_(that.ref_count_) - { - } - - template - void operator ()(Args const &args) - { - if(!this->is_dropped()) - { - this->Accumulator::operator ()(args); - } - } - - template - void add_ref(Args const &) - { - ++this->ref_count_; - } - - template - void drop(Args const &args) - { - BOOST_ASSERT(0 < this->ref_count_); - if(1 == this->ref_count_) - { - static_cast *>(this)->on_drop(args); - } - --this->ref_count_; - } - - bool is_dropped() const - { - return 0 == this->ref_count_; - } - - private: - int ref_count_; - }; - - ////////////////////////////////////////////////////////////////////////// - // droppable_accumulator - // this can be specialized for any type that needs special handling - template - struct droppable_accumulator - : droppable_accumulator_base - { - template - droppable_accumulator(Args const &args) - : droppable_accumulator::base(args) - { - } - - droppable_accumulator(droppable_accumulator const &that) - : droppable_accumulator::base(*static_cast(&that)) - { - } - }; - - ////////////////////////////////////////////////////////////////////////// - // with_cached_result - template - struct with_cached_result - : Accumulator - { - typedef typename Accumulator::result_type result_type; - - template - with_cached_result(Args const &args) - : Accumulator(args) - , cache() - { - } - - with_cached_result(with_cached_result const &that) - : Accumulator(*static_cast(&that)) - , cache() - { - if(that.has_result()) - { - this->set(that.get()); - } - } - - ~with_cached_result() - { - // Since this is a base class of droppable_accumulator_base, - // this destructor is called before any of droppable_accumulator_base's - // members get cleaned up, including is_dropped, so the following - // call to has_result() is valid. - if(this->has_result()) - { - this->get().~result_type(); - } - } - - template - void on_drop(Args const &args) - { - // cache the result at the point this calculation was dropped - BOOST_ASSERT(!this->has_result()); - this->set(this->Accumulator::result(args)); - } - - template - result_type result(Args const &args) const - { - return this->has_result() ? this->get() : this->Accumulator::result(args); - } - - private: - with_cached_result &operator =(with_cached_result const &); - - void set(result_type const &r) - { - ::new(this->cache.address()) result_type(r); - } - - result_type const &get() const - { - return *static_cast(this->cache.address()); - } - - bool has_result() const - { - typedef with_cached_result this_type; - typedef droppable_accumulator_base derived_type; - return static_cast(this)->is_dropped(); - } - - aligned_storage cache; - }; - - namespace tag - { - template - struct as_droppable - { - typedef droppable type; - }; - - template - struct as_droppable > - { - typedef droppable type; - }; - - ////////////////////////////////////////////////////////////////////////// - // droppable - template - struct droppable - : as_feature::type - { - typedef typename as_feature::type feature_type; - typedef typename feature_type::dependencies tmp_dependencies_; - - typedef - typename mpl::transform< - typename feature_type::dependencies - , as_droppable - >::type - dependencies; - - struct impl - { - template - struct apply - { - typedef - droppable_accumulator< - typename mpl::apply2::type - > - type; - }; - }; - }; - } - - // make droppable work - template - struct as_feature > - { - typedef tag::droppable::type> type; - }; - - // make droppable work with non-void weights (should become - // droppable - template - struct as_weighted_feature > - { - typedef tag::droppable::type> type; - }; - - // for the purposes of feature-based dependency resolution, - // droppable provides the same feature as Foo - template - struct feature_of > - : feature_of - { - }; - - // Note: Usually, the extractor is pulled into the accumulators namespace with - // a using directive, not the tag. But the droppable<> feature doesn't have an - // extractor, so we can put the droppable tag in the accumulators namespace - // without fear of a name conflict. - using tag::droppable; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/accumulators/external_accumulator.hpp b/external/boost/accumulators/framework/accumulators/external_accumulator.hpp deleted file mode 100644 index 71dce42e5..000000000 --- a/external/boost/accumulators/framework/accumulators/external_accumulator.hpp +++ /dev/null @@ -1,108 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// external_accumulator.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_EXTERNAL_ACCUMULATOR_HPP_EAN_01_12_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_EXTERNAL_ACCUMULATOR_HPP_EAN_01_12_2005 - -#include -#include -#include -#include // for feature_tag -#include -#include - -namespace boost { namespace accumulators { namespace impl -{ - - ////////////////////////////////////////////////////////////////////////// - // external_impl - /// INTERNAL ONLY - /// - template - struct external_impl - : accumulator_base - { - typedef typename Accumulator::result_type result_type; - typedef typename detail::feature_tag::type feature_tag; - - external_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - return this->extract_(args, args[parameter::keyword::get() | 0]); - } - - private: - - template - static result_type extract_(Args const &args, int) - { - // No named parameter passed to the extractor. Maybe the external - // feature is held by reference<>. - extractor extract; - return extract(accumulators::reference_tag(args)); - } - - template - static result_type extract_(Args const &, AccumulatorSet const &acc) - { - // OK, a named parameter for this external feature was passed to the - // extractor, so use that. - extractor extract; - return extract(acc); - } - }; - -} // namespace impl - -namespace tag -{ - ////////////////////////////////////////////////////////////////////////// - // external - template - struct external - : depends_on > - { - typedef - accumulators::impl::external_impl< - detail::to_accumulator - , Tag - > - impl; - }; - - template - struct external - : depends_on<> - { - typedef - accumulators::impl::external_impl< - detail::to_accumulator - , Tag - > - impl; - }; -} - -// for the purposes of feature-based dependency resolution, -// external_accumulator provides the same feature as Feature -template -struct feature_of > - : feature_of -{ -}; - -// Note: Usually, the extractor is pulled into the accumulators namespace with -// a using directive, not the tag. But the external<> feature doesn't have an -// extractor, so we can put the external tag in the accumulators namespace -// without fear of a name conflict. -using tag::external; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/accumulators/reference_accumulator.hpp b/external/boost/accumulators/framework/accumulators/reference_accumulator.hpp deleted file mode 100644 index bf4252ca6..000000000 --- a/external/boost/accumulators/framework/accumulators/reference_accumulator.hpp +++ /dev/null @@ -1,89 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// reference_accumulator.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_REFERENCE_ACCUMULATOR_HPP_EAN_03_23_2006 -#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_REFERENCE_ACCUMULATOR_HPP_EAN_03_23_2006 - -#include -#include -#include -#include // for feature_tag -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - ////////////////////////////////////////////////////////////////////////// - // reference_accumulator_impl - // - template - struct reference_accumulator_impl - : accumulator_base - { - typedef Referent &result_type; - - template - reference_accumulator_impl(Args const &args) - : ref(args[parameter::keyword::get()]) - { - } - - result_type result(dont_care) const - { - return this->ref; - } - - private: - reference_wrapper ref; - }; -} // namespace impl - -namespace tag -{ - ////////////////////////////////////////////////////////////////////////// - // reference_tag - template - struct reference_tag - { - }; - - ////////////////////////////////////////////////////////////////////////// - // reference - template - struct reference - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef mpl::always > impl; - }; -} - -namespace extract -{ - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, reference, (typename)(typename)) - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, reference_tag, (typename)) -} - -using extract::reference; -using extract::reference_tag; - -// Map all reference features to reference_tag so -// that references can be extracted using reference_tag -// without specifying the referent type. -template -struct feature_of > - : feature_of > -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/accumulators/value_accumulator.hpp b/external/boost/accumulators/framework/accumulators/value_accumulator.hpp deleted file mode 100644 index 02bf7f349..000000000 --- a/external/boost/accumulators/framework/accumulators/value_accumulator.hpp +++ /dev/null @@ -1,89 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// value_accumulator.hpp -// -// Copyright 2005 Eric Niebler, Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_VALUE_ACCUMULATOR_HPP_EAN_03_23_2006 -#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_VALUE_ACCUMULATOR_HPP_EAN_03_23_2006 - -#include -#include -#include // for feature_tag -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - - ////////////////////////////////////////////////////////////////////////// - // value_accumulator_impl - template - struct value_accumulator_impl - : accumulator_base - { - typedef ValueType result_type; - - template - value_accumulator_impl(Args const &args) - : val(args[parameter::keyword::get()]) - { - } - - result_type result(dont_care) const - { - return this->val; - } - - private: - ValueType val; - }; - -} // namespace impl - -namespace tag -{ - ////////////////////////////////////////////////////////////////////////// - // value_tag - template - struct value_tag - { - }; - - ////////////////////////////////////////////////////////////////////////// - // value - template - struct value - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef mpl::always > impl; - }; -} - -namespace extract -{ - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, value, (typename)(typename)) - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, value_tag, (typename)) -} - -using extract::value; -using extract::value_tag; - -// Map all value features to value_tag so -// that values can be extracted using value_tag -// without specifying the value type. -template -struct feature_of > - : feature_of > -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/depends_on.hpp b/external/boost/accumulators/framework/depends_on.hpp deleted file mode 100644 index 008f1217d..000000000 --- a/external/boost/accumulators/framework/depends_on.hpp +++ /dev/null @@ -1,448 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// depends_on.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_DEPENDS_ON_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_DEPENDS_ON_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - /////////////////////////////////////////////////////////////////////////// - // as_feature - template - struct as_feature - { - typedef Feature type; - }; - - /////////////////////////////////////////////////////////////////////////// - // weighted_feature - template - struct as_weighted_feature - { - typedef Feature type; - }; - - /////////////////////////////////////////////////////////////////////////// - // feature_of - template - struct feature_of - { - typedef Feature type; - }; - - namespace detail - { - /////////////////////////////////////////////////////////////////////////// - // feature_tag - template - struct feature_tag - { - typedef typename Accumulator::feature_tag type; - }; - - template - struct undroppable - { - typedef Feature type; - }; - - template - struct undroppable > - { - typedef Feature type; - }; - - // For the purpose of determining whether one feature depends on another, - // disregard whether the feature is droppable or not. - template - struct is_dependent_on - : is_base_and_derived< - typename feature_of::type>::type - , typename undroppable::type - > - {}; - - template - struct dependencies_of - { - typedef typename Feature::dependencies type; - }; - - // Should use mpl::insert_range, but doesn't seem to work with mpl sets - template - struct set_insert_range - : mpl::fold< - Range - , Set - , mpl::insert - > - {}; - - template - struct collect_abstract_features - : mpl::fold< - Features - , mpl::set0<> - , set_insert_range< - mpl::insert > - , collect_abstract_features > - > - > - {}; - - template - struct depends_on_base - : mpl::inherit_linearly< - typename mpl::sort< - typename mpl::copy< - typename collect_abstract_features::type - , mpl::back_inserter > - >::type - , is_dependent_on - >::type - // Don't inherit multiply from a feature - , mpl::if_< - is_dependent_on - , mpl::_1 - , mpl::inherit - > - >::type - { - }; - } - - /////////////////////////////////////////////////////////////////////////// - /// depends_on - template - struct depends_on - : detail::depends_on_base< - typename mpl::transform< - mpl::vector - , as_feature - >::type - > - { - typedef mpl::false_ is_weight_accumulator; - typedef - typename mpl::transform< - mpl::vector - , as_feature - >::type - dependencies; - }; - - namespace detail - { - template - struct matches_feature - { - template - struct apply - : is_same< - typename feature_of::type>::type - , typename feature_of::type>::type>::type - > - {}; - }; - - template - struct contains_feature_of - { - typedef - mpl::transform_view > > - features_list; - - typedef - typename feature_of::type>::type - the_feature; - - typedef - typename mpl::contains::type - type; - }; - - // This is to work around a bug in early versions of Fusion which caused - // a compile error if contains_feature_of is used as a - // predicate to fusion::find_if - template - struct contains_feature_of_ - { - template - struct apply - : contains_feature_of - {}; - }; - - template< - typename First - , typename Last - , bool is_empty = fusion::result_of::equal_to::value - > - struct build_acc_list; - - template - struct build_acc_list - { - typedef fusion::nil_ type; - - template - static fusion::nil_ - call(Args const &, First const&, Last const&) - { - return fusion::nil_(); - } - }; - - template - struct build_acc_list - { - typedef - build_acc_list::type, Last> - next_build_acc_list; - - typedef fusion::cons< - typename fusion::result_of::value_of::type - , typename next_build_acc_list::type> - type; - - template - static type - call(Args const &args, First const& f, Last const& l) - { - return type(args, next_build_acc_list::call(args, fusion::next(f), l)); - } - }; - - namespace meta - { - template - struct make_acc_list - : build_acc_list< - typename fusion::result_of::begin::type - , typename fusion::result_of::end::type - > - {}; - } - - template - typename meta::make_acc_list::type - make_acc_list(Sequence const &seq, Args const &args) - { - return meta::make_acc_list::call(args, fusion::begin(seq), fusion::end(seq)); - } - - /////////////////////////////////////////////////////////////////////////// - // checked_as_weighted_feature - template - struct checked_as_weighted_feature - { - typedef typename as_feature::type feature_type; - typedef typename as_weighted_feature::type type; - // weighted and non-weighted flavors should provide the same feature. - BOOST_MPL_ASSERT(( - is_same< - typename feature_of::type - , typename feature_of::type - > - )); - }; - - /////////////////////////////////////////////////////////////////////////// - // as_feature_list - template - struct as_feature_list - : mpl::transform_view > - { - }; - - template - struct as_feature_list - : mpl::transform_view > - { - }; - - /////////////////////////////////////////////////////////////////////////// - // accumulator_wrapper - template - struct accumulator_wrapper - : Accumulator - { - typedef Feature feature_tag; - - accumulator_wrapper(accumulator_wrapper const &that) - : Accumulator(*static_cast(&that)) - { - } - - template - accumulator_wrapper(Args const &args) - : Accumulator(args) - { - } - }; - - /////////////////////////////////////////////////////////////////////////// - // to_accumulator - template - struct to_accumulator - { - typedef - accumulator_wrapper< - typename mpl::apply2::type - , Feature - > - type; - }; - - template - struct to_accumulator > - { - BOOST_MPL_ASSERT((is_same)); - BOOST_MPL_ASSERT((is_same)); - - typedef - accumulator_wrapper< - typename mpl::apply2::type - , Feature - > - accumulator_type; - - typedef - typename mpl::if_< - typename Feature::is_weight_accumulator - , accumulator_wrapper, Feature> - , accumulator_type - >::type - type; - }; - - // BUGBUG work around an MPL bug wrt map insertion - template - struct insert_feature - : mpl::eval_if< - mpl::has_key::type> - , mpl::identity - , mpl::insert::type, Feature> > - > - { - }; - - template - struct insert_dependencies - : mpl::fold< - as_feature_list - , FeatureMap - , insert_dependencies< - insert_feature - , mpl::_2 - , Weight - > - > - { - }; - - template - struct insert_sequence - : mpl::fold< // BUGBUG should use insert_range, but doesn't seem to work for maps - as_feature_list - , FeatureMap - , insert_feature - > - { - }; - - template - struct make_accumulator_tuple - { - typedef - typename mpl::fold< - as_feature_list - , mpl::map0<> - , mpl::if_< - mpl::is_sequence - , insert_sequence - , insert_feature - > - >::type - feature_map; - - // for each element in the map, add its dependencies also - typedef - typename mpl::fold< - feature_map - , feature_map - , insert_dependencies, Weight> - >::type - feature_map_with_dependencies; - - // turn the map into a vector so we can sort it - typedef - typename mpl::insert_range< - mpl::vector<> - , mpl::end >::type - , mpl::transform_view > - >::type - feature_vector_with_dependencies; - - // sort the features according to which is derived from which - typedef - typename mpl::sort< - feature_vector_with_dependencies - , is_dependent_on - >::type - sorted_feature_vector; - - // From the vector of features, construct a vector of accumulators - typedef - typename mpl::transform< - sorted_feature_vector - , to_accumulator - >::type - type; - }; - - } // namespace detail - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/external.hpp b/external/boost/accumulators/framework/external.hpp deleted file mode 100644 index dbd5d9169..000000000 --- a/external/boost/accumulators/framework/external.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// external.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_EXTERNAL_HPP_EAN_01_12_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_EXTERNAL_HPP_EAN_01_12_2005 - -#include -#include - -//namespace boost { namespace accumulators -//{ -// -///////////////////////////////////////////////////////////////////////////////// -//// external -//// -//template -//struct external -//{ -//}; -// -//}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/extractor.hpp b/external/boost/accumulators/framework/extractor.hpp deleted file mode 100644 index 98281cecb..000000000 --- a/external/boost/accumulators/framework/extractor.hpp +++ /dev/null @@ -1,229 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// extractor.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_EXTRACTOR_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_EXTRACTOR_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace detail -{ - template - struct accumulator_set_result - { - typedef typename as_feature::type feature_type; - typedef typename mpl::apply::type::result_type type; - }; - - template - struct argument_pack_result - : accumulator_set_result< - typename remove_reference< - typename parameter::binding::type - >::type - , Feature - > - { - }; - - template - struct extractor_result - : mpl::eval_if< - detail::is_accumulator_set - , accumulator_set_result - , argument_pack_result - > - { - }; - - template - typename extractor_result::type - do_extract(AccumulatorSet const &acc, mpl::true_) - { - typedef typename as_feature::type feature_type; - return extract_result(acc); - } - - template - typename extractor_result::type - do_extract(Args const &args, mpl::false_) - { - typedef typename as_feature::type feature_type; - return find_accumulator(args[accumulator]).result(args); - } - -} // namespace detail - - -/////////////////////////////////////////////////////////////////////////////// -/// Extracts the result associated with Feature from the specified accumulator_set. -template -struct extractor -{ - typedef extractor this_type; - - /// The result meta-function for determining the return type of the extractor - template - struct result; - - template - struct result - : detail::extractor_result - { - }; - - /// Extract the result associated with Feature from the accumulator set - /// \param acc The accumulator set object from which to extract the result - template - typename detail::extractor_result::type - operator ()(Arg1 const &arg1) const - { - // Arg1 could be an accumulator_set or an argument pack containing - // an accumulator_set. Dispatch accordingly. - return detail::do_extract(arg1, detail::is_accumulator_set()); - } - - /// \overload - /// - /// \param a1 Optional named parameter to be passed to the accumulator's result() function. - template - typename detail::extractor_result::type - operator ()(AccumulatorSet const &acc, A1 const &a1) const - { - BOOST_MPL_ASSERT((detail::is_accumulator_set)); - typedef typename as_feature::type feature_type; - return extract_result(acc, a1); - } - - // ... other overloads generated by Boost.Preprocessor: - - /// INTERNAL ONLY - /// -#define BOOST_ACCUMULATORS_EXTRACTOR_FUN_OP(z, n, _) \ - template \ - struct result \ - : detail::extractor_result \ - {}; \ - template< \ - typename AccumulatorSet \ - BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ - > \ - typename detail::extractor_result::type \ - operator ()( \ - AccumulatorSet const &acc \ - BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \ - ) const \ - { \ - BOOST_MPL_ASSERT((detail::is_accumulator_set)); \ - typedef typename as_feature::type feature_type; \ - return extract_result(acc BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a));\ - } - - BOOST_PP_REPEAT_FROM_TO( - 2 - , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) - , BOOST_ACCUMULATORS_EXTRACTOR_FUN_OP - , _ - ) - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// \overload - /// - template - typename detail::extractor_result::type - operator ()(AccumulatorSet const &acc, A1 const &a1, A2 const &a2, ...); - #endif -}; - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_ARRAY_REM(Array) \ - BOOST_PP_TUPLE_REM_CTOR(BOOST_PP_ARRAY_SIZE(Array), BOOST_PP_ARRAY_DATA(Array)) - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_SEQ_REM(Seq) \ - BOOST_ACCUMULATORS_ARRAY_REM(BOOST_PP_SEQ_TO_ARRAY(Seq)) - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_ARGS_OP(s, data, elem) \ - T ## s - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_PARAMS_OP(s, data, elem) \ - elem T ## s - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_MAKE_FEATURE(Tag, Feature, ParamsSeq) \ - Tag::Feature< \ - BOOST_ACCUMULATORS_SEQ_REM( \ - BOOST_PP_SEQ_TRANSFORM(BOOST_ACCUMULATORS_ARGS_OP, ~, ParamsSeq) \ - ) \ - > - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN_IMPL(z, n, Tag, Feature, ParamsSeq) \ - template< \ - BOOST_ACCUMULATORS_SEQ_REM( \ - BOOST_PP_SEQ_TRANSFORM(BOOST_ACCUMULATORS_PARAMS_OP, ~, ParamsSeq) \ - ) \ - , typename Arg1 \ - BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \ - > \ - typename boost::accumulators::detail::extractor_result< \ - Arg1 \ - , BOOST_ACCUMULATORS_MAKE_FEATURE(Tag, Feature, ParamsSeq) \ - >::type \ - Feature(Arg1 const &arg1 BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) ) \ - { \ - typedef BOOST_ACCUMULATORS_MAKE_FEATURE(Tag, Feature, ParamsSeq) feature_type; \ - return boost::accumulators::extractor()( \ - arg1 BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a)); \ - } - -/// INTERNAL ONLY -/// -#define BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN(z, n, _) \ - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN_IMPL( \ - z \ - , n \ - , BOOST_PP_ARRAY_ELEM(0, _) \ - , BOOST_PP_ARRAY_ELEM(1, _) \ - , BOOST_PP_ARRAY_ELEM(2, _) \ - ) - -#define BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(Tag, Feature, ParamSeq) \ - BOOST_PP_REPEAT( \ - BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS) \ - , BOOST_ACCUMULATORS_DEFINE_EXTRACTOR_FUN \ - , (3, (Tag, Feature, ParamSeq)) \ - ) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/features.hpp b/external/boost/accumulators/framework/features.hpp deleted file mode 100644 index 21cae004d..000000000 --- a/external/boost/accumulators/framework/features.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// features.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_08_12_2005 -#define BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_08_12_2005 - -#include -#include -#include - -namespace boost { namespace accumulators -{ - -/////////////////////////////////////////////////////////////////////////////// -// features -// -template -struct features - : mpl::vector -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/parameters/accumulator.hpp b/external/boost/accumulators/framework/parameters/accumulator.hpp deleted file mode 100644 index 525ebb30b..000000000 --- a/external/boost/accumulators/framework/parameters/accumulator.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// accumulator.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_ACCUMULATOR_HPP_EAN_31_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_ACCUMULATOR_HPP_EAN_31_10_2005 - -#include -#include - -namespace boost { namespace accumulators -{ - -BOOST_PARAMETER_KEYWORD(tag, accumulator) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(accumulator) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/parameters/sample.hpp b/external/boost/accumulators/framework/parameters/sample.hpp deleted file mode 100644 index 8b227eb33..000000000 --- a/external/boost/accumulators/framework/parameters/sample.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// sample.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_SAMPLE_HPP_EAN_31_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_SAMPLE_HPP_EAN_31_10_2005 - -#include -#include - -namespace boost { namespace accumulators -{ - -BOOST_PARAMETER_KEYWORD(tag, sample) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(sample) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/parameters/weight.hpp b/external/boost/accumulators/framework/parameters/weight.hpp deleted file mode 100644 index f36016f37..000000000 --- a/external/boost/accumulators/framework/parameters/weight.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weight.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHT_HPP_EAN_31_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHT_HPP_EAN_31_10_2005 - -#include -#include - -namespace boost { namespace accumulators -{ - -// The weight of a single sample -BOOST_PARAMETER_KEYWORD(tag, weight) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(weight) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/framework/parameters/weights.hpp b/external/boost/accumulators/framework/parameters/weights.hpp deleted file mode 100644 index 6beae6138..000000000 --- a/external/boost/accumulators/framework/parameters/weights.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weights.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHTS_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_FRAMEWORK_PARAMETERS_WEIGHTS_HPP_EAN_28_10_2005 - -#include -#include - -namespace boost { namespace accumulators -{ - -// The weight accumulator -BOOST_PARAMETER_KEYWORD(tag, weights) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(weights) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/numeric/detail/function1.hpp b/external/boost/accumulators/numeric/detail/function1.hpp deleted file mode 100644 index 282eb1ef3..000000000 --- a/external/boost/accumulators/numeric/detail/function1.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright David Abrahams 2006. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_DETAIL_FUNCTION1_DWA200655_HPP -# define BOOST_DETAIL_FUNCTION1_DWA200655_HPP - -# include -# include -# include -# include - -namespace boost { namespace detail { - -// A utility for creating unary function objects that play nicely with -// boost::result_of and that handle the forwarding problem. -// -// mpl::apply::type is expected to be a stateless function -// object that accepts an argument of type A0&. It is also expected -// to have a nested ::result_type identical to its return type. -template -struct function1 -{ - template - struct result - {}; - - template - struct result - { - // How adding const to arguments handles rvalues. - // - // if A0 is arg0 is represents actual argument - // -------- ------- -------------------------- - // T const & T const const T lvalue - // T & T non-const T lvalue - // T const T const const T rvalue - // T T const non-const T rvalue - typedef typename remove_reference< - typename add_const< A0 >::type - >::type arg0; - - typedef typename mpl::apply1::type impl; - typedef typename impl::result_type type; - }; - - // Handles mutable lvalues - template - typename result::type - operator ()(A0 &a0) const - { - typedef typename result::impl impl; - typedef typename result::type type; - typedef A0 &arg0; - BOOST_CONCEPT_ASSERT((UnaryFunction)); - //boost::function_requires >(); - return impl()(a0); - } - - // Handles const lvalues and all rvalues - template - typename result::type - operator ()(A0 const &a0) const - { - typedef typename result::impl impl; - typedef typename result::type type; - typedef A0 const &arg0; - BOOST_CONCEPT_ASSERT((UnaryFunction)); - //boost::function_requires >(); - return impl()(a0); - } -}; - -}} // namespace boost::detail - -#endif // BOOST_DETAIL_FUNCTION1_DWA200655_HPP diff --git a/external/boost/accumulators/numeric/detail/function2.hpp b/external/boost/accumulators/numeric/detail/function2.hpp deleted file mode 100644 index daf3c4d4e..000000000 --- a/external/boost/accumulators/numeric/detail/function2.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright David Abrahams 2006. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_DETAIL_FUNCTION2_DWA200655_HPP -# define BOOST_DETAIL_FUNCTION2_DWA200655_HPP - -# define args (2) -# include - -#endif // BOOST_DETAIL_FUNCTION2_DWA200655_HPP diff --git a/external/boost/accumulators/numeric/detail/function3.hpp b/external/boost/accumulators/numeric/detail/function3.hpp deleted file mode 100644 index 175e4d5b3..000000000 --- a/external/boost/accumulators/numeric/detail/function3.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright David Abrahams 2006. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_DETAIL_FUNCTION3_DWA2006514_HPP -# define BOOST_DETAIL_FUNCTION3_DWA2006514_HPP - -# define args (3) -# include - -#endif // BOOST_DETAIL_FUNCTION3_DWA2006514_HPP diff --git a/external/boost/accumulators/numeric/detail/function4.hpp b/external/boost/accumulators/numeric/detail/function4.hpp deleted file mode 100644 index a0d710837..000000000 --- a/external/boost/accumulators/numeric/detail/function4.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright David Abrahams 2006. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_DETAIL_FUNCTION4_DWA2006514_HPP -# define BOOST_DETAIL_FUNCTION4_DWA2006514_HPP - -# define args (4) -# include - -#endif // BOOST_DETAIL_FUNCTION4_DWA2006514_HPP diff --git a/external/boost/accumulators/numeric/detail/function_n.hpp b/external/boost/accumulators/numeric/detail/function_n.hpp deleted file mode 100644 index 47c42ed05..000000000 --- a/external/boost/accumulators/numeric/detail/function_n.hpp +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright David Abrahams 2006. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// #include guards intentionally disabled. -// #ifndef BOOST_DETAIL_FUNCTION_N_DWA2006514_HPP -// # define BOOST_DETAIL_FUNCTION_N_DWA2006514_HPP - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace detail { - -# define BOOST_DETAIL_default_arg(z, n, _) \ - typedef mpl::void_ BOOST_PP_CAT(arg, n); - -# define BOOST_DETAIL_function_arg(z, n, _) \ - typedef typename remove_reference< \ - typename add_const< BOOST_PP_CAT(A, n) >::type \ - >::type BOOST_PP_CAT(arg, n); - -#define BOOST_DETAIL_cat_arg_counts(s, state, n) \ - BOOST_PP_IF( \ - n \ - , BOOST_PP_CAT(state, BOOST_PP_CAT(_, n)) \ - , state \ - ) \ - /**/ - -#define function_name \ - BOOST_PP_SEQ_FOLD_LEFT( \ - BOOST_DETAIL_cat_arg_counts \ - , BOOST_PP_CAT(function, BOOST_PP_SEQ_HEAD(args)) \ - , BOOST_PP_SEQ_TAIL(args)(0) \ - ) \ - /**/ - -template -struct function_name -{ - BOOST_PP_REPEAT( - BOOST_MPL_LIMIT_METAFUNCTION_ARITY - , BOOST_DETAIL_default_arg - , ~ - ) - - template - struct result {}; - -#define BOOST_DETAIL_function_result(r, _, n) \ - template \ - struct result \ - { \ - BOOST_PP_REPEAT(n, BOOST_DETAIL_function_arg, ~) \ - typedef \ - typename BOOST_PP_CAT(mpl::apply, BOOST_MPL_LIMIT_METAFUNCTION_ARITY)<\ - F \ - BOOST_PP_ENUM_TRAILING_PARAMS( \ - BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ - , arg \ - ) \ - >::type \ - impl; \ - typedef typename impl::result_type type; \ - }; \ - /**/ - - BOOST_PP_SEQ_FOR_EACH(BOOST_DETAIL_function_result, _, args) - -# define arg_type(r, _, i, is_const) \ - BOOST_PP_COMMA_IF(i) BOOST_PP_CAT(A, i) BOOST_PP_CAT(const_if, is_const) & - -# define result_(r, n, constness) \ - typename result< \ - function_name( \ - BOOST_PP_SEQ_FOR_EACH_I_R(r, arg_type, ~, constness) \ - ) \ - > \ - /**/ - -# define param(r, _, i, is_const) BOOST_PP_COMMA_IF(i) \ - BOOST_PP_CAT(A, i) BOOST_PP_CAT(const_if, is_const) & BOOST_PP_CAT(x, i) - -# define param_list(r, n, constness) \ - BOOST_PP_SEQ_FOR_EACH_I_R(r, param, ~, constness) - -# define call_operator(r, constness) \ - template \ - result_(r, BOOST_PP_SEQ_SIZE(constness), constness)::type \ - operator ()( param_list(r, BOOST_PP_SEQ_SIZE(constness), constness) ) const \ - { \ - typedef result_(r, BOOST_PP_SEQ_SIZE(constness), constness)::impl impl; \ - return impl()(BOOST_PP_ENUM_PARAMS(BOOST_PP_SEQ_SIZE(constness), x)); \ - } \ - /**/ - -# define const_if0 -# define const_if1 const - -# define bits(z, n, _) ((0)(1)) - -# define gen_operator(r, _, n) \ - BOOST_PP_SEQ_FOR_EACH_PRODUCT_R( \ - r \ - , call_operator \ - , BOOST_PP_REPEAT(n, bits, ~) \ - ) \ - /**/ - - BOOST_PP_SEQ_FOR_EACH( - gen_operator - , ~ - , args - ) - -# undef bits -# undef const_if1 -# undef const_if0 -# undef call_operator -# undef param_list -# undef param -# undef result_ -# undef default_ -# undef arg_type -# undef gen_operator -# undef function_name - -# undef args -}; - -}} // namespace boost::detail - -//#endif // BOOST_DETAIL_FUNCTION_N_DWA2006514_HPP diff --git a/external/boost/accumulators/numeric/detail/pod_singleton.hpp b/external/boost/accumulators/numeric/detail/pod_singleton.hpp deleted file mode 100644 index 317d85fb2..000000000 --- a/external/boost/accumulators/numeric/detail/pod_singleton.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright David Abrahams 2006. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_DETAIL_POD_SINGLETON_DWA200655_HPP -# define BOOST_DETAIL_POD_SINGLETON_DWA200655_HPP - -namespace boost { namespace detail { - -template -struct pod_singleton -{ - static T instance; -}; - -template -T pod_singleton::instance; - -}} // namespace boost::detail - -#endif // BOOST_DETAIL_POD_SINGLETON_DWA200655_HPP diff --git a/external/boost/accumulators/numeric/functional.hpp b/external/boost/accumulators/numeric/functional.hpp deleted file mode 100644 index 858decc19..000000000 --- a/external/boost/accumulators/numeric/functional.hpp +++ /dev/null @@ -1,537 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file functional.hpp -/// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_NUMERIC_FUNCTIONAL_HPP_EAN_08_12_2005 -#define BOOST_NUMERIC_FUNCTIONAL_HPP_EAN_08_12_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef BOOST_NUMERIC_FUNCTIONAL_STD_VECTOR_SUPPORT -# include -#endif - -#ifdef BOOST_NUMERIC_FUNCTIONAL_STD_VALARRAY_SUPPORT -# include -#endif - -#ifdef BOOST_NUMERIC_FUNCTIONAL_STD_COMPLEX_SUPPORT -# include -#endif - -/// INTERNAL ONLY -/// -#define BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED - -#ifdef BOOST_NUMERIC_FUNCTIONAL_DOXYGEN_INVOKED -// Hack to make Doxygen show the inheritance relationships -/// INTERNAL ONLY -/// -namespace std -{ - /// INTERNAL ONLY - /// - template struct unary_function {}; - /// INTERNAL ONLY - /// - template struct binary_function {}; -} -#endif - -namespace boost { namespace numeric -{ - namespace functional - { - /// INTERNAL ONLY - /// - template - struct are_integral - : mpl::and_, is_integral > - {}; - - template - struct left_ref - { - typedef Left &type; - }; - - namespace detail - { - template - T &lvalue_of(); - } - } - - // TODO: handle complex weight, valarray, MTL vectors - - /// INTERNAL ONLY - /// -#define BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(Name, Op) \ - namespace functional \ - { \ - template \ - struct result_of_ ## Name \ - { \ - BOOST_TYPEOF_NESTED_TYPEDEF_TPL( \ - nested \ - , Op boost::numeric::functional::detail::lvalue_of() \ - ) \ - typedef typename nested::type type; \ - }; \ - template \ - struct Name ## _base \ - { \ - typedef typename remove_const::type argument_type; \ - typedef typename result_of_ ## Name::type result_type; \ - typename result_of_ ## Name::type operator ()(Arg &arg) const \ - { \ - return Op arg; \ - } \ - }; \ - template \ - struct Name \ - : Name ## _base \ - {}; \ - } \ - namespace op \ - { \ - struct Name \ - : boost::detail::function1 > > \ - {}; \ - } \ - namespace \ - { \ - op::Name const &Name = boost::detail::pod_singleton::instance; \ - } \ - /**/ - - /// INTERNAL ONLY - /// -#define BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(Name, Op, RetType) \ - namespace functional \ - { \ - template \ - struct result_of_ ## Name \ - { \ - RetType(Left, Op, Right) \ - }; \ - template \ - struct Name ## _base \ - { \ - typedef typename remove_const::type first_argument_type; \ - typedef typename remove_const::type second_argument_type; \ - typedef typename result_of_ ## Name::type result_type; \ - typename result_of_ ## Name::type \ - operator ()(Left &left, Right &right) const \ - { \ - return left Op right; \ - } \ - }; \ - template \ - struct Name \ - : Name ## _base \ - {}; \ - } \ - namespace op \ - { \ - struct Name \ - : boost::detail::function2< \ - functional::Name<_1, _2, functional::tag<_1>, functional::tag<_2> > \ - > \ - {}; \ - } \ - namespace \ - { \ - op::Name const &Name = boost::detail::pod_singleton::instance; \ - } \ - BOOST_ACCUMULATORS_IGNORE_GLOBAL(Name) \ - /**/ - - /// INTERNAL ONLY - /// -#define BOOST_NUMERIC_FUNCTIONAL_DEDUCED(Left, Op, Right) \ - BOOST_TYPEOF_NESTED_TYPEDEF_TPL( \ - nested \ - , boost::numeric::functional::detail::lvalue_of() Op \ - boost::numeric::functional::detail::lvalue_of() \ - ) \ - typedef typename nested::type type; \ - /**/ - - /// INTERNAL ONLY - /// -#define BOOST_NUMERIC_FUNCTIONAL_LEFT(Left, Op, Right) \ - typedef Left &type; \ - /**/ - - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(plus, +, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(minus, -, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(multiplies, *, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(divides, /, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(modulus, %, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(greater, >, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(greater_equal, >=, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(less, <, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(less_equal, <=, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(equal_to, ==, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(not_equal_to, !=, BOOST_NUMERIC_FUNCTIONAL_DEDUCED) - - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(assign, =, BOOST_NUMERIC_FUNCTIONAL_LEFT) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(plus_assign, +=, BOOST_NUMERIC_FUNCTIONAL_LEFT) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(minus_assign, -=, BOOST_NUMERIC_FUNCTIONAL_LEFT) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(multiplies_assign, *=, BOOST_NUMERIC_FUNCTIONAL_LEFT) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(divides_assign, /=, BOOST_NUMERIC_FUNCTIONAL_LEFT) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP(modulus_assign, %=, BOOST_NUMERIC_FUNCTIONAL_LEFT) - - BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(unary_plus, +) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(unary_minus, -) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(complement, ~) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP(logical_not, !) - -#undef BOOST_NUMERIC_FUNCTIONAL_LEFT -#undef BOOST_NUMERIC_FUNCTIONAL_DEDUCED -#undef BOOST_NUMERIC_FUNCTIONAL_DEFINE_UNARY_OP -#undef BOOST_NUMERIC_FUNCTIONAL_DEFINE_BINARY_OP - - namespace functional - { - template - struct min_assign_base - { - typedef Left first_argument_type; - typedef Right second_argument_type; - typedef void result_type; - - void operator ()(Left &left, Right &right) const - { - if(numeric::less(right, left)) - { - left = right; - } - } - }; - - template - struct max_assign_base - { - typedef Left first_argument_type; - typedef Right second_argument_type; - typedef void result_type; - - void operator ()(Left &left, Right &right) const - { - if(numeric::greater(right, left)) - { - left = right; - } - } - }; - - template - struct fdiv_base - : functional::divides - {}; - - // partial specialization that promotes the arguments to double for - // integral division. - template - struct fdiv_base >::type> - : functional::divides - {}; - - template - struct promote_base - { - typedef From argument_type; - typedef To result_type; - - To operator ()(From &from) const - { - return from; - } - }; - - template - struct promote_base - { - typedef ToFrom argument_type; - typedef ToFrom result_type; - - ToFrom &operator ()(ToFrom &tofrom) - { - return tofrom; - } - }; - - template - struct as_min_base - { - BOOST_STATIC_ASSERT(std::numeric_limits::type>::is_specialized); - - typedef Arg argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(Arg &) const - { - return (std::numeric_limits::type>::min)(); - } - }; - - template - struct as_min_base >::type> - { - BOOST_STATIC_ASSERT(std::numeric_limits::type>::is_specialized); - - typedef Arg argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(Arg &) const - { - return -(std::numeric_limits::type>::max)(); - } - }; - - template - struct as_max_base - { - BOOST_STATIC_ASSERT(std::numeric_limits::type>::is_specialized); - - typedef Arg argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(Arg &) const - { - return (std::numeric_limits::type>::max)(); - } - }; - - template - struct as_zero_base - { - typedef Arg argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(Arg &) const - { - return numeric::zero::type>::value; - } - }; - - template - struct as_one_base - { - typedef Arg argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(Arg &) const - { - return numeric::one::type>::value; - } - }; - - template - struct promote - : promote_base - {}; - - template - struct min_assign - : min_assign_base - {}; - - template - struct max_assign - : max_assign_base - {}; - - template - struct fdiv - : fdiv_base - {}; - - /// INTERNAL ONLY - /// For back-compat only. Use fdiv. - template - struct average - : fdiv - {}; - - template - struct as_min - : as_min_base - {}; - - template - struct as_max - : as_max_base - {}; - - template - struct as_zero - : as_zero_base - {}; - - template - struct as_one - : as_one_base - {}; - } - - namespace op - { - template - struct promote - : boost::detail::function1::type, functional::tag<_> > > - {}; - - struct min_assign - : boost::detail::function2, functional::tag<_2> > > - {}; - - struct max_assign - : boost::detail::function2, functional::tag<_2> > > - {}; - - struct fdiv - : boost::detail::function2, functional::tag<_2> > > - {}; - - /// INTERNAL ONLY - struct average - : boost::detail::function2, functional::tag<_2> > > - {}; - - struct as_min - : boost::detail::function1 > > - {}; - - struct as_max - : boost::detail::function1 > > - {}; - - struct as_zero - : boost::detail::function1 > > - {}; - - struct as_one - : boost::detail::function1 > > - {}; - } - - namespace - { - op::min_assign const &min_assign = boost::detail::pod_singleton::instance; - op::max_assign const &max_assign = boost::detail::pod_singleton::instance; - op::fdiv const &fdiv = boost::detail::pod_singleton::instance; - op::fdiv const &average = boost::detail::pod_singleton::instance; ///< INTERNAL ONLY - op::as_min const &as_min = boost::detail::pod_singleton::instance; - op::as_max const &as_max = boost::detail::pod_singleton::instance; - op::as_zero const &as_zero = boost::detail::pod_singleton::instance; - op::as_one const &as_one = boost::detail::pod_singleton::instance; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(min_assign) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(max_assign) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(fdiv) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(average) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_min) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_max) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_zero) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(as_one) - } - - /////////////////////////////////////////////////////////////////////////////// - // promote - template - typename lazy_disable_if, mpl::if_, To &, To> >::type - promote(From &from) - { - return functional::promote()(from); - } - - template - typename mpl::if_, To const &, To const>::type - promote(From const &from) - { - return functional::promote()(from); - } - - template - struct default_ - { - typedef default_ type; - typedef T value_type; - static T const value; - - operator T const & () const - { - return default_::value; - } - }; - - template - T const default_::value = T(); - - template - struct one - { - typedef one type; - typedef T value_type; - static T const value; - - operator T const & () const - { - return one::value; - } - }; - - template - T const one::value = T(1); - - template - struct zero - { - typedef zero type; - typedef T value_type; - static T const value; - - operator T const & () const - { - return zero::value; - } - }; - - template - T const zero::value = T(); - - template - struct one_or_default - : mpl::if_, default_, one >::type - {}; - - template - struct zero_or_default - : mpl::if_, default_, zero >::type - {}; - -}} // namespace boost::numeric - -#endif diff --git a/external/boost/accumulators/numeric/functional/complex.hpp b/external/boost/accumulators/numeric/functional/complex.hpp deleted file mode 100644 index ea8c03324..000000000 --- a/external/boost/accumulators/numeric/functional/complex.hpp +++ /dev/null @@ -1,82 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file complex.hpp -/// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_NUMERIC_FUNCTIONAL_COMPLEX_HPP_EAN_01_17_2006 -#define BOOST_NUMERIC_FUNCTIONAL_COMPLEX_HPP_EAN_01_17_2006 - -#ifdef BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED -# error Include this file before boost/accumulators/numeric/functional.hpp -#endif - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace numeric { namespace operators -{ - // So that the stats compile when Sample type is std::complex - template - typename - disable_if< - mpl::or_, is_same, U> > - , std::complex - >::type - operator *(std::complex ri, U const &u) - { - // BUGBUG promote result to typeof(T()*u) ? - return ri *= static_cast(u); - } - - template - typename - disable_if< - mpl::or_, is_same, U> > - , std::complex - >::type - operator /(std::complex ri, U const &u) - { - // BUGBUG promote result to typeof(T()*u) ? - return ri /= static_cast(u); - } - -}}} // namespace boost::numeric::operators - -namespace boost { namespace numeric -{ - namespace detail - { - template - struct one_complex - { - static std::complex const value; - }; - - template - std::complex const one_complex::value - = std::complex(numeric::one::value, numeric::one::value); - } - - /// INTERNAL ONLY - /// - template - struct one > - : detail::one_complex - { - typedef one type; - typedef std::complex value_type; - operator value_type const & () const - { - return detail::one_complex::value; - } - }; - -}} // namespace boost::numeric - -#endif diff --git a/external/boost/accumulators/numeric/functional/valarray.hpp b/external/boost/accumulators/numeric/functional/valarray.hpp deleted file mode 100644 index 1996c7584..000000000 --- a/external/boost/accumulators/numeric/functional/valarray.hpp +++ /dev/null @@ -1,362 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file valarray.hpp -/// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_NUMERIC_FUNCTIONAL_VALARRAY_HPP_EAN_12_12_2005 -#define BOOST_NUMERIC_FUNCTIONAL_VALARRAY_HPP_EAN_12_12_2005 - -#ifdef BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED -# error Include this file before boost/accumulators/numeric/functional.hpp -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace numeric -{ - namespace operators - { - namespace acc_detail - { - template - struct make_valarray - { - typedef std::valarray type; - }; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle valarray / Right where Right is a scalar and Right != Left. - template - typename lazy_enable_if< - mpl::and_, mpl::not_ > > - , acc_detail::make_valarray > - >::type - operator /(std::valarray const &left, Right const &right) - { - typedef typename functional::divides::result_type value_type; - std::valarray result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::divides(left[i], right); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle valarray * Right where Right is a scalar and Right != Left. - template - typename lazy_enable_if< - mpl::and_, mpl::not_ > > - , acc_detail::make_valarray > - >::type - operator *(std::valarray const &left, Right const &right) - { - typedef typename functional::multiplies::result_type value_type; - std::valarray result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::multiplies(left[i], right); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle valarray + valarray where Right != Left. - template - typename lazy_disable_if< - is_same - , acc_detail::make_valarray > - >::type - operator +(std::valarray const &left, std::valarray const &right) - { - typedef typename functional::plus::result_type value_type; - std::valarray result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::plus(left[i], right[i]); - } - return result; - } - } - - namespace functional - { - struct std_valarray_tag; - - template - struct tag > - { - typedef std_valarray_tag type; - }; - - #ifdef __GLIBCXX__ - template - struct tag > - { - typedef std_valarray_tag type; - }; - #endif - - /// INTERNAL ONLY - /// - // This is necessary because the GCC stdlib uses expression templates, and - // typeof(som-valarray-expression) is not an instance of std::valarray - #define BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(Name, Op) \ - template \ - struct Name \ - { \ - typedef Left first_argument_type; \ - typedef Right second_argument_type; \ - typedef typename Left::value_type left_value_type; \ - typedef typename Right::value_type right_value_type; \ - typedef \ - std::valarray< \ - typename Name::result_type \ - > \ - result_type; \ - result_type \ - operator ()(Left &left, Right &right) const \ - { \ - return numeric::promote >(left) \ - Op numeric::promote >(right); \ - } \ - }; \ - template \ - struct Name \ - { \ - typedef Left first_argument_type; \ - typedef Right second_argument_type; \ - typedef typename Left::value_type left_value_type; \ - typedef \ - std::valarray< \ - typename Name::result_type \ - > \ - result_type; \ - result_type \ - operator ()(Left &left, Right &right) const \ - { \ - return numeric::promote >(left) Op right;\ - } \ - }; \ - template \ - struct Name \ - { \ - typedef Left first_argument_type; \ - typedef Right second_argument_type; \ - typedef typename Right::value_type right_value_type; \ - typedef \ - std::valarray< \ - typename Name::result_type \ - > \ - result_type; \ - result_type \ - operator ()(Left &left, Right &right) const \ - { \ - return left Op numeric::promote >(right);\ - } \ - }; - - BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(plus, +) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(minus, -) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(multiplies, *) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(divides, /) - BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP(modulus, %) - - #undef BOOST_NUMERIC_FUNCTIONAL_DEFINE_VALARRAY_BIN_OP - - /////////////////////////////////////////////////////////////////////////////// - // element-wise min of std::valarray - template - struct min_assign - { - typedef Left first_argument_type; - typedef Right second_argument_type; - typedef void result_type; - - void operator ()(Left &left, Right &right) const - { - BOOST_ASSERT(left.size() == right.size()); - for(std::size_t i = 0, size = left.size(); i != size; ++i) - { - if(numeric::less(right[i], left[i])) - { - left[i] = right[i]; - } - } - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // element-wise max of std::valarray - template - struct max_assign - { - typedef Left first_argument_type; - typedef Right second_argument_type; - typedef void result_type; - - void operator ()(Left &left, Right &right) const - { - BOOST_ASSERT(left.size() == right.size()); - for(std::size_t i = 0, size = left.size(); i != size; ++i) - { - if(numeric::greater(right[i], left[i])) - { - left[i] = right[i]; - } - } - } - }; - - // partial specialization of numeric::fdiv<> for std::valarray. - template - struct fdiv - : mpl::if_< - are_integral - , divides - , divides - >::type - {}; - - // promote - template - struct promote - { - typedef From argument_type; - typedef To result_type; - - To operator ()(From &arr) const - { - typename remove_const::type res(arr.size()); - for(std::size_t i = 0, size = arr.size(); i != size; ++i) - { - res[i] = numeric::promote(arr[i]); - } - return res; - } - }; - - template - struct promote - { - typedef ToFrom argument_type; - typedef ToFrom result_type; - - ToFrom &operator ()(ToFrom &tofrom) const - { - return tofrom; - } - }; - - // for "promoting" a std::valarray to a bool, useful for - // comparing 2 valarrays for equality: - // if(numeric::promote(a == b)) - template - struct promote - { - typedef From argument_type; - typedef bool result_type; - - bool operator ()(From &arr) const - { - BOOST_MPL_ASSERT((is_same)); - for(std::size_t i = 0, size = arr.size(); i != size; ++i) - { - if(!arr[i]) - { - return false; - } - } - return true; - } - }; - - template - struct promote - : promote - {}; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_min - template - struct as_min - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(numeric::as_min(arr[0]), arr.size()); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_max - template - struct as_max - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(numeric::as_max(arr[0]), arr.size()); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_zero - template - struct as_zero - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(numeric::as_zero(arr[0]), arr.size()); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_one - template - struct as_one - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(numeric::as_one(arr[0]), arr.size()); - } - }; - - } // namespace functional - -}} // namespace boost::numeric - -#endif - diff --git a/external/boost/accumulators/numeric/functional/vector.hpp b/external/boost/accumulators/numeric/functional/vector.hpp deleted file mode 100644 index 4c2fbd8ad..000000000 --- a/external/boost/accumulators/numeric/functional/vector.hpp +++ /dev/null @@ -1,347 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file vector.hpp -/// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_NUMERIC_FUNCTIONAL_VECTOR_HPP_EAN_12_12_2005 -#define BOOST_NUMERIC_FUNCTIONAL_VECTOR_HPP_EAN_12_12_2005 - -#ifdef BOOST_NUMERIC_FUNCTIONAL_HPP_INCLUDED -# error Include this file before boost/accumulators/numeric/functional.hpp -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace numeric -{ - namespace operators - { - namespace acc_detail - { - template - struct make_vector - { - typedef std::vector type; - }; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle vector / Right where Right is a scalar. - template - typename lazy_enable_if< - is_scalar - , acc_detail::make_vector > - >::type - operator /(std::vector const &left, Right const &right) - { - typedef typename functional::divides::result_type value_type; - std::vector result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::divides(left[i], right); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle vector / vector. - template - std::vector::result_type> - operator /(std::vector const &left, std::vector const &right) - { - typedef typename functional::divides::result_type value_type; - std::vector result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::divides(left[i], right[i]); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle vector * Right where Right is a scalar. - template - typename lazy_enable_if< - is_scalar - , acc_detail::make_vector > - >::type - operator *(std::vector const &left, Right const &right) - { - typedef typename functional::multiplies::result_type value_type; - std::vector result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::multiplies(left[i], right); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle Left * vector where Left is a scalar. - template - typename lazy_enable_if< - is_scalar - , acc_detail::make_vector > - >::type - operator *(Left const &left, std::vector const &right) - { - typedef typename functional::multiplies::result_type value_type; - std::vector result(right.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::multiplies(left, right[i]); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle vector * vector - template - std::vector::result_type> - operator *(std::vector const &left, std::vector const &right) - { - typedef typename functional::multiplies::result_type value_type; - std::vector result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::multiplies(left[i], right[i]); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle vector + vector - template - std::vector::result_type> - operator +(std::vector const &left, std::vector const &right) - { - typedef typename functional::plus::result_type value_type; - std::vector result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::plus(left[i], right[i]); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle vector - vector - template - std::vector::result_type> - operator -(std::vector const &left, std::vector const &right) - { - typedef typename functional::minus::result_type value_type; - std::vector result(left.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::minus(left[i], right[i]); - } - return result; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle vector += vector - template - std::vector & - operator +=(std::vector &left, std::vector const &right) - { - BOOST_ASSERT(left.size() == right.size()); - for(std::size_t i = 0, size = left.size(); i != size; ++i) - { - numeric::plus_assign(left[i], right[i]); - } - return left; - } - - /////////////////////////////////////////////////////////////////////////////// - // Handle -vector - template - std::vector::result_type> - operator -(std::vector const &arg) - { - typedef typename functional::unary_minus::result_type value_type; - std::vector result(arg.size()); - for(std::size_t i = 0, size = result.size(); i != size; ++i) - { - result[i] = numeric::unary_minus(arg[i]); - } - return result; - } - } - - namespace functional - { - struct std_vector_tag; - - template - struct tag > - { - typedef std_vector_tag type; - }; - - /////////////////////////////////////////////////////////////////////////////// - // element-wise min of std::vector - template - struct min_assign - { - typedef Left first_argument_type; - typedef Right second_argument_type; - typedef void result_type; - - void operator ()(Left &left, Right &right) const - { - BOOST_ASSERT(left.size() == right.size()); - for(std::size_t i = 0, size = left.size(); i != size; ++i) - { - if(numeric::less(right[i], left[i])) - { - left[i] = right[i]; - } - } - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // element-wise max of std::vector - template - struct max_assign - { - typedef Left first_argument_type; - typedef Right second_argument_type; - typedef void result_type; - - void operator ()(Left &left, Right &right) const - { - BOOST_ASSERT(left.size() == right.size()); - for(std::size_t i = 0, size = left.size(); i != size; ++i) - { - if(numeric::greater(right[i], left[i])) - { - left[i] = right[i]; - } - } - } - }; - - // partial specialization for std::vector. - template - struct fdiv - : mpl::if_< - are_integral - , divides - , divides - >::type - {}; - - // promote - template - struct promote - { - typedef From argument_type; - typedef To result_type; - - To operator ()(From &arr) const - { - typename remove_const::type res(arr.size()); - for(std::size_t i = 0, size = arr.size(); i != size; ++i) - { - res[i] = numeric::promote(arr[i]); - } - return res; - } - }; - - template - struct promote - { - typedef ToFrom argument_type; - typedef ToFrom result_type; - - ToFrom &operator ()(ToFrom &tofrom) const - { - return tofrom; - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_min - template - struct as_min - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(arr.size(), numeric::as_min(arr[0])); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_max - template - struct as_max - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(arr.size(), numeric::as_max(arr[0])); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_zero - template - struct as_zero - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(arr.size(), numeric::as_zero(arr[0])); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // functional::as_one - template - struct as_one - { - typedef T argument_type; - typedef typename remove_const::type result_type; - - typename remove_const::type operator ()(T &arr) const - { - return 0 == arr.size() - ? T() - : T(arr.size(), numeric::as_one(arr[0])); - } - }; - - } // namespace functional - -}} // namespace boost::numeric - -#endif - diff --git a/external/boost/accumulators/numeric/functional_fwd.hpp b/external/boost/accumulators/numeric/functional_fwd.hpp deleted file mode 100644 index 501f654b2..000000000 --- a/external/boost/accumulators/numeric/functional_fwd.hpp +++ /dev/null @@ -1,221 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file functional_fwd.hpp -/// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_NUMERIC_FUNCTIONAL_FWD_HPP_EAN_08_12_2005 -#define BOOST_NUMERIC_FUNCTIONAL_FWD_HPP_EAN_08_12_2005 - -#include -#include -#include -#include -#include - -namespace boost { namespace numeric -{ - // For using directives -- this namespace may be re-opened elsewhere - namespace operators - {} - - namespace op - { - using mpl::_; - using mpl::_1; - using mpl::_2; - } - - namespace functional - { - using namespace operators; - - template - struct tag - { - typedef void type; - }; - - template - struct tag - : tag - {}; - - template - struct tag - : tag - {}; - - template - struct tag - : tag - {}; - - template - struct static_; - - template - struct are_integral; - } - - /// INTERNAL ONLY - /// -#define BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(Name, Op) \ - namespace functional \ - { \ - template \ - struct Name ## _base; \ - template::type> \ - struct Name; \ - } \ - namespace op \ - { \ - struct Name; \ - } \ - namespace \ - { \ - extern op::Name const &Name; \ - } - - /// INTERNAL ONLY - /// -#define BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(Name) \ - namespace functional \ - { \ - template \ - struct result_of_ ## Name; \ - template \ - struct Name ## _base; \ - template< \ - typename Left \ - , typename Right \ - , typename LeftTag = typename tag::type \ - , typename RightTag = typename tag::type \ - > \ - struct Name; \ - } \ - namespace op \ - { \ - struct Name; \ - } \ - namespace \ - { \ - extern op::Name const &Name; \ - } - - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(plus) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(minus) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(multiplies) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(divides) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(modulus) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(greater) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(greater_equal) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(less) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(less_equal) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(equal_to) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(not_equal_to) - - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(assign) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(plus_assign) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(minus_assign) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(multiplies_assign) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(divides_assign) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP(modulus_assign) - - BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(unary_plus, +) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(unary_minus, -) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(complement, ~) - BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP(logical_not, !) - -#undef BOOST_NUMERIC_FUNCTIONAL_DECLARE_UNARY_OP -#undef BOOST_NUMERIC_FUNCTIONAL_DECLARE_BINARY_OP - - - namespace functional - { - template - struct promote_base; - template - struct min_assign_base; - template - struct max_assign_base; - template - struct fdiv_base; - template - struct as_min_base; - template - struct as_max_base; - template - struct as_zero_base; - template - struct as_one_base; - - template::type, typename FromTag = typename tag::type> - struct promote; - template::type, typename RightTag = typename tag::type> - struct min_assign; - template::type, typename RightTag = typename tag::type> - struct max_assign; - template::type, typename RightTag = typename tag::type> - struct fdiv; - template::type> - struct as_min; - template::type> - struct as_max; - template::type> - struct as_zero; - template::type> - struct as_one; - } - - namespace op - { - template - struct promote; - struct min_assign; - struct max_assign; - struct fdiv; - struct as_min; - struct as_max; - struct as_zero; - struct as_one; - } - - namespace - { - extern op::min_assign const &min_assign; - extern op::max_assign const &max_assign; - extern op::fdiv const &fdiv; - extern op::as_min const &as_min; - extern op::as_max const &as_max; - extern op::as_zero const &as_zero; - extern op::as_one const &as_one; - } - - template - typename lazy_disable_if, mpl::if_, To &, To> >::type - promote(From &from); - - template - typename mpl::if_, To const &, To const>::type - promote(From const &from); - - template - struct default_; - - template - struct one; - - template - struct zero; - - template - struct one_or_default; - - template - struct zero_or_default; - -}} // namespace boost::numeric - -#endif diff --git a/external/boost/accumulators/statistics.hpp b/external/boost/accumulators/statistics.hpp deleted file mode 100644 index 01786079a..000000000 --- a/external/boost/accumulators/statistics.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file statistics.hpp -/// Includes all of the Statistical Accumulators Library -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_HPP_EAN_01_17_2006 -#define BOOST_ACCUMULATORS_STATISTICS_HPP_EAN_01_17_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/accumulators/statistics/count.hpp b/external/boost/accumulators/statistics/count.hpp deleted file mode 100644 index 6d30b41e2..000000000 --- a/external/boost/accumulators/statistics/count.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// count.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_COUNT_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_COUNT_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - - /////////////////////////////////////////////////////////////////////////////// - // count_impl - struct count_impl - : accumulator_base - { - // for boost::result_of - typedef std::size_t result_type; - - count_impl(dont_care) - : cnt(0) - { - } - - void operator ()(dont_care) - { - ++this->cnt; - } - - result_type result(dont_care) const - { - return this->cnt; - } - - private: - std::size_t cnt; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::count -// -namespace tag -{ - struct count - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef mpl::always impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::count -// -namespace extract -{ - extractor const count = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(count) -} - -using extract::count; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/covariance.hpp b/external/boost/accumulators/statistics/covariance.hpp deleted file mode 100644 index b3030b967..000000000 --- a/external/boost/accumulators/statistics/covariance.hpp +++ /dev/null @@ -1,212 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// covariance.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_COVARIANCE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_COVARIANCE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace numeric -{ - namespace functional - { - struct std_vector_tag; - - /////////////////////////////////////////////////////////////////////////////// - // functional::outer_product - template - struct outer_product_base - : functional::multiplies - {}; - - template::type, typename RightTag = typename tag::type> - struct outer_product - : outer_product_base - {}; - - template - struct outer_product - { - typedef Left first_argument_type; - typedef Right second_argument_type; - typedef - ublas::matrix< - typename functional::multiplies< - typename Left::value_type - , typename Right::value_type - >::result_type - > - result_type; - - result_type - operator ()(Left & left, Right & right) const - { - std::size_t left_size = left.size(); - std::size_t right_size = right.size(); - result_type result(left_size, right_size); - for (std::size_t i = 0; i < left_size; ++i) - for (std::size_t j = 0; j < right_size; ++j) - result(i,j) = numeric::multiplies(left[i], right[j]); - return result; - } - }; - } - - namespace op - { - struct outer_product - : boost::detail::function2, functional::tag<_2> > > - {}; - } - - namespace - { - op::outer_product const &outer_product = boost::detail::pod_singleton::instance; - } - -}} - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // covariance_impl - // - /** - @brief Covariance Estimator - - An iterative Monte Carlo estimator for the covariance \f$\mathrm{Cov}(X,X')\f$, where \f$X\f$ is a sample - and \f$X'\f$ is a variate, is given by: - - \f[ - \hat{c}_n = \frac{n-1}{n} \hat{c}_{n-1} + \frac{1}{n-1}(X_n - \hat{\mu}_n)(X_n' - \hat{\mu}_n'),\quad n\ge2,\quad\hat{c}_1 = 0, - \f] - - \f$\hat{\mu}_n\f$ and \f$\hat{\mu}_n'\f$ being the means of the samples and variates. - */ - template - struct covariance_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type sample_type; - typedef typename numeric::functional::fdiv::result_type variate_type; - // for boost::result_of - typedef typename numeric::functional::outer_product::result_type result_type; - - template - covariance_impl(Args const &args) - : cov_( - numeric::outer_product( - numeric::fdiv(args[sample | Sample()], (std::size_t)1) - , numeric::fdiv(args[parameter::keyword::get() | VariateType()], (std::size_t)1) - ) - ) - { - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - - if (cnt > 1) - { - extractor > const some_mean_of_variates = {}; - - this->cov_ = this->cov_*(cnt-1.)/cnt - + numeric::outer_product( - some_mean_of_variates(args) - args[parameter::keyword::get()] - , mean(args) - args[sample] - ) / (cnt-1.); - } - } - - result_type result(dont_care) const - { - return this->cov_; - } - - private: - result_type cov_; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::covariance -// -namespace tag -{ - template - struct covariance - : depends_on > - { - typedef accumulators::impl::covariance_impl impl; - }; - - struct abstract_covariance - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::covariance -// -namespace extract -{ - extractor const covariance = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariance) -} - -using extract::covariance; - -template -struct feature_of > - : feature_of -{ -}; - -// So that covariance can be automatically substituted with -// weighted_covariance when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_covariance type; -}; - -template -struct feature_of > - : feature_of > -{}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/density.hpp b/external/boost/accumulators/statistics/density.hpp deleted file mode 100644 index 88ca17df7..000000000 --- a/external/boost/accumulators/statistics/density.hpp +++ /dev/null @@ -1,250 +0,0 @@ - -/////////////////////////////////////////////////////////////////////////////// -// density.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_DENSITY_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_DENSITY_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -/////////////////////////////////////////////////////////////////////////////// -// cache_size and num_bins named parameters -// -BOOST_PARAMETER_NESTED_KEYWORD(tag, density_cache_size, cache_size) -BOOST_PARAMETER_NESTED_KEYWORD(tag, density_num_bins, num_bins) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(density_cache_size) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(density_num_bins) - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // density_impl - // density histogram - /** - @brief Histogram density estimator - - The histogram density estimator returns a histogram of the sample distribution. The positions and sizes of the bins - are determined using a specifiable number of cached samples (cache_size). The range between the minimum and the - maximum of the cached samples is subdivided into a specifiable number of bins (num_bins) of same size. Additionally, - an under- and an overflow bin is added to capture future under- and overflow samples. Once the bins are determined, - the cached samples and all subsequent samples are added to the correct bins. At the end, a range of std::pair is - return, where each pair contains the position of the bin (lower bound) and the samples count (normalized with the - total number of samples). - - @param density_cache_size Number of first samples used to determine min and max. - @param density_num_bins Number of bins (two additional bins collect under- and overflow samples). - */ - template - struct density_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector > histogram_type; - typedef std::vector array_type; - // for boost::result_of - typedef iterator_range result_type; - - template - density_impl(Args const &args) - : cache_size(args[density_cache_size]) - , cache(cache_size) - , num_bins(args[density_num_bins]) - , samples_in_bin(num_bins + 2, 0.) - , bin_positions(num_bins + 2) - , histogram( - num_bins + 2 - , std::make_pair( - numeric::fdiv(args[sample | Sample()],(std::size_t)1) - , numeric::fdiv(args[sample | Sample()],(std::size_t)1) - ) - ) - , is_dirty(true) - { - } - - template - void operator ()(Args const &args) - { - this->is_dirty = true; - - std::size_t cnt = count(args); - - // Fill up cache with cache_size first samples - if (cnt <= this->cache_size) - { - this->cache[cnt - 1] = args[sample]; - } - - // Once cache_size samples have been accumulated, create num_bins bins of same size between - // the minimum and maximum of the cached samples as well as under and overflow bins. - // Store their lower bounds (bin_positions) and fill the bins with the cached samples (samples_in_bin). - if (cnt == this->cache_size) - { - float_type minimum = numeric::fdiv((min)(args), (std::size_t)1); - float_type maximum = numeric::fdiv((max)(args), (std::size_t)1); - float_type bin_size = numeric::fdiv(maximum - minimum, this->num_bins ); - - // determine bin positions (their lower bounds) - for (std::size_t i = 0; i < this->num_bins + 2; ++i) - { - this->bin_positions[i] = minimum + (i - 1.) * bin_size; - } - - for (typename array_type::const_iterator iter = this->cache.begin(); iter != this->cache.end(); ++iter) - { - if (*iter < this->bin_positions[1]) - { - ++(this->samples_in_bin[0]); - } - else if (*iter >= this->bin_positions[this->num_bins + 1]) - { - ++(this->samples_in_bin[this->num_bins + 1]); - } - else - { - typename array_type::iterator it = std::upper_bound( - this->bin_positions.begin() - , this->bin_positions.end() - , *iter - ); - - std::size_t d = std::distance(this->bin_positions.begin(), it); - ++(this->samples_in_bin[d - 1]); - } - } - } - // Add each subsequent sample to the correct bin - else if (cnt > this->cache_size) - { - if (args[sample] < this->bin_positions[1]) - { - ++(this->samples_in_bin[0]); - } - else if (args[sample] >= this->bin_positions[this->num_bins + 1]) - { - ++(this->samples_in_bin[this->num_bins + 1]); - } - else - { - typename array_type::iterator it = std::upper_bound( - this->bin_positions.begin() - , this->bin_positions.end() - , args[sample] - ); - - std::size_t d = std::distance(this->bin_positions.begin(), it); - ++(this->samples_in_bin[d - 1]); - } - } - } - - /** - @pre The number of samples must meet or exceed the cache size - */ - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - // creates a vector of std::pair where each pair i holds - // the values bin_positions[i] (x-axis of histogram) and - // samples_in_bin[i] / cnt (y-axis of histogram). - - for (std::size_t i = 0; i < this->num_bins + 2; ++i) - { - this->histogram[i] = std::make_pair(this->bin_positions[i], numeric::fdiv(this->samples_in_bin[i], count(args))); - } - } - // returns a range of pairs - return make_iterator_range(this->histogram); - } - - private: - std::size_t cache_size; // number of cached samples - array_type cache; // cache to store the first cache_size samples - std::size_t num_bins; // number of bins - array_type samples_in_bin; // number of samples in each bin - array_type bin_positions; // lower bounds of bins - mutable histogram_type histogram; // histogram - mutable bool is_dirty; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::density -// -namespace tag -{ - struct density - : depends_on - , density_cache_size - , density_num_bins - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::density_impl impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::density::cache_size named parameter - /// tag::density::num_bins named parameter - static boost::parameter::keyword const cache_size; - static boost::parameter::keyword const num_bins; - #endif - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::density -// -namespace extract -{ - extractor const density = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(density) -} - -using extract::density; - -// So that density can be automatically substituted -// with weighted_density when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::weighted_density type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/error_of.hpp b/external/boost/accumulators/statistics/error_of.hpp deleted file mode 100644 index a29da02f5..000000000 --- a/external/boost/accumulators/statistics/error_of.hpp +++ /dev/null @@ -1,99 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// error_of.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_HPP_EAN_29_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_HPP_EAN_29_11_2005 - -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /// INTERNAL ONLY - /// - template - struct this_feature_has_no_error_calculation - : mpl::false_ - { - }; - - /////////////////////////////////////////////////////////////////////////////// - // error_of_impl - /// INTERNAL ONLY - /// - template - struct error_of_impl - : accumulator_base - { - // TODO: specialize this on the specific features that have errors we're - // interested in. - BOOST_MPL_ASSERT((this_feature_has_no_error_calculation)); - - // for boost::result_of - typedef int result_type; - - error_of_impl(dont_care) - { - } - - result_type result(dont_care) const - { - return 0; - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::error_of -// -namespace tag -{ - template - struct error_of - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::error_of_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::error_of -// -namespace extract -{ - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, error_of, (typename)) -} - -using extract::error_of; - -// make tag::error_of work -template -struct as_feature > -{ - typedef tag::error_of::type> type; -}; - -// make error_of work with non-void weights (should become -// error_of -template -struct as_weighted_feature > -{ - typedef tag::error_of::type> type; -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/error_of_mean.hpp b/external/boost/accumulators/statistics/error_of_mean.hpp deleted file mode 100644 index 7cd923d5f..000000000 --- a/external/boost/accumulators/statistics/error_of_mean.hpp +++ /dev/null @@ -1,73 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// error_of.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_MEAN_HPP_EAN_27_03_2006 -#define BOOST_ACCUMULATORS_STATISTICS_ERROR_OF_MEAN_HPP_EAN_27_03_2006 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // error_of_mean_impl - template - struct error_of_mean_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - error_of_mean_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - using namespace std; - extractor const variance = {}; - return sqrt(numeric::fdiv(variance(args), count(args) - 1)); - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::error_of -// -namespace tag -{ - template<> - struct error_of - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::error_of_mean_impl impl; - }; - - template<> - struct error_of - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::error_of_mean_impl impl; - }; -} - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/extended_p_square.hpp b/external/boost/accumulators/statistics/extended_p_square.hpp deleted file mode 100644 index e6cc8dc9a..000000000 --- a/external/boost/accumulators/statistics/extended_p_square.hpp +++ /dev/null @@ -1,295 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// extended_p_square.hpp -// -// Copyright 2005 Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ -/////////////////////////////////////////////////////////////////////////////// -// probabilities named parameter -// -BOOST_PARAMETER_NESTED_KEYWORD(tag, extended_p_square_probabilities, probabilities) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square_probabilities) - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // extended_p_square_impl - // multiple quantile estimation - /** - @brief Multiple quantile estimation with the extended \f$P^2\f$ algorithm - - Extended \f$P^2\f$ algorithm for estimation of several quantiles without storing samples. - Assume that \f$m\f$ quantiles \f$\xi_{p_1}, \ldots, \xi_{p_m}\f$ are to be estimated. - Instead of storing the whole sample cumulative distribution, the algorithm maintains only - \f$m+2\f$ principal markers and \f$m+1\f$ middle markers, whose positions are updated - with each sample and whose heights are adjusted (if necessary) using a piecewise-parablic - formula. The heights of these central markers are the current estimates of the quantiles - and returned as an iterator range. - - For further details, see - - K. E. E. Raatikainen, Simultaneous estimation of several quantiles, Simulation, Volume 49, - Number 4 (October), 1986, p. 159-164. - - The extended \f$ P^2 \f$ algorithm generalizes the \f$ P^2 \f$ algorithm of - - R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and - histograms without storing observations, Communications of the ACM, - Volume 28 (October), Number 10, 1985, p. 1076-1085. - - @param extended_p_square_probabilities A vector of quantile probabilities. - */ - template - struct extended_p_square_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector array_type; - // for boost::result_of - typedef iterator_range< - detail::lvalue_index_iterator< - permutation_iterator< - typename array_type::const_iterator - , detail::times2_iterator - > - > - > result_type; - - template - extended_p_square_impl(Args const &args) - : probabilities( - boost::begin(args[extended_p_square_probabilities]) - , boost::end(args[extended_p_square_probabilities]) - ) - , heights(2 * probabilities.size() + 3) - , actual_positions(heights.size()) - , desired_positions(heights.size()) - , positions_increments(heights.size()) - { - std::size_t num_quantiles = this->probabilities.size(); - std::size_t num_markers = this->heights.size(); - - for(std::size_t i = 0; i < num_markers; ++i) - { - this->actual_positions[i] = i + 1; - } - - this->positions_increments[0] = 0.; - this->positions_increments[num_markers - 1] = 1.; - - for(std::size_t i = 0; i < num_quantiles; ++i) - { - this->positions_increments[2 * i + 2] = probabilities[i]; - } - - for(std::size_t i = 0; i <= num_quantiles; ++i) - { - this->positions_increments[2 * i + 1] = - 0.5 * (this->positions_increments[2 * i] + this->positions_increments[2 * i + 2]); - } - - for(std::size_t i = 0; i < num_markers; ++i) - { - this->desired_positions[i] = 1. + 2. * (num_quantiles + 1.) * this->positions_increments[i]; - } - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - - // m+2 principal markers and m+1 middle markers - std::size_t num_markers = 2 * this->probabilities.size() + 3; - - // first accumulate num_markers samples - if(cnt <= num_markers) - { - this->heights[cnt - 1] = args[sample]; - - // complete the initialization of heights by sorting - if(cnt == num_markers) - { - std::sort(this->heights.begin(), this->heights.end()); - } - } - else - { - std::size_t sample_cell = 1; - - // find cell k = sample_cell such that heights[k-1] <= sample < heights[k] - if(args[sample] < this->heights[0]) - { - this->heights[0] = args[sample]; - sample_cell = 1; - } - else if(args[sample] >= this->heights[num_markers - 1]) - { - this->heights[num_markers - 1] = args[sample]; - sample_cell = num_markers - 1; - } - else - { - typedef typename array_type::iterator iterator; - iterator it = std::upper_bound( - this->heights.begin() - , this->heights.end() - , args[sample] - ); - - sample_cell = std::distance(this->heights.begin(), it); - } - - // update actual positions of all markers above sample_cell index - for(std::size_t i = sample_cell; i < num_markers; ++i) - { - ++this->actual_positions[i]; - } - - // update desired positions of all markers - for(std::size_t i = 0; i < num_markers; ++i) - { - this->desired_positions[i] += this->positions_increments[i]; - } - - // adjust heights and actual positions of markers 1 to num_markers-2 if necessary - for(std::size_t i = 1; i <= num_markers - 2; ++i) - { - // offset to desired position - float_type d = this->desired_positions[i] - this->actual_positions[i]; - - // offset to next position - float_type dp = this->actual_positions[i+1] - this->actual_positions[i]; - - // offset to previous position - float_type dm = this->actual_positions[i-1] - this->actual_positions[i]; - - // height ds - float_type hp = (this->heights[i+1] - this->heights[i]) / dp; - float_type hm = (this->heights[i-1] - this->heights[i]) / dm; - - if((d >= 1 && dp > 1) || (d <= -1 && dm < -1)) - { - short sign_d = static_cast(d / std::abs(d)); - - float_type h = this->heights[i] + sign_d / (dp - dm) * ((sign_d - dm)*hp - + (dp - sign_d) * hm); - - // try adjusting heights[i] using p-squared formula - if(this->heights[i - 1] < h && h < this->heights[i + 1]) - { - this->heights[i] = h; - } - else - { - // use linear formula - if(d > 0) - { - this->heights[i] += hp; - } - if(d < 0) - { - this->heights[i] -= hm; - } - } - this->actual_positions[i] += sign_d; - } - } - } - } - - result_type result(dont_care) const - { - // for i in [1,probabilities.size()], return heights[i * 2] - detail::times2_iterator idx_begin = detail::make_times2_iterator(1); - detail::times2_iterator idx_end = detail::make_times2_iterator(this->probabilities.size() + 1); - - return result_type( - make_permutation_iterator(this->heights.begin(), idx_begin) - , make_permutation_iterator(this->heights.begin(), idx_end) - ); - } - - private: - array_type probabilities; // the quantile probabilities - array_type heights; // q_i - array_type actual_positions; // n_i - array_type desired_positions; // d_i - array_type positions_increments; // f_i - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::extended_p_square -// -namespace tag -{ - struct extended_p_square - : depends_on - , extended_p_square_probabilities - { - typedef accumulators::impl::extended_p_square_impl impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::extended_p_square::probabilities named parameter - static boost::parameter::keyword const probabilities; - #endif - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::extended_p_square -// -namespace extract -{ - extractor const extended_p_square = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square) -} - -using extract::extended_p_square; - -// So that extended_p_square can be automatically substituted with -// weighted_extended_p_square when the weight parameter is non-void -template<> -struct as_weighted_feature -{ - typedef tag::weighted_extended_p_square type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/extended_p_square_quantile.hpp b/external/boost/accumulators/statistics/extended_p_square_quantile.hpp deleted file mode 100644 index a17843d77..000000000 --- a/external/boost/accumulators/statistics/extended_p_square_quantile.hpp +++ /dev/null @@ -1,320 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// extended_p_square_quantile.hpp -// -// Copyright 2005 Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_QUANTILE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_EXTENDED_SINGLE_QUANTILE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // extended_p_square_quantile_impl - // single quantile estimation - /** - @brief Quantile estimation using the extended \f$P^2\f$ algorithm for weighted and unweighted samples - - Uses the quantile estimates calculated by the extended \f$P^2\f$ algorithm to compute - intermediate quantile estimates by means of quadratic interpolation. - - @param quantile_probability The probability of the quantile to be estimated. - */ - template // Impl1: weighted/unweighted // Impl2: linear/quadratic - struct extended_p_square_quantile_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector array_type; - typedef iterator_range< - detail::lvalue_index_iterator< - permutation_iterator< - typename array_type::const_iterator - , detail::times2_iterator - > - > - > range_type; - // for boost::result_of - typedef float_type result_type; - - template - extended_p_square_quantile_impl(Args const &args) - : probabilities( - boost::begin(args[extended_p_square_probabilities]) - , boost::end(args[extended_p_square_probabilities]) - ) - { - } - - template - result_type result(Args const &args) const - { - typedef - typename mpl::if_< - is_same - , tag::weighted_extended_p_square - , tag::extended_p_square - >::type - extended_p_square_tag; - - extractor const some_extended_p_square = {}; - - array_type heights(some_extended_p_square(args).size()); - std::copy(some_extended_p_square(args).begin(), some_extended_p_square(args).end(), heights.begin()); - - this->probability = args[quantile_probability]; - - typename array_type::const_iterator iter_probs = std::lower_bound(this->probabilities.begin(), this->probabilities.end(), this->probability); - std::size_t dist = std::distance(this->probabilities.begin(), iter_probs); - typename array_type::const_iterator iter_heights = heights.begin() + dist; - - // If this->probability is not in a valid range return NaN or throw exception - if (this->probability < *this->probabilities.begin() || this->probability > *(this->probabilities.end() - 1)) - { - if (std::numeric_limits::has_quiet_NaN) - { - return std::numeric_limits::quiet_NaN(); - } - else - { - std::ostringstream msg; - msg << "probability = " << this->probability << " is not in valid range ("; - msg << *this->probabilities.begin() << ", " << *(this->probabilities.end() - 1) << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - return Sample(0); - } - - } - - if (*iter_probs == this->probability) - { - return heights[dist]; - } - else - { - result_type res; - - if (is_same::value) - { - ///////////////////////////////////////////////////////////////////////////////// - // LINEAR INTERPOLATION - // - float_type p1 = *iter_probs; - float_type p0 = *(iter_probs - 1); - float_type h1 = *iter_heights; - float_type h0 = *(iter_heights - 1); - - float_type a = numeric::fdiv(h1 - h0, p1 - p0); - float_type b = h1 - p1 * a; - - res = a * this->probability + b; - } - else - { - ///////////////////////////////////////////////////////////////////////////////// - // QUADRATIC INTERPOLATION - // - float_type p0, p1, p2; - float_type h0, h1, h2; - - if ( (dist == 1 || *iter_probs - this->probability <= this->probability - *(iter_probs - 1) ) && dist != this->probabilities.size() - 1 ) - { - p0 = *(iter_probs - 1); - p1 = *iter_probs; - p2 = *(iter_probs + 1); - h0 = *(iter_heights - 1); - h1 = *iter_heights; - h2 = *(iter_heights + 1); - } - else - { - p0 = *(iter_probs - 2); - p1 = *(iter_probs - 1); - p2 = *iter_probs; - h0 = *(iter_heights - 2); - h1 = *(iter_heights - 1); - h2 = *iter_heights; - } - - float_type hp21 = numeric::fdiv(h2 - h1, p2 - p1); - float_type hp10 = numeric::fdiv(h1 - h0, p1 - p0); - float_type p21 = numeric::fdiv(p2 * p2 - p1 * p1, p2 - p1); - float_type p10 = numeric::fdiv(p1 * p1 - p0 * p0, p1 - p0); - - float_type a = numeric::fdiv(hp21 - hp10, p21 - p10); - float_type b = hp21 - a * p21; - float_type c = h2 - a * p2 * p2 - b * p2; - - res = a * this->probability * this-> probability + b * this->probability + c; - } - - return res; - } - - } - private: - - array_type probabilities; - mutable float_type probability; - - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::extended_p_square_quantile -// -namespace tag -{ - struct extended_p_square_quantile - : depends_on - { - typedef accumulators::impl::extended_p_square_quantile_impl impl; - }; - struct extended_p_square_quantile_quadratic - : depends_on - { - typedef accumulators::impl::extended_p_square_quantile_impl impl; - }; - struct weighted_extended_p_square_quantile - : depends_on - { - typedef accumulators::impl::extended_p_square_quantile_impl impl; - }; - struct weighted_extended_p_square_quantile_quadratic - : depends_on - { - typedef accumulators::impl::extended_p_square_quantile_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::extended_p_square_quantile -// extract::weighted_extended_p_square_quantile -// -namespace extract -{ - extractor const extended_p_square_quantile = {}; - extractor const extended_p_square_quantile_quadratic = {}; - extractor const weighted_extended_p_square_quantile = {}; - extractor const weighted_extended_p_square_quantile_quadratic = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square_quantile) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(extended_p_square_quantile_quadratic) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_extended_p_square_quantile) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_extended_p_square_quantile_quadratic) -} - -using extract::extended_p_square_quantile; -using extract::extended_p_square_quantile_quadratic; -using extract::weighted_extended_p_square_quantile; -using extract::weighted_extended_p_square_quantile_quadratic; - -// extended_p_square_quantile(linear) -> extended_p_square_quantile -template<> -struct as_feature -{ - typedef tag::extended_p_square_quantile type; -}; - -// extended_p_square_quantile(quadratic) -> extended_p_square_quantile_quadratic -template<> -struct as_feature -{ - typedef tag::extended_p_square_quantile_quadratic type; -}; - -// weighted_extended_p_square_quantile(linear) -> weighted_extended_p_square_quantile -template<> -struct as_feature -{ - typedef tag::weighted_extended_p_square_quantile type; -}; - -// weighted_extended_p_square_quantile(quadratic) -> weighted_extended_p_square_quantile_quadratic -template<> -struct as_feature -{ - typedef tag::weighted_extended_p_square_quantile_quadratic type; -}; - -// for the purposes of feature-based dependency resolution, -// extended_p_square_quantile and weighted_extended_p_square_quantile -// provide the same feature as quantile -template<> -struct feature_of - : feature_of -{ -}; -template<> -struct feature_of - : feature_of -{ -}; -// So that extended_p_square_quantile can be automatically substituted with -// weighted_extended_p_square_quantile when the weight parameter is non-void -template<> -struct as_weighted_feature -{ - typedef tag::weighted_extended_p_square_quantile type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -// So that extended_p_square_quantile_quadratic can be automatically substituted with -// weighted_extended_p_square_quantile_quadratic when the weight parameter is non-void -template<> -struct as_weighted_feature -{ - typedef tag::weighted_extended_p_square_quantile_quadratic type; -}; -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/kurtosis.hpp b/external/boost/accumulators/statistics/kurtosis.hpp deleted file mode 100644 index 76c93d385..000000000 --- a/external/boost/accumulators/statistics/kurtosis.hpp +++ /dev/null @@ -1,112 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// kurtosis.hpp -// -// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_KURTOSIS_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_KURTOSIS_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // kurtosis_impl - /** - @brief Kurtosis estimation - - The kurtosis of a sample distribution is defined as the ratio of the 4th central moment and the square of the 2nd central - moment (the variance) of the samples, minus 3. The term \f$ -3 \f$ is added in order to ensure that the normal distribution - has zero kurtosis. The kurtosis can also be expressed by the simple moments: - - \f[ - \hat{g}_2 = - \frac - {\widehat{m}_n^{(4)}-4\widehat{m}_n^{(3)}\hat{\mu}_n+6\widehat{m}_n^{(2)}\hat{\mu}_n^2-3\hat{\mu}_n^4} - {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^2} - 3, - \f] - - where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the - \f$ n \f$ samples. - */ - template - struct kurtosis_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - kurtosis_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - return numeric::fdiv( - accumulators::moment<4>(args) - - 4. * accumulators::moment<3>(args) * mean(args) - + 6. * accumulators::moment<2>(args) * mean(args) * mean(args) - - 3. * mean(args) * mean(args) * mean(args) * mean(args) - , ( accumulators::moment<2>(args) - mean(args) * mean(args) ) - * ( accumulators::moment<2>(args) - mean(args) * mean(args) ) - ) - 3.; - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::kurtosis -// -namespace tag -{ - struct kurtosis - : depends_on, moment<3>, moment<4> > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::kurtosis_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::kurtosis -// -namespace extract -{ - extractor const kurtosis = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(kurtosis) -} - -using extract::kurtosis; - -// So that kurtosis can be automatically substituted with -// weighted_kurtosis when the weight parameter is non-void -template<> -struct as_weighted_feature -{ - typedef tag::weighted_kurtosis type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/max.hpp b/external/boost/accumulators/statistics/max.hpp deleted file mode 100644 index 820f6593f..000000000 --- a/external/boost/accumulators/statistics/max.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// max.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_MAX_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_MAX_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // max_impl - template - struct max_impl - : accumulator_base - { - // for boost::result_of - typedef Sample result_type; - - template - max_impl(Args const &args) - : max_(numeric::as_min(args[sample | Sample()])) - { - } - - template - void operator ()(Args const &args) - { - numeric::max_assign(this->max_, args[sample]); - } - - result_type result(dont_care) const - { - return this->max_; - } - - private: - Sample max_; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::max -// -namespace tag -{ - struct max - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::max_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::max -// -namespace extract -{ - extractor const max = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(max) -} - -using extract::max; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/mean.hpp b/external/boost/accumulators/statistics/mean.hpp deleted file mode 100644 index 478883718..000000000 --- a/external/boost/accumulators/statistics/mean.hpp +++ /dev/null @@ -1,298 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// mean.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_MEAN_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_MEAN_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // mean_impl - // lazy, by default - template - struct mean_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - mean_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - extractor sum; - return numeric::fdiv(sum(args), count(args)); - } - }; - - template - struct immediate_mean_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - immediate_mean_impl(Args const &args) - : mean(numeric::fdiv(args[sample | Sample()], numeric::one::value)) - { - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - this->mean = numeric::fdiv( - (this->mean * (cnt - 1)) + args[parameter::keyword::get()] - , cnt - ); - } - - result_type result(dont_care) const - { - return this->mean; - } - - private: - result_type mean; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::mean -// tag::immediate_mean -// tag::mean_of_weights -// tag::immediate_mean_of_weights -// tag::mean_of_variates -// tag::immediate_mean_of_variates -// -namespace tag -{ - struct mean - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::mean_impl impl; - }; - struct immediate_mean - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::immediate_mean_impl impl; - }; - struct mean_of_weights - : depends_on - { - typedef mpl::true_ is_weight_accumulator; - /// INTERNAL ONLY - /// - typedef accumulators::impl::mean_impl impl; - }; - struct immediate_mean_of_weights - : depends_on - { - typedef mpl::true_ is_weight_accumulator; - /// INTERNAL ONLY - /// - typedef accumulators::impl::immediate_mean_impl impl; - }; - template - struct mean_of_variates - : depends_on > - { - /// INTERNAL ONLY - /// - typedef mpl::always > > impl; - }; - template - struct immediate_mean_of_variates - : depends_on - { - /// INTERNAL ONLY - /// - typedef mpl::always > impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::mean -// extract::mean_of_weights -// extract::mean_of_variates -// -namespace extract -{ - extractor const mean = {}; - extractor const mean_of_weights = {}; - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, mean_of_variates, (typename)(typename)) - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(mean) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(mean_of_weights) -} - -using extract::mean; -using extract::mean_of_weights; -using extract::mean_of_variates; - -// mean(lazy) -> mean -template<> -struct as_feature -{ - typedef tag::mean type; -}; - -// mean(immediate) -> immediate_mean -template<> -struct as_feature -{ - typedef tag::immediate_mean type; -}; - -// mean_of_weights(lazy) -> mean_of_weights -template<> -struct as_feature -{ - typedef tag::mean_of_weights type; -}; - -// mean_of_weights(immediate) -> immediate_mean_of_weights -template<> -struct as_feature -{ - typedef tag::immediate_mean_of_weights type; -}; - -// mean_of_variates(lazy) -> mean_of_variates -template -struct as_feature(lazy)> -{ - typedef tag::mean_of_variates type; -}; - -// mean_of_variates(immediate) -> immediate_mean_of_variates -template -struct as_feature(immediate)> -{ - typedef tag::immediate_mean_of_variates type; -}; - -// for the purposes of feature-based dependency resolution, -// immediate_mean provides the same feature as mean -template<> -struct feature_of - : feature_of -{ -}; - -// for the purposes of feature-based dependency resolution, -// immediate_mean provides the same feature as mean -template<> -struct feature_of - : feature_of -{ -}; - -// for the purposes of feature-based dependency resolution, -// immediate_mean provides the same feature as mean -template -struct feature_of > - : feature_of > -{ -}; - -// So that mean can be automatically substituted with -// weighted_mean when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::weighted_mean type; -}; - -template<> -struct feature_of - : feature_of -{}; - -// So that immediate_mean can be automatically substituted with -// immediate_weighted_mean when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::immediate_weighted_mean type; -}; - -template<> -struct feature_of - : feature_of -{}; - -// So that mean_of_weights<> can be automatically substituted with -// weighted_mean_of_variates<> when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_mean_of_variates type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -// So that immediate_mean_of_weights<> can be automatically substituted with -// immediate_weighted_mean_of_variates<> when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::immediate_weighted_mean_of_variates type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -//////////////////////////////////////////////////////////////////////////// -//// droppable_accumulator -//// need to specialize droppable lazy mean to cache the result at the -//// point the accumulator is dropped. -///// INTERNAL ONLY -///// -//template -//struct droppable_accumulator > -// : droppable_accumulator_base< -// with_cached_result > -// > -//{ -// template -// droppable_accumulator(Args const &args) -// : droppable_accumulator::base(args) -// { -// } -//}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/median.hpp b/external/boost/accumulators/statistics/median.hpp deleted file mode 100644 index d361c6dda..000000000 --- a/external/boost/accumulators/statistics/median.hpp +++ /dev/null @@ -1,301 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// median.hpp -// -// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_MEDIAN_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_MEDIAN_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // median_impl - // - /** - @brief Median estimation based on the \f$P^2\f$ quantile estimator - - The \f$P^2\f$ algorithm is invoked with a quantile probability of 0.5. - */ - template - struct median_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - median_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - return p_square_quantile_for_median(args); - } - }; - /////////////////////////////////////////////////////////////////////////////// - // with_density_median_impl - // - /** - @brief Median estimation based on the density estimator - - The algorithm determines the bin in which the \f$0.5*cnt\f$-th sample lies, \f$cnt\f$ being - the total number of samples. It returns the approximate horizontal position of this sample, - based on a linear interpolation inside the bin. - */ - template - struct with_density_median_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector > histogram_type; - typedef iterator_range range_type; - // for boost::result_of - typedef float_type result_type; - - template - with_density_median_impl(Args const &args) - : sum(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , is_dirty(true) - { - } - - void operator ()(dont_care) - { - this->is_dirty = true; - } - - - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - std::size_t cnt = count(args); - range_type histogram = density(args); - typename range_type::iterator it = histogram.begin(); - while (this->sum < 0.5 * cnt) - { - this->sum += it->second * cnt; - ++it; - } - --it; - float_type over = numeric::fdiv(this->sum - 0.5 * cnt, it->second * cnt); - this->median = it->first * over + (it + 1)->first * (1. - over); - } - - return this->median; - } - - private: - mutable float_type sum; - mutable bool is_dirty; - mutable float_type median; - }; - - /////////////////////////////////////////////////////////////////////////////// - // with_p_square_cumulative_distribution_median_impl - // - /** - @brief Median estimation based on the \f$P^2\f$ cumulative distribution estimator - - The algorithm determines the first (leftmost) bin with a height exceeding 0.5. It - returns the approximate horizontal position of where the cumulative distribution - equals 0.5, based on a linear interpolation inside the bin. - */ - template - struct with_p_square_cumulative_distribution_median_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector > histogram_type; - typedef iterator_range range_type; - // for boost::result_of - typedef float_type result_type; - - with_p_square_cumulative_distribution_median_impl(dont_care) - : is_dirty(true) - { - } - - void operator ()(dont_care) - { - this->is_dirty = true; - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - range_type histogram = p_square_cumulative_distribution(args); - typename range_type::iterator it = histogram.begin(); - while (it->second < 0.5) - { - ++it; - } - float_type over = numeric::fdiv(it->second - 0.5, it->second - (it - 1)->second); - this->median = it->first * over + (it + 1)->first * ( 1. - over ); - } - - return this->median; - } - private: - - mutable bool is_dirty; - mutable float_type median; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::median -// tag::with_densisty_median -// tag::with_p_square_cumulative_distribution_median -// -namespace tag -{ - struct median - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::median_impl impl; - }; - struct with_density_median - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::with_density_median_impl impl; - }; - struct with_p_square_cumulative_distribution_median - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::with_p_square_cumulative_distribution_median_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::median -// extract::with_density_median -// extract::with_p_square_cumulative_distribution_median -// -namespace extract -{ - extractor const median = {}; - extractor const with_density_median = {}; - extractor const with_p_square_cumulative_distribution_median = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(median) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(with_density_median) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(with_p_square_cumulative_distribution_median) -} - -using extract::median; -using extract::with_density_median; -using extract::with_p_square_cumulative_distribution_median; - -// median(with_p_square_quantile) -> median -template<> -struct as_feature -{ - typedef tag::median type; -}; - -// median(with_density) -> with_density_median -template<> -struct as_feature -{ - typedef tag::with_density_median type; -}; - -// median(with_p_square_cumulative_distribution) -> with_p_square_cumulative_distribution_median -template<> -struct as_feature -{ - typedef tag::with_p_square_cumulative_distribution_median type; -}; - -// for the purposes of feature-based dependency resolution, -// with_density_median and with_p_square_cumulative_distribution_median -// provide the same feature as median -template<> -struct feature_of - : feature_of -{ -}; - -template<> -struct feature_of - : feature_of -{ -}; - -// So that median can be automatically substituted with -// weighted_median when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::weighted_median type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -// So that with_density_median can be automatically substituted with -// with_density_weighted_median when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::with_density_weighted_median type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -// So that with_p_square_cumulative_distribution_median can be automatically substituted with -// with_p_square_cumulative_distribution_weighted_median when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::with_p_square_cumulative_distribution_weighted_median type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/min.hpp b/external/boost/accumulators/statistics/min.hpp deleted file mode 100644 index 83943bdb3..000000000 --- a/external/boost/accumulators/statistics/min.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// min.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_MIN_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_MIN_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // min_impl - template - struct min_impl - : accumulator_base - { - // for boost::result_of - typedef Sample result_type; - - template - min_impl(Args const &args) - : min_(numeric::as_max(args[sample | Sample()])) - { - } - - template - void operator ()(Args const &args) - { - numeric::min_assign(this->min_, args[sample]); - } - - result_type result(dont_care) const - { - return this->min_; - } - - private: - Sample min_; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::min -// -namespace tag -{ - struct min - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::min_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::min -// -namespace extract -{ - extractor const min = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(min) -} - -using extract::min; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/moment.hpp b/external/boost/accumulators/statistics/moment.hpp deleted file mode 100644 index 3dabd47ec..000000000 --- a/external/boost/accumulators/statistics/moment.hpp +++ /dev/null @@ -1,125 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// moment.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_MOMENT_HPP_EAN_15_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_MOMENT_HPP_EAN_15_11_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace numeric -{ - /// INTERNAL ONLY - /// - template - T const &pow(T const &x, mpl::int_<1>) - { - return x; - } - - /// INTERNAL ONLY - /// - template - T pow(T const &x, mpl::int_) - { - using namespace operators; - T y = numeric::pow(x, mpl::int_()); - T z = y * y; - return (N % 2) ? (z * x) : z; - } -}} - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // moment_impl - template - struct moment_impl - : accumulator_base // TODO: also depends_on sum of powers - { - BOOST_MPL_ASSERT_RELATION(N::value, >, 0); - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - moment_impl(Args const &args) - : sum(args[sample | Sample()]) - { - } - - template - void operator ()(Args const &args) - { - this->sum += numeric::pow(args[sample], N()); - } - - template - result_type result(Args const &args) const - { - return numeric::fdiv(this->sum, count(args)); - } - - private: - Sample sum; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::moment -// -namespace tag -{ - template - struct moment - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::moment_impl, mpl::_1> impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::moment -// -namespace extract -{ - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, moment, (int)) -} - -using extract::moment; - -// So that moment can be automatically substituted with -// weighted_moment when the weight parameter is non-void -template -struct as_weighted_feature > -{ - typedef tag::weighted_moment type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/p_square_cumul_dist.hpp b/external/boost/accumulators/statistics/p_square_cumul_dist.hpp deleted file mode 100644 index 50692838c..000000000 --- a/external/boost/accumulators/statistics/p_square_cumul_dist.hpp +++ /dev/null @@ -1,263 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// p_square_cumulative_distribution.hpp -// -// Copyright 2005 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ -/////////////////////////////////////////////////////////////////////////////// -// num_cells named parameter -// -BOOST_PARAMETER_NESTED_KEYWORD(tag, p_square_cumulative_distribution_num_cells, num_cells) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_cumulative_distribution_num_cells) - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // p_square_cumulative_distribution_impl - // cumulative_distribution calculation (as histogram) - /** - @brief Histogram calculation of the cumulative distribution with the \f$P^2\f$ algorithm - - A histogram of the sample cumulative distribution is computed dynamically without storing samples - based on the \f$ P^2 \f$ algorithm. The returned histogram has a specifiable amount (num_cells) - equiprobable (and not equal-sized) cells. - - For further details, see - - R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and - histograms without storing observations, Communications of the ACM, - Volume 28 (October), Number 10, 1985, p. 1076-1085. - - @param p_square_cumulative_distribution_num_cells. - */ - template - struct p_square_cumulative_distribution_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector array_type; - typedef std::vector > histogram_type; - // for boost::result_of - typedef iterator_range result_type; - - template - p_square_cumulative_distribution_impl(Args const &args) - : num_cells(args[p_square_cumulative_distribution_num_cells]) - , heights(num_cells + 1) - , actual_positions(num_cells + 1) - , desired_positions(num_cells + 1) - , positions_increments(num_cells + 1) - , histogram(num_cells + 1) - , is_dirty(true) - { - std::size_t b = this->num_cells; - - for (std::size_t i = 0; i < b + 1; ++i) - { - this->actual_positions[i] = i + 1.; - this->desired_positions[i] = i + 1.; - this->positions_increments[i] = numeric::fdiv(i, b); - } - } - - template - void operator ()(Args const &args) - { - this->is_dirty = true; - - std::size_t cnt = count(args); - std::size_t sample_cell = 1; // k - std::size_t b = this->num_cells; - - // accumulate num_cells + 1 first samples - if (cnt <= b + 1) - { - this->heights[cnt - 1] = args[sample]; - - // complete the initialization of heights by sorting - if (cnt == b + 1) - { - std::sort(this->heights.begin(), this->heights.end()); - } - } - else - { - // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values - if (args[sample] < this->heights[0]) - { - this->heights[0] = args[sample]; - sample_cell = 1; - } - else if (this->heights[b] <= args[sample]) - { - this->heights[b] = args[sample]; - sample_cell = b; - } - else - { - typename array_type::iterator it; - it = std::upper_bound( - this->heights.begin() - , this->heights.end() - , args[sample] - ); - - sample_cell = std::distance(this->heights.begin(), it); - } - - // increment positions of markers above sample_cell - for (std::size_t i = sample_cell; i < b + 1; ++i) - { - ++this->actual_positions[i]; - } - - // update desired position of markers 2 to num_cells + 1 - // (desired position of first marker is always 1) - for (std::size_t i = 1; i < b + 1; ++i) - { - this->desired_positions[i] += this->positions_increments[i]; - } - - // adjust heights of markers 2 to num_cells if necessary - for (std::size_t i = 1; i < b; ++i) - { - // offset to desire position - float_type d = this->desired_positions[i] - this->actual_positions[i]; - - // offset to next position - float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; - - // offset to previous position - float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; - - // height ds - float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; - float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; - - if ( ( d >= 1. && dp > 1. ) || ( d <= -1. && dm < -1. ) ) - { - short sign_d = static_cast(d / std::abs(d)); - - // try adjusting heights[i] using p-squared formula - float_type h = this->heights[i] + sign_d / (dp - dm) * ( (sign_d - dm) * hp + (dp - sign_d) * hm ); - - if ( this->heights[i - 1] < h && h < this->heights[i + 1] ) - { - this->heights[i] = h; - } - else - { - // use linear formula - if (d>0) - { - this->heights[i] += hp; - } - if (d<0) - { - this->heights[i] -= hm; - } - } - this->actual_positions[i] += sign_d; - } - } - } - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - // creates a vector of std::pair where each pair i holds - // the values heights[i] (x-axis of histogram) and - // actual_positions[i] / cnt (y-axis of histogram) - - std::size_t cnt = count(args); - - for (std::size_t i = 0; i < this->histogram.size(); ++i) - { - this->histogram[i] = std::make_pair(this->heights[i], numeric::fdiv(this->actual_positions[i], cnt)); - } - } - //return histogram; - return make_iterator_range(this->histogram); - } - - private: - std::size_t num_cells; // number of cells b - array_type heights; // q_i - array_type actual_positions; // n_i - array_type desired_positions; // n'_i - array_type positions_increments; // dn'_i - mutable histogram_type histogram; // histogram - mutable bool is_dirty; - }; - -} // namespace detail - -/////////////////////////////////////////////////////////////////////////////// -// tag::p_square_cumulative_distribution -// -namespace tag -{ - struct p_square_cumulative_distribution - : depends_on - , p_square_cumulative_distribution_num_cells - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::p_square_cumulative_distribution_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::p_square_cumulative_distribution -// -namespace extract -{ - extractor const p_square_cumulative_distribution = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_cumulative_distribution) -} - -using extract::p_square_cumulative_distribution; - -// So that p_square_cumulative_distribution can be automatically substituted with -// weighted_p_square_cumulative_distribution when the weight parameter is non-void -template<> -struct as_weighted_feature -{ - typedef tag::weighted_p_square_cumulative_distribution type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp b/external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp deleted file mode 100644 index 5e08b5129..000000000 --- a/external/boost/accumulators/statistics/p_square_cumulative_distribution.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// p_square_cumulative_distribution.hpp -// -// Copyright 2012 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 -#define BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 - -#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) -# pragma message ("Warning: This header is deprecated. Please use: boost/accumulators/statistics/p_square_cumul_dist.hpp") -#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) -# warning "This header is deprecated. Please use: boost/accumulators/statistics/p_square_cumul_dist.hpp" -#endif - -#include - -#endif diff --git a/external/boost/accumulators/statistics/p_square_quantile.hpp b/external/boost/accumulators/statistics/p_square_quantile.hpp deleted file mode 100644 index 636fea7f2..000000000 --- a/external/boost/accumulators/statistics/p_square_quantile.hpp +++ /dev/null @@ -1,257 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// p_square_quantile.hpp -// -// Copyright 2005 Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // p_square_quantile_impl - // single quantile estimation - /** - @brief Single quantile estimation with the \f$P^2\f$ algorithm - - The \f$P^2\f$ algorithm estimates a quantile dynamically without storing samples. Instead of - storing the whole sample cumulative distribution, only five points (markers) are stored. The heights - of these markers are the minimum and the maximum of the samples and the current estimates of the - \f$(p/2)\f$-, \f$p\f$- and \f$(1+p)/2\f$-quantiles. Their positions are equal to the number - of samples that are smaller or equal to the markers. Each time a new samples is recorded, the - positions of the markers are updated and if necessary their heights are adjusted using a piecewise- - parabolic formula. - - For further details, see - - R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and - histograms without storing observations, Communications of the ACM, - Volume 28 (October), Number 10, 1985, p. 1076-1085. - - @param quantile_probability - */ - template - struct p_square_quantile_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef array array_type; - // for boost::result_of - typedef float_type result_type; - - template - p_square_quantile_impl(Args const &args) - : p(is_same::value ? 0.5 : args[quantile_probability | 0.5]) - , heights() - , actual_positions() - , desired_positions() - , positions_increments() - { - for(std::size_t i = 0; i < 5; ++i) - { - this->actual_positions[i] = i + 1.; - } - - this->desired_positions[0] = 1.; - this->desired_positions[1] = 1. + 2. * this->p; - this->desired_positions[2] = 1. + 4. * this->p; - this->desired_positions[3] = 3. + 2. * this->p; - this->desired_positions[4] = 5.; - - this->positions_increments[0] = 0.; - this->positions_increments[1] = this->p / 2.; - this->positions_increments[2] = this->p; - this->positions_increments[3] = (1. + this->p) / 2.; - this->positions_increments[4] = 1.; - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - - // accumulate 5 first samples - if(cnt <= 5) - { - this->heights[cnt - 1] = args[sample]; - - // complete the initialization of heights by sorting - if(cnt == 5) - { - std::sort(this->heights.begin(), this->heights.end()); - } - } - else - { - std::size_t sample_cell = 1; // k - - // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values - if (args[sample] < this->heights[0]) - { - this->heights[0] = args[sample]; - sample_cell = 1; - } - else if (this->heights[4] <= args[sample]) - { - this->heights[4] = args[sample]; - sample_cell = 4; - } - else - { - typedef typename array_type::iterator iterator; - iterator it = std::upper_bound( - this->heights.begin() - , this->heights.end() - , args[sample] - ); - - sample_cell = std::distance(this->heights.begin(), it); - } - - // update positions of markers above sample_cell - for(std::size_t i = sample_cell; i < 5; ++i) - { - ++this->actual_positions[i]; - } - - // update desired positions of all markers - for(std::size_t i = 0; i < 5; ++i) - { - this->desired_positions[i] += this->positions_increments[i]; - } - - // adjust heights and actual positions of markers 1 to 3 if necessary - for(std::size_t i = 1; i <= 3; ++i) - { - // offset to desired positions - float_type d = this->desired_positions[i] - this->actual_positions[i]; - - // offset to next position - float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; - - // offset to previous position - float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; - - // height ds - float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; - float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; - - if((d >= 1. && dp > 1.) || (d <= -1. && dm < -1.)) - { - short sign_d = static_cast(d / std::abs(d)); - - // try adjusting heights[i] using p-squared formula - float_type h = this->heights[i] + sign_d / (dp - dm) * ((sign_d - dm) * hp - + (dp - sign_d) * hm); - - if(this->heights[i - 1] < h && h < this->heights[i + 1]) - { - this->heights[i] = h; - } - else - { - // use linear formula - if(d > 0) - { - this->heights[i] += hp; - } - if(d < 0) - { - this->heights[i] -= hm; - } - } - this->actual_positions[i] += sign_d; - } - } - } - } - - result_type result(dont_care) const - { - return this->heights[2]; - } - - private: - float_type p; // the quantile probability p - array_type heights; // q_i - array_type actual_positions; // n_i - array_type desired_positions; // n'_i - array_type positions_increments; // dn'_i - }; - -} // namespace detail - -/////////////////////////////////////////////////////////////////////////////// -// tag::p_square_quantile -// -namespace tag -{ - struct p_square_quantile - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::p_square_quantile_impl impl; - }; - struct p_square_quantile_for_median - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::p_square_quantile_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::p_square_quantile -// extract::p_square_quantile_for_median -// -namespace extract -{ - extractor const p_square_quantile = {}; - extractor const p_square_quantile_for_median = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_quantile) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(p_square_quantile_for_median) -} - -using extract::p_square_quantile; -using extract::p_square_quantile_for_median; - -// So that p_square_quantile can be automatically substituted with -// weighted_p_square_quantile when the weight parameter is non-void -template<> -struct as_weighted_feature -{ - typedef tag::weighted_p_square_quantile type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/parameters/quantile_probability.hpp b/external/boost/accumulators/statistics/parameters/quantile_probability.hpp deleted file mode 100644 index e8792642e..000000000 --- a/external/boost/accumulators/statistics/parameters/quantile_probability.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// quantile_probability.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_PARAMETERS_QUANTILE_PROBABILITY_HPP_EAN_03_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_PARAMETERS_QUANTILE_PROBABILITY_HPP_EAN_03_11_2005 - -#include -#include - -namespace boost { namespace accumulators -{ - -BOOST_PARAMETER_KEYWORD(tag, quantile_probability) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(quantile_probability) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/peaks_over_threshold.hpp b/external/boost/accumulators/statistics/peaks_over_threshold.hpp deleted file mode 100644 index f04f743a0..000000000 --- a/external/boost/accumulators/statistics/peaks_over_threshold.hpp +++ /dev/null @@ -1,405 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// peaks_over_threshold.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include // pow -#include // stringstream -#include // runtime_error -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -/////////////////////////////////////////////////////////////////////////////// -// threshold_probability and threshold named parameters -// -BOOST_PARAMETER_NESTED_KEYWORD(tag, pot_threshold_value, threshold_value) -BOOST_PARAMETER_NESTED_KEYWORD(tag, pot_threshold_probability, threshold_probability) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(pot_threshold_value) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(pot_threshold_probability) - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // peaks_over_threshold_impl - // works with an explicit threshold value and does not depend on order statistics - /** - @brief Peaks over Threshold Method for Quantile and Tail Mean Estimation - - According to the theorem of Pickands-Balkema-de Haan, the distribution function \f$F_u(x)\f$ of - the excesses \f$x\f$ over some sufficiently high threshold \f$u\f$ of a distribution function \f$F(x)\f$ - may be approximated by a generalized Pareto distribution - \f[ - G_{\xi,\beta}(x) = - \left\{ - \begin{array}{ll} - \beta^{-1}\left(1+\frac{\xi x}{\beta}\right)^{-1/\xi-1} & \textrm{if }\xi\neq0\\ - \beta^{-1}\exp\left(-\frac{x}{\beta}\right) & \textrm{if }\xi=0, - \end{array} - \right. - \f] - with suitable parameters \f$\xi\f$ and \f$\beta\f$ that can be estimated, e.g., with the method of moments, cf. - Hosking and Wallis (1987), - \f[ - \begin{array}{lll} - \hat{\xi} & = & \frac{1}{2}\left[1-\frac{(\hat{\mu}-u)^2}{\hat{\sigma}^2}\right]\\ - \hat{\beta} & = & \frac{\hat{\mu}-u}{2}\left[\frac{(\hat{\mu}-u)^2}{\hat{\sigma}^2}+1\right], - \end{array} - \f] - \f$\hat{\mu}\f$ and \f$\hat{\sigma}^2\f$ being the empirical mean and variance of the samples over - the threshold \f$u\f$. Equivalently, the distribution function - \f$F_u(x-u)\f$ of the exceedances \f$x-u\f$ can be approximated by - \f$G_{\xi,\beta}(x-u)=G_{\xi,\beta,u}(x)\f$. Since for \f$x\geq u\f$ the distribution function \f$F(x)\f$ - can be written as - \f[ - F(x) = [1 - \P(X \leq u)]F_u(x - u) + \P(X \leq u) - \f] - and the probability \f$\P(X \leq u)\f$ can be approximated by the empirical distribution function - \f$F_n(u)\f$ evaluated at \f$u\f$, an estimator of \f$F(x)\f$ is given by - \f[ - \widehat{F}(x) = [1 - F_n(u)]G_{\xi,\beta,u}(x) + F_n(u). - \f] - It can be shown that \f$\widehat{F}(x)\f$ is a generalized - Pareto distribution \f$G_{\xi,\bar{\beta},\bar{u}}(x)\f$ with \f$\bar{\beta}=\beta[1-F_n(u)]^{\xi}\f$ - and \f$\bar{u}=u-\bar{\beta}\left\{[1-F_n(u)]^{-\xi}-1\right\}/\xi\f$. By inverting \f$\widehat{F}(x)\f$, - one obtains an estimator for the \f$\alpha\f$-quantile, - \f[ - \hat{q}_{\alpha} = \bar{u} + \frac{\bar{\beta}}{\xi}\left[(1-\alpha)^{-\xi}-1\right], - \f] - and similarly an estimator for the (coherent) tail mean, - \f[ - \widehat{CTM}_{\alpha} = \hat{q}_{\alpha} - \frac{\bar{\beta}}{\xi-1}(1-\alpha)^{-\xi}, - \f] - cf. McNeil and Frey (2000). - - Note that in case extreme values of the left tail are fitted, the distribution is mirrored with respect to the - \f$y\f$ axis such that the left tail can be treated as a right tail. The computed fit parameters thus define - the Pareto distribution that fits the mirrored left tail. When quantities like a quantile or a tail mean are - computed using the fit parameters obtained from the mirrored data, the result is mirrored back, yielding the - correct result. - - For further details, see - - J. R. M. Hosking and J. R. Wallis, Parameter and quantile estimation for the generalized Pareto distribution, - Technometrics, Volume 29, 1987, p. 339-349 - - A. J. McNeil and R. Frey, Estimation of Tail-Related Risk Measures for Heteroscedastic Financial Time Series: - an Extreme Value Approach, Journal of Empirical Finance, Volume 7, 2000, p. 271-300 - - @param quantile_probability - @param pot_threshold_value - */ - template - struct peaks_over_threshold_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef boost::tuple result_type; - // for left tail fitting, mirror the extreme values - typedef mpl::int_::value ? -1 : 1> sign; - - template - peaks_over_threshold_impl(Args const &args) - : Nu_(0) - , mu_(sign::value * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , threshold_(sign::value * args[pot_threshold_value]) - , fit_parameters_(boost::make_tuple(0., 0., 0.)) - , is_dirty_(true) - { - } - - template - void operator ()(Args const &args) - { - this->is_dirty_ = true; - - if (sign::value * args[sample] > this->threshold_) - { - this->mu_ += args[sample]; - this->sigma2_ += args[sample] * args[sample]; - ++this->Nu_; - } - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty_) - { - this->is_dirty_ = false; - - std::size_t cnt = count(args); - - this->mu_ = sign::value * numeric::fdiv(this->mu_, this->Nu_); - this->sigma2_ = numeric::fdiv(this->sigma2_, this->Nu_); - this->sigma2_ -= this->mu_ * this->mu_; - - float_type threshold_probability = numeric::fdiv(cnt - this->Nu_, cnt); - - float_type tmp = numeric::fdiv(( this->mu_ - this->threshold_ )*( this->mu_ - this->threshold_ ), this->sigma2_); - float_type xi_hat = 0.5 * ( 1. - tmp ); - float_type beta_hat = 0.5 * ( this->mu_ - this->threshold_ ) * ( 1. + tmp ); - float_type beta_bar = beta_hat * std::pow(1. - threshold_probability, xi_hat); - float_type u_bar = this->threshold_ - beta_bar * ( std::pow(1. - threshold_probability, -xi_hat) - 1.)/xi_hat; - this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); - } - - return this->fit_parameters_; - } - - private: - std::size_t Nu_; // number of samples larger than threshold - mutable float_type mu_; // mean of Nu_ largest samples - mutable float_type sigma2_; // variance of Nu_ largest samples - float_type threshold_; - mutable result_type fit_parameters_; // boost::tuple that stores fit parameters - mutable bool is_dirty_; - }; - - /////////////////////////////////////////////////////////////////////////////// - // peaks_over_threshold_prob_impl - // determines threshold from a given threshold probability using order statistics - /** - @brief Peaks over Threshold Method for Quantile and Tail Mean Estimation - - @sa peaks_over_threshold_impl - - @param quantile_probability - @param pot_threshold_probability - */ - template - struct peaks_over_threshold_prob_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef boost::tuple result_type; - // for left tail fitting, mirror the extreme values - typedef mpl::int_::value ? -1 : 1> sign; - - template - peaks_over_threshold_prob_impl(Args const &args) - : mu_(sign::value * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , threshold_probability_(args[pot_threshold_probability]) - , fit_parameters_(boost::make_tuple(0., 0., 0.)) - , is_dirty_(true) - { - } - - void operator ()(dont_care) - { - this->is_dirty_ = true; - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty_) - { - this->is_dirty_ = false; - - std::size_t cnt = count(args); - - // the n'th cached sample provides an approximate threshold value u - std::size_t n = static_cast( - std::ceil( - cnt * ( ( is_same::value ) ? this->threshold_probability_ : 1. - this->threshold_probability_ ) - ) - ); - - // If n is in a valid range, return result, otherwise return NaN or throw exception - if ( n >= static_cast(tail(args).size())) - { - if (std::numeric_limits::has_quiet_NaN) - { - return boost::make_tuple( - std::numeric_limits::quiet_NaN() - , std::numeric_limits::quiet_NaN() - , std::numeric_limits::quiet_NaN() - ); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - return boost::make_tuple(Sample(0), Sample(0), Sample(0)); - } - } - else - { - float_type u = *(tail(args).begin() + n - 1) * sign::value; - - // compute mean and variance of samples above/under threshold value u - for (std::size_t i = 0; i < n; ++i) - { - mu_ += *(tail(args).begin() + i); - sigma2_ += *(tail(args).begin() + i) * (*(tail(args).begin() + i)); - } - - this->mu_ = sign::value * numeric::fdiv(this->mu_, n); - this->sigma2_ = numeric::fdiv(this->sigma2_, n); - this->sigma2_ -= this->mu_ * this->mu_; - - if (is_same::value) - this->threshold_probability_ = 1. - this->threshold_probability_; - - float_type tmp = numeric::fdiv(( this->mu_ - u )*( this->mu_ - u ), this->sigma2_); - float_type xi_hat = 0.5 * ( 1. - tmp ); - float_type beta_hat = 0.5 * ( this->mu_ - u ) * ( 1. + tmp ); - float_type beta_bar = beta_hat * std::pow(1. - threshold_probability_, xi_hat); - float_type u_bar = u - beta_bar * ( std::pow(1. - threshold_probability_, -xi_hat) - 1.)/xi_hat; - this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); - } - } - - return this->fit_parameters_; - } - - private: - mutable float_type mu_; // mean of samples above threshold u - mutable float_type sigma2_; // variance of samples above threshold u - mutable float_type threshold_probability_; - mutable result_type fit_parameters_; // boost::tuple that stores fit parameters - mutable bool is_dirty_; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::peaks_over_threshold -// -namespace tag -{ - template - struct peaks_over_threshold - : depends_on - , pot_threshold_value - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::peaks_over_threshold_impl impl; - }; - - template - struct peaks_over_threshold_prob - : depends_on > - , pot_threshold_probability - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::peaks_over_threshold_prob_impl impl; - }; - - struct abstract_peaks_over_threshold - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::peaks_over_threshold -// -namespace extract -{ - extractor const peaks_over_threshold = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(peaks_over_threshold) -} - -using extract::peaks_over_threshold; - -// peaks_over_threshold(with_threshold_value) -> peaks_over_threshold -template -struct as_feature(with_threshold_value)> -{ - typedef tag::peaks_over_threshold type; -}; - -// peaks_over_threshold(with_threshold_probability) -> peaks_over_threshold_prob -template -struct as_feature(with_threshold_probability)> -{ - typedef tag::peaks_over_threshold_prob type; -}; - -template -struct feature_of > - : feature_of -{ -}; - -template -struct feature_of > - : feature_of -{ -}; - -// So that peaks_over_threshold can be automatically substituted -// with weighted_peaks_over_threshold when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_peaks_over_threshold type; -}; - -template -struct feature_of > - : feature_of > -{}; - -// So that peaks_over_threshold_prob can be automatically substituted -// with weighted_peaks_over_threshold_prob when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_peaks_over_threshold_prob type; -}; - -template -struct feature_of > - : feature_of > -{}; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/pot_quantile.hpp b/external/boost/accumulators/statistics/pot_quantile.hpp deleted file mode 100644 index 470bdbace..000000000 --- a/external/boost/accumulators/statistics/pot_quantile.hpp +++ /dev/null @@ -1,205 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// pot_quantile.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_POT_QUANTILE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_POT_QUANTILE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // pot_quantile_impl - // - /** - @brief Quantile Estimation based on Peaks over Threshold Method (for both left and right tails) - - Computes an estimate - \f[ - \hat{q}_{\alpha} = \bar{u} + \frac{\bar{\beta}}{\xi}\left[(1-\alpha)^{-\xi}-1\right] - \f] - for a right or left extreme quantile, \f$\bar[u]\f$, \f$\bar{\beta}\f$ and \f$\xi\f$ being the parameters of the - generalized Pareto distribution that approximates the right tail of the distribution (or the mirrored left tail, - in case the left tail is used). In the latter case, the result is mirrored back, yielding the correct result. - */ - template - struct pot_quantile_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef float_type result_type; - - pot_quantile_impl(dont_care) - : sign_((is_same::value) ? -1 : 1) - { - } - - template - result_type result(Args const &args) const - { - typedef - typename mpl::if_< - is_same - , tag::weighted_peaks_over_threshold - , tag::peaks_over_threshold - >::type - peaks_over_threshold_tag; - - extractor const some_peaks_over_threshold = {}; - - float_type u_bar = some_peaks_over_threshold(args).template get<0>(); - float_type beta_bar = some_peaks_over_threshold(args).template get<1>(); - float_type xi_hat = some_peaks_over_threshold(args).template get<2>(); - - return this->sign_ * (u_bar + beta_bar/xi_hat * ( std::pow( - is_same::value ? args[quantile_probability] : 1. - args[quantile_probability] - , -xi_hat - ) - 1.)); - } - - private: - short sign_; // if the fit parameters from the mirrored left tail extreme values are used, mirror back the result - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::pot_quantile<> -// tag::pot_quantile_prob<> -// tag::weighted_pot_quantile<> -// tag::weighted_pot_quantile_prob<> -// -namespace tag -{ - template - struct pot_quantile - : depends_on > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_quantile_impl impl; - }; - template - struct pot_quantile_prob - : depends_on > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_quantile_impl impl; - }; - template - struct weighted_pot_quantile - : depends_on > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_quantile_impl impl; - }; - template - struct weighted_pot_quantile_prob - : depends_on > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_quantile_impl impl; - }; -} - -// pot_quantile(with_threshold_value) -> pot_quantile -template -struct as_feature(with_threshold_value)> -{ - typedef tag::pot_quantile type; -}; - -// pot_quantile(with_threshold_probability) -> pot_quantile_prob -template -struct as_feature(with_threshold_probability)> -{ - typedef tag::pot_quantile_prob type; -}; - -// weighted_pot_quantile(with_threshold_value) -> weighted_pot_quantile -template -struct as_feature(with_threshold_value)> -{ - typedef tag::weighted_pot_quantile type; -}; - -// weighted_pot_quantile(with_threshold_probability) -> weighted_pot_quantile_prob -template -struct as_feature(with_threshold_probability)> -{ - typedef tag::weighted_pot_quantile_prob type; -}; - -// for the purposes of feature-based dependency resolution, -// pot_quantile and pot_quantile_prob provide -// the same feature as quantile -template -struct feature_of > - : feature_of -{ -}; - -template -struct feature_of > - : feature_of -{ -}; - -// So that pot_quantile can be automatically substituted -// with weighted_pot_quantile when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_pot_quantile type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -// So that pot_quantile_prob can be automatically substituted -// with weighted_pot_quantile_prob when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_pot_quantile_prob type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/pot_tail_mean.hpp b/external/boost/accumulators/statistics/pot_tail_mean.hpp deleted file mode 100644 index a78043fce..000000000 --- a/external/boost/accumulators/statistics/pot_tail_mean.hpp +++ /dev/null @@ -1,211 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// pot_tail_mean.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_POT_TAIL_MEAN_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_POT_TAIL_MEAN_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // pot_tail_mean_impl - // - /** - @brief Estimation of the (coherent) tail mean based on the peaks over threshold method (for both left and right tails) - - Computes an estimate for the (coherent) tail mean - \f[ - \widehat{CTM}_{\alpha} = \hat{q}_{\alpha} - \frac{\bar{\beta}}{\xi-1}(1-\alpha)^{-\xi}, - \f] - where \f$\bar[u]\f$, \f$\bar{\beta}\f$ and \f$\xi\f$ are the parameters of the - generalized Pareto distribution that approximates the right tail of the distribution (or the - mirrored left tail, in case the left tail is used). In the latter case, the result is mirrored - back, yielding the correct result. - */ - template - struct pot_tail_mean_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef float_type result_type; - - pot_tail_mean_impl(dont_care) - : sign_((is_same::value) ? -1 : 1) - { - } - - template - result_type result(Args const &args) const - { - typedef - typename mpl::if_< - is_same - , tag::weighted_peaks_over_threshold - , tag::peaks_over_threshold - >::type - peaks_over_threshold_tag; - - typedef - typename mpl::if_< - is_same - , tag::weighted_pot_quantile - , tag::pot_quantile - >::type - pot_quantile_tag; - - extractor const some_peaks_over_threshold = {}; - extractor const some_pot_quantile = {}; - - float_type beta_bar = some_peaks_over_threshold(args).template get<1>(); - float_type xi_hat = some_peaks_over_threshold(args).template get<2>(); - - return some_pot_quantile(args) - this->sign_ * beta_bar/( xi_hat - 1. ) * std::pow( - is_same::value ? args[quantile_probability] : 1. - args[quantile_probability] - , -xi_hat); - } - private: - short sign_; // if the fit parameters from the mirrored left tail extreme values are used, mirror back the result - }; -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::pot_tail_mean -// tag::pot_tail_mean_prob -// -namespace tag -{ - template - struct pot_tail_mean - : depends_on, pot_quantile > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_tail_mean_impl impl; - }; - template - struct pot_tail_mean_prob - : depends_on, pot_quantile_prob > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_tail_mean_impl impl; - }; - template - struct weighted_pot_tail_mean - : depends_on, weighted_pot_quantile > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_tail_mean_impl impl; - }; - template - struct weighted_pot_tail_mean_prob - : depends_on, weighted_pot_quantile_prob > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::pot_tail_mean_impl impl; - }; -} - -// pot_tail_mean(with_threshold_value) -> pot_tail_mean -template -struct as_feature(with_threshold_value)> -{ - typedef tag::pot_tail_mean type; -}; - -// pot_tail_mean(with_threshold_probability) -> pot_tail_mean_prob -template -struct as_feature(with_threshold_probability)> -{ - typedef tag::pot_tail_mean_prob type; -}; - -// weighted_pot_tail_mean(with_threshold_value) -> weighted_pot_tail_mean -template -struct as_feature(with_threshold_value)> -{ - typedef tag::weighted_pot_tail_mean type; -}; - -// weighted_pot_tail_mean(with_threshold_probability) -> weighted_pot_tail_mean_prob -template -struct as_feature(with_threshold_probability)> -{ - typedef tag::weighted_pot_tail_mean_prob type; -}; - -// for the purposes of feature-based dependency resolution, -// pot_tail_mean and pot_tail_mean_prob provide -// the same feature as tail_mean -template -struct feature_of > - : feature_of -{ -}; - -template -struct feature_of > - : feature_of -{ -}; - -// So that pot_tail_mean can be automatically substituted -// with weighted_pot_tail_mean when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_pot_tail_mean type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -// So that pot_tail_mean_prob can be automatically substituted -// with weighted_pot_tail_mean_prob when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_pot_tail_mean_prob type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/rolling_count.hpp b/external/boost/accumulators/statistics/rolling_count.hpp deleted file mode 100644 index 1e34f7635..000000000 --- a/external/boost/accumulators/statistics/rolling_count.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// rolling_count.hpp -// -// Copyright 2008 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_COUNT_HPP_EAN_26_12_2008 -#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_COUNT_HPP_EAN_26_12_2008 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - - /////////////////////////////////////////////////////////////////////////////// - // rolling_count_impl - // returns the count of elements in the rolling window - template - struct rolling_count_impl - : accumulator_base - { - typedef std::size_t result_type; - - rolling_count_impl(dont_care) - {} - - template - result_type result(Args const &args) const - { - return static_cast(rolling_window_plus1(args).size()) - is_rolling_window_plus1_full(args); - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::rolling_count -// -namespace tag -{ - struct rolling_count - : depends_on< rolling_window_plus1 > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::rolling_count_impl< mpl::_1 > impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::window_size named parameter - static boost::parameter::keyword const window_size; - #endif - }; -} // namespace tag - -/////////////////////////////////////////////////////////////////////////////// -// extract::rolling_count -// -namespace extract -{ - extractor const rolling_count = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_count) -} - -using extract::rolling_count; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/rolling_mean.hpp b/external/boost/accumulators/statistics/rolling_mean.hpp deleted file mode 100644 index 1439da1e2..000000000 --- a/external/boost/accumulators/statistics/rolling_mean.hpp +++ /dev/null @@ -1,179 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// rolling_mean.hpp -// Copyright (C) 2008 Eric Niebler. -// Copyright (C) 2012 Pieter Bastiaan Ober (Integricom). -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_MEAN_HPP_EAN_26_12_2008 -#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_MEAN_HPP_EAN_26_12_2008 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - namespace impl - { - /////////////////////////////////////////////////////////////////////////////// - // lazy_rolling_mean_impl - // returns the mean over the rolling window and is calculated only - // when the result is requested - template - struct lazy_rolling_mean_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - lazy_rolling_mean_impl(dont_care) - { - } - - template - result_type result(Args const &args) const - { - return numeric::fdiv(rolling_sum(args), rolling_count(args)); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // immediate_rolling_mean_impl - // The non-lazy version computes the rolling mean recursively when a new - // sample is added - template - struct immediate_rolling_mean_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - immediate_rolling_mean_impl(Args const &args) - : mean_(numeric::fdiv(args[sample | Sample()],numeric::one::value)) - { - } - - template - void operator()(Args const &args) - { - if(is_rolling_window_plus1_full(args)) - { - mean_ += numeric::fdiv(args[sample]-rolling_window_plus1(args).front(),rolling_count(args)); - } - else - { - result_type prev_mean = mean_; - mean_ += numeric::fdiv(args[sample]-prev_mean,rolling_count(args)); - } - } - - template - result_type result(Args const &) const - { - return mean_; - } - - private: - - result_type mean_; - }; - } // namespace impl - - /////////////////////////////////////////////////////////////////////////////// - // tag::lazy_rolling_mean - // tag::immediate_rolling_mean - // tag::rolling_mean - // - namespace tag - { - struct lazy_rolling_mean - : depends_on< rolling_sum, rolling_count > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::lazy_rolling_mean_impl< mpl::_1 > impl; - -#ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::window_size named parameter - static boost::parameter::keyword const window_size; -#endif - }; - - struct immediate_rolling_mean - : depends_on< rolling_window_plus1, rolling_count> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::immediate_rolling_mean_impl< mpl::_1> impl; - -#ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::window_size named parameter - static boost::parameter::keyword const window_size; -#endif - }; - - // make immediate_rolling_mean the default implementation - struct rolling_mean : immediate_rolling_mean {}; - } // namespace tag - - /////////////////////////////////////////////////////////////////////////////// - // extract::lazy_rolling_mean - // extract::immediate_rolling_mean - // extract::rolling_mean - // - namespace extract - { - extractor const lazy_rolling_mean = {}; - extractor const immediate_rolling_mean = {}; - extractor const rolling_mean = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_rolling_mean) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(immediate_rolling_mean) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_mean) - } - - using extract::lazy_rolling_mean; - using extract::immediate_rolling_mean; - using extract::rolling_mean; - - // rolling_mean(lazy) -> lazy_rolling_mean - template<> - struct as_feature - { - typedef tag::lazy_rolling_mean type; - }; - - // rolling_mean(immediate) -> immediate_rolling_mean - template<> - struct as_feature - { - typedef tag::immediate_rolling_mean type; - }; - - // for the purposes of feature-based dependency resolution, - // immediate_rolling_mean provides the same feature as rolling_mean - template<> - struct feature_of - : feature_of - { - }; - - // for the purposes of feature-based dependency resolution, - // lazy_rolling_mean provides the same feature as rolling_mean - template<> - struct feature_of - : feature_of - { - }; -}} // namespace boost::accumulators - -#endif \ No newline at end of file diff --git a/external/boost/accumulators/statistics/rolling_moment.hpp b/external/boost/accumulators/statistics/rolling_moment.hpp deleted file mode 100644 index f172cee34..000000000 --- a/external/boost/accumulators/statistics/rolling_moment.hpp +++ /dev/null @@ -1,113 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// rolling_moment.hpp -// Copyright 2005 Eric Niebler. -// Copyright (C) 2014 Pieter Bastiaan Ober (Integricom). -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_MOMENT_HPP_EAN_27_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_MOMENT_HPP_EAN_27_11_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // rolling_moment_impl - template - struct rolling_moment_impl - : accumulator_base - { - BOOST_MPL_ASSERT_RELATION(N::value, >, 0); - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - rolling_moment_impl(Args const &args) - : sum_(args[sample | Sample()]) - { - } - - template - void operator ()(Args const &args) - { - if(is_rolling_window_plus1_full(args)) - { - this->sum_ -= numeric::pow(rolling_window_plus1(args).front(), N()); - } - this->sum_ += numeric::pow(args[sample], N()); - } - - template - result_type result(Args const &args) const - { - return numeric::fdiv(this->sum_, rolling_count(args)); - } - - private: - result_type sum_; - }; -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::rolling_moment -// -namespace tag -{ - template - struct rolling_moment - : depends_on< rolling_window_plus1, rolling_count> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::rolling_moment_impl, mpl::_1> impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::window_size named parameter - static boost::parameter::keyword const window_size; - #endif - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::rolling_moment -// -namespace extract -{ - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, rolling_moment, (int)) -} - -using extract::rolling_moment; - -// There is no weighted_rolling_moment (yet)... -// -//// So that rolling_moment can be automatically substituted with -//// weighted_rolling_moment when the weight parameter is non-void -//template -//struct as_weighted_feature > -//{ -// typedef tag::weighted_rolling_moment type; -//}; -// -//template -//struct feature_of > -// : feature_of > -//{ -//}; -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/rolling_sum.hpp b/external/boost/accumulators/statistics/rolling_sum.hpp deleted file mode 100644 index bbb7a8e9a..000000000 --- a/external/boost/accumulators/statistics/rolling_sum.hpp +++ /dev/null @@ -1,91 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// rolling_sum.hpp -// -// Copyright 2008 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_SUM_HPP_EAN_26_12_2008 -#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_SUM_HPP_EAN_26_12_2008 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // rolling_sum_impl - // returns the sum of the samples in the rolling window - template - struct rolling_sum_impl - : accumulator_base - { - typedef Sample result_type; - - template - rolling_sum_impl(Args const &args) - : sum_(args[sample | Sample()]) - {} - - template - void operator ()(Args const &args) - { - if(is_rolling_window_plus1_full(args)) - { - this->sum_ -= rolling_window_plus1(args).front(); - } - this->sum_ += args[sample]; - } - - template - result_type result(Args const & /*args*/) const - { - return this->sum_; - } - - private: - Sample sum_; - }; -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::rolling_sum -// -namespace tag -{ - struct rolling_sum - : depends_on< rolling_window_plus1 > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::rolling_sum_impl< mpl::_1 > impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::window_size named parameter - static boost::parameter::keyword const window_size; - #endif - }; -} // namespace tag - -/////////////////////////////////////////////////////////////////////////////// -// extract::rolling_sum -// -namespace extract -{ - extractor const rolling_sum = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_sum) -} - -using extract::rolling_sum; -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/rolling_variance.hpp b/external/boost/accumulators/statistics/rolling_variance.hpp deleted file mode 100644 index 33b3922a5..000000000 --- a/external/boost/accumulators/statistics/rolling_variance.hpp +++ /dev/null @@ -1,247 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// rolling_variance.hpp -// Copyright (C) 2005 Eric Niebler -// Copyright (C) 2014 Pieter Bastiaan Ober (Integricom). -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_VARIANCE_HPP_EAN_15_11_2011 -#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_VARIANCE_HPP_EAN_15_11_2011 - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -namespace boost { namespace accumulators -{ -namespace impl -{ - //! Immediate (lazy) calculation of the rolling variance. - /*! - Calculation of sample variance \f$\sigma_n^2\f$ is done as follows, see also - http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance. - For a rolling window of size \f$N\f$, when \f$n <= N\f$, the variance is computed according to the formula - \f[ - \sigma_n^2 = \frac{1}{n-1} \sum_{i = 1}^n (x_i - \mu_n)^2. - \f] - When \f$n > N\f$, the sample variance over the window becomes: - \f[ - \sigma_n^2 = \frac{1}{N-1} \sum_{i = n-N+1}^n (x_i - \mu_n)^2. - \f] - */ - /////////////////////////////////////////////////////////////////////////////// - // lazy_rolling_variance_impl - // - template - struct lazy_rolling_variance_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - lazy_rolling_variance_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - result_type mean = rolling_mean(args); - size_t nr_samples = rolling_count(args); - if (nr_samples < 2) return result_type(); - return nr_samples*(rolling_moment<2>(args) - mean*mean)/(nr_samples-1); - } - }; - - //! Iterative calculation of the rolling variance. - /*! - Iterative calculation of sample variance \f$\sigma_n^2\f$ is done as follows, see also - http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance. - For a rolling window of size \f$N\f$, for the first \f$N\f$ samples, the variance is computed according to the formula - \f[ - \sigma_n^2 = \frac{1}{n-1} \sum_{i = 1}^n (x_i - \mu_n)^2 = \frac{1}{n-1}M_{2,n}, - \f] - where the sum of squares \f$M_{2,n}\f$ can be recursively computed as: - \f[ - M_{2,n} = \sum_{i = 1}^n (x_i - \mu_n)^2 = M_{2,n-1} + (x_n - \mu_n)(x_n - \mu_{n-1}), - \f] - and the estimate of the sample mean as: - \f[ - \mu_n = \frac{1}{n} \sum_{i = 1}^n x_i = \mu_{n-1} + \frac{1}{n}(x_n - \mu_{n-1}). - \f] - For further samples, when the rolling window is fully filled with data, one has to take into account that the oldest - sample \f$x_{n-N}\f$ is dropped from the window. The sample variance over the window now becomes: - \f[ - \sigma_n^2 = \frac{1}{N-1} \sum_{i = n-N+1}^n (x_i - \mu_n)^2 = \frac{1}{n-1}M_{2,n}, - \f] - where the sum of squares \f$M_{2,n}\f$ now equals: - \f[ - M_{2,n} = \sum_{i = n-N+1}^n (x_i - \mu_n)^2 = M_{2,n-1} + (x_n - \mu_n)(x_n - \mu_{n-1}) - (x_{n-N} - \mu_n)(x_{n-N} - \mu_{n-1}), - \f] - and the estimated mean is: - \f[ - \mu_n = \frac{1}{N} \sum_{i = n-N+1}^n x_i = \mu_{n-1} + \frac{1}{n}(x_n - x_{n-N}). - \f] - - Note that the sample variance is not defined for \f$n <= 1\f$. - - */ - /////////////////////////////////////////////////////////////////////////////// - // immediate_rolling_variance_impl - // - template - struct immediate_rolling_variance_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - immediate_rolling_variance_impl(Args const &args) - : previous_mean_(numeric::fdiv(args[sample | Sample()], numeric::one::value)) - , sum_of_squares_(numeric::fdiv(args[sample | Sample()], numeric::one::value)) - { - } - - template - void operator()(Args const &args) - { - Sample added_sample = args[sample]; - - result_type mean = immediate_rolling_mean(args); - sum_of_squares_ += (added_sample-mean)*(added_sample-previous_mean_); - - if(is_rolling_window_plus1_full(args)) - { - Sample removed_sample = rolling_window_plus1(args).front(); - sum_of_squares_ -= (removed_sample-mean)*(removed_sample-previous_mean_); - prevent_underflow(sum_of_squares_); - } - previous_mean_ = mean; - } - - template - result_type result(Args const &args) const - { - size_t nr_samples = rolling_count(args); - if (nr_samples < 2) return result_type(); - return numeric::fdiv(sum_of_squares_,(nr_samples-1)); - } - - private: - - result_type previous_mean_; - result_type sum_of_squares_; - - template - void prevent_underflow(T &non_negative_number,typename boost::enable_if,T>::type* = 0) - { - if (non_negative_number < T(0)) non_negative_number = T(0); - } - template - void prevent_underflow(T &non_arithmetic_quantity,typename boost::disable_if,T>::type* = 0) - { - } - }; -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag:: lazy_rolling_variance -// tag:: immediate_rolling_variance -// tag:: rolling_variance -// -namespace tag -{ - struct lazy_rolling_variance - : depends_on< rolling_count, rolling_mean, rolling_moment<2> > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::lazy_rolling_variance_impl< mpl::_1 > impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::window_size named parameter - static boost::parameter::keyword const window_size; - #endif - }; - - struct immediate_rolling_variance - : depends_on< rolling_window_plus1, rolling_count, immediate_rolling_mean> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::immediate_rolling_variance_impl< mpl::_1> impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::window_size named parameter - static boost::parameter::keyword const window_size; - #endif - }; - - // make immediate_rolling_variance the default implementation - struct rolling_variance : immediate_rolling_variance {}; -} // namespace tag - -/////////////////////////////////////////////////////////////////////////////// -// extract::lazy_rolling_variance -// extract::immediate_rolling_variance -// extract::rolling_variance -// -namespace extract -{ - extractor const lazy_rolling_variance = {}; - extractor const immediate_rolling_variance = {}; - extractor const rolling_variance = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_rolling_variance) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(immediate_rolling_variance) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_variance) -} - -using extract::lazy_rolling_variance; -using extract::immediate_rolling_variance; -using extract::rolling_variance; - -// rolling_variance(lazy) -> lazy_rolling_variance -template<> -struct as_feature -{ - typedef tag::lazy_rolling_variance type; -}; - -// rolling_variance(immediate) -> immediate_rolling_variance -template<> -struct as_feature -{ - typedef tag::immediate_rolling_variance type; -}; - -// for the purposes of feature-based dependency resolution, -// lazy_rolling_variance provides the same feature as rolling_variance -template<> -struct feature_of - : feature_of -{ -}; - -// for the purposes of feature-based dependency resolution, -// immediate_rolling_variance provides the same feature as rolling_variance -template<> -struct feature_of - : feature_of -{ -}; -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/rolling_window.hpp b/external/boost/accumulators/statistics/rolling_window.hpp deleted file mode 100644 index 2e0a33420..000000000 --- a/external/boost/accumulators/statistics/rolling_window.hpp +++ /dev/null @@ -1,172 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// rolling_window.hpp -// -// Copyright 2008 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_ROLLING_WINDOW_HPP_EAN_26_12_2008 -#define BOOST_ACCUMULATORS_STATISTICS_ROLLING_WINDOW_HPP_EAN_26_12_2008 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -/////////////////////////////////////////////////////////////////////////////// -// tag::rolling_window::size named parameter -BOOST_PARAMETER_NESTED_KEYWORD(tag, rolling_window_size, window_size) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_window_size) - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // rolling_window_plus1_impl - // stores the latest N+1 samples, where N is specified at construction time - // with the rolling_window_size named parameter - template - struct rolling_window_plus1_impl - : accumulator_base - { - typedef typename circular_buffer::const_iterator const_iterator; - typedef iterator_range result_type; - - template - rolling_window_plus1_impl(Args const & args) - : buffer_(args[rolling_window_size] + 1) - {} - - #if BOOST_VERSION < 103600 - // Before Boost 1.36, copying a circular buffer didn't copy - // it's capacity, and we need that behavior. - rolling_window_plus1_impl(rolling_window_plus1_impl const &that) - : buffer_(that.buffer_) - { - this->buffer_.set_capacity(that.buffer_.capacity()); - } - - rolling_window_plus1_impl &operator =(rolling_window_plus1_impl const &that) - { - this->buffer_ = that.buffer_; - this->buffer_.set_capacity(that.buffer_.capacity()); - } - #endif - - template - void operator ()(Args const &args) - { - this->buffer_.push_back(args[sample]); - } - - bool full() const - { - return this->buffer_.full(); - } - - // The result of a shifted rolling window is the range including - // everything except the most recently added element. - result_type result(dont_care) const - { - return result_type(this->buffer_.begin(), this->buffer_.end()); - } - - private: - circular_buffer buffer_; - }; - - template - bool is_rolling_window_plus1_full(Args const &args) - { - return find_accumulator(args[accumulator]).full(); - } - - /////////////////////////////////////////////////////////////////////////////// - // rolling_window_impl - // stores the latest N samples, where N is specified at construction type - // with the rolling_window_size named parameter - template - struct rolling_window_impl - : accumulator_base - { - typedef typename circular_buffer::const_iterator const_iterator; - typedef iterator_range result_type; - - rolling_window_impl(dont_care) - {} - - template - result_type result(Args const &args) const - { - return rolling_window_plus1(args).advance_begin(is_rolling_window_plus1_full(args)); - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::rolling_window_plus1 -// tag::rolling_window -// -namespace tag -{ - struct rolling_window_plus1 - : depends_on<> - , tag::rolling_window_size - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::rolling_window_plus1_impl< mpl::_1 > impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::size named parameter - static boost::parameter::keyword const window_size; - #endif - }; - - struct rolling_window - : depends_on< rolling_window_plus1 > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::rolling_window_impl< mpl::_1 > impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::rolling_window::size named parameter - static boost::parameter::keyword const window_size; - #endif - }; - -} // namespace tag - -/////////////////////////////////////////////////////////////////////////////// -// extract::rolling_window_plus1 -// extract::rolling_window -// -namespace extract -{ - extractor const rolling_window_plus1 = {}; - extractor const rolling_window = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_window_plus1) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(rolling_window) -} - -using extract::rolling_window_plus1; -using extract::rolling_window; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/skewness.hpp b/external/boost/accumulators/statistics/skewness.hpp deleted file mode 100644 index c383ec4a6..000000000 --- a/external/boost/accumulators/statistics/skewness.hpp +++ /dev/null @@ -1,114 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// skewness.hpp -// -// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_SKEWNESS_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_SKEWNESS_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // skewness_impl - /** - @brief Skewness estimation - - The skewness of a sample distribution is defined as the ratio of the 3rd central moment and the \f$ 3/2 \f$-th power - of the 2nd central moment (the variance) of the samples 3. The skewness can also be expressed by the simple moments: - - \f[ - \hat{g}_1 = - \frac - {\widehat{m}_n^{(3)}-3\widehat{m}_n^{(2)}\hat{\mu}_n+2\hat{\mu}_n^3} - {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^{3/2}} - \f] - - where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the - \f$ n \f$ samples. - */ - template - struct skewness_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - skewness_impl(dont_care) - { - } - - template - result_type result(Args const &args) const - { - return numeric::fdiv( - accumulators::moment<3>(args) - - 3. * accumulators::moment<2>(args) * mean(args) - + 2. * mean(args) * mean(args) * mean(args) - , ( accumulators::moment<2>(args) - mean(args) * mean(args) ) - * std::sqrt( accumulators::moment<2>(args) - mean(args) * mean(args) ) - ); - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::skewness -// -namespace tag -{ - struct skewness - : depends_on, moment<3> > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::skewness_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::skewness -// -namespace extract -{ - extractor const skewness = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(skewness) -} - -using extract::skewness; - -// So that skewness can be automatically substituted with -// weighted_skewness when the weight parameter is non-void -template<> -struct as_weighted_feature -{ - typedef tag::weighted_skewness type; -}; - -template<> -struct feature_of - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/stats.hpp b/external/boost/accumulators/statistics/stats.hpp deleted file mode 100644 index 22c4ede02..000000000 --- a/external/boost/accumulators/statistics/stats.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -/// \file stats.hpp -/// Contains the stats<> template. -/// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_STATS_HPP_EAN_28_10_2005 - -#include -#include -#include - -namespace boost { namespace accumulators -{ - -/////////////////////////////////////////////////////////////////////////////// -/// An MPL sequence of statistics. -template -struct stats - : mpl::vector -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/sum.hpp b/external/boost/accumulators/statistics/sum.hpp deleted file mode 100644 index 126ce244f..000000000 --- a/external/boost/accumulators/statistics/sum.hpp +++ /dev/null @@ -1,141 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// sum.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_SUM_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_SUM_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // sum_impl - template - struct sum_impl - : accumulator_base - { - // for boost::result_of - typedef Sample result_type; - - template - sum_impl(Args const &args) - : sum(args[parameter::keyword::get() | Sample()]) - { - } - - template - void operator ()(Args const &args) - { - // what about overflow? - this->sum += args[parameter::keyword::get()]; - } - - result_type result(dont_care) const - { - return this->sum; - } - - private: - - Sample sum; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::sum -// tag::sum_of_weights -// tag::sum_of_variates -// -namespace tag -{ - struct sum - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::sum_impl impl; - }; - - struct sum_of_weights - : depends_on<> - { - typedef mpl::true_ is_weight_accumulator; - /// INTERNAL ONLY - /// - typedef accumulators::impl::sum_impl impl; - }; - - template - struct sum_of_variates - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef mpl::always > impl; - }; - - struct abstract_sum_of_variates - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::sum -// extract::sum_of_weights -// extract::sum_of_variates -// -namespace extract -{ - extractor const sum = {}; - extractor const sum_of_weights = {}; - extractor const sum_of_variates = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_weights) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_variates) -} - -using extract::sum; -using extract::sum_of_weights; -using extract::sum_of_variates; - -// So that mean can be automatically substituted with -// weighted_mean when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::weighted_sum type; -}; - -template<> -struct feature_of - : feature_of -{}; - -template -struct feature_of > - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/sum_kahan.hpp b/external/boost/accumulators/statistics/sum_kahan.hpp deleted file mode 100644 index 97ade18da..000000000 --- a/external/boost/accumulators/statistics/sum_kahan.hpp +++ /dev/null @@ -1,188 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// sum_kahan.hpp -// -// Copyright 2010 Gaetano Mendola, 2011 Simon West. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_SUM_KAHAN_HPP_EAN_26_07_2010 -#define BOOST_ACCUMULATORS_STATISTICS_SUM_KAHAN_HPP_EAN_26_07_2010 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - -#if _MSC_VER > 1400 -# pragma float_control(push) -# pragma float_control(precise, on) -#endif - -template -struct sum_kahan_impl - : accumulator_base -{ - typedef Sample result_type; - - //////////////////////////////////////////////////////////////////////////// - // sum_kahan_impl - /** - @brief Kahan summation algorithm - - The Kahan summation algorithm reduces the numerical error obtained with standard - sequential sum. - - */ - template - sum_kahan_impl(Args const & args) - : sum(args[parameter::keyword::get() | Sample()]), - compensation(boost::numeric_cast(0.0)) - { - } - - template - void -#if BOOST_ACCUMULATORS_GCC_VERSION > 40305 - __attribute__((__optimize__("no-associative-math"))) -#endif - operator ()(Args const & args) - { - const Sample myTmp1 = args[parameter::keyword::get()] - this->compensation; - const Sample myTmp2 = this->sum + myTmp1; - this->compensation = (myTmp2 - this->sum) - myTmp1; - this->sum = myTmp2; - } - - result_type result(dont_care) const - { - return this->sum; - } - -private: - Sample sum; - Sample compensation; -}; - -#if _MSC_VER > 1400 -# pragma float_control(pop) -#endif - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::sum_kahan -// tag::sum_of_weights_kahan -// tag::sum_of_variates_kahan -// -namespace tag -{ - - struct sum_kahan - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef impl::sum_kahan_impl< mpl::_1, tag::sample > impl; - }; - - struct sum_of_weights_kahan - : depends_on<> - { - typedef mpl::true_ is_weight_accumulator; - /// INTERNAL ONLY - /// - typedef accumulators::impl::sum_kahan_impl impl; - }; - - template - struct sum_of_variates_kahan - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef mpl::always > impl; - }; - -} // namespace tag - -/////////////////////////////////////////////////////////////////////////////// -// extract::sum_kahan -// extract::sum_of_weights_kahan -// extract::sum_of_variates_kahan -// -namespace extract -{ - extractor const sum_kahan = {}; - extractor const sum_of_weights_kahan = {}; - extractor const sum_of_variates_kahan = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_kahan) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_weights_kahan) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(sum_of_variates_kahan) -} // namespace extract - -using extract::sum_kahan; -using extract::sum_of_weights_kahan; -using extract::sum_of_variates_kahan; - -// sum(kahan) -> sum_kahan -template<> -struct as_feature -{ - typedef tag::sum_kahan type; -}; - -// sum_of_weights(kahan) -> sum_of_weights_kahan -template<> -struct as_feature -{ - typedef tag::sum_of_weights_kahan type; -}; - -// So that sum_kahan can be automatically substituted with -// weighted_sum_kahan when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::weighted_sum_kahan type; -}; - -template<> -struct feature_of - : feature_of -{}; - -// for the purposes of feature-based dependency resolution, -// sum_kahan provides the same feature as sum -template<> -struct feature_of - : feature_of -{ -}; - -// for the purposes of feature-based dependency resolution, -// sum_of_weights_kahan provides the same feature as sum_of_weights -template<> -struct feature_of - : feature_of -{ -}; - -template -struct feature_of > - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif - diff --git a/external/boost/accumulators/statistics/tail.hpp b/external/boost/accumulators/statistics/tail.hpp deleted file mode 100644 index be6cdee39..000000000 --- a/external/boost/accumulators/statistics/tail.hpp +++ /dev/null @@ -1,341 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// tail.hpp -// -// Copyright 2005 Eric Niebler, Michael Gauckler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_TAIL_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ -/////////////////////////////////////////////////////////////////////////////// -// cache_size named parameters -BOOST_PARAMETER_NESTED_KEYWORD(tag, right_tail_cache_size, cache_size) -BOOST_PARAMETER_NESTED_KEYWORD(tag, left_tail_cache_size, cache_size) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(right_tail_cache_size) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(left_tail_cache_size) - -namespace detail -{ - /////////////////////////////////////////////////////////////////////////////// - // tail_range - /// INTERNAL ONLY - /// - template - struct tail_range - { - typedef boost::iterator_range< - boost::reverse_iterator > - > type; - }; - - /////////////////////////////////////////////////////////////////////////////// - // make_tail_range - /// INTERNAL ONLY - /// - template - typename tail_range::type - make_tail_range(ElementIterator elem_begin, IndexIterator index_begin, IndexIterator index_end) - { - return boost::make_iterator_range( - boost::make_reverse_iterator( - boost::make_permutation_iterator(elem_begin, index_end) - ) - , boost::make_reverse_iterator( - boost::make_permutation_iterator(elem_begin, index_begin) - ) - ); - } - - /////////////////////////////////////////////////////////////////////////////// - // stat_assign_visitor - /// INTERNAL ONLY - /// - template - struct stat_assign_visitor - { - stat_assign_visitor(Args const &a, std::size_t i) - : args(a) - , index(i) - { - } - - template - void operator ()(Stat &stat) const - { - stat.assign(this->args, this->index); - } - - private: - stat_assign_visitor &operator =(stat_assign_visitor const &); - Args const &args; - std::size_t index; - }; - - /////////////////////////////////////////////////////////////////////////////// - // stat_assign - /// INTERNAL ONLY - /// - template - inline stat_assign_visitor const stat_assign(Args const &args, std::size_t index) - { - return stat_assign_visitor(args, index); - } - - /////////////////////////////////////////////////////////////////////////////// - // is_tail_variate_feature - /// INTERNAL ONLY - /// - template - struct is_tail_variate_feature - : mpl::false_ - { - }; - - /// INTERNAL ONLY - /// - template - struct is_tail_variate_feature, LeftRight> - : mpl::true_ - { - }; - - /// INTERNAL ONLY - /// - template - struct is_tail_variate_feature, LeftRight> - : mpl::true_ - { - }; - -} // namespace detail - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // tail_impl - template - struct tail_impl - : accumulator_base - { - // LeftRight must be either right or left - BOOST_MPL_ASSERT(( - mpl::or_, is_same > - )); - - typedef - typename mpl::if_< - is_same - , numeric::functional::greater - , numeric::functional::less - >::type - predicate_type; - - // for boost::result_of - typedef typename detail::tail_range< - typename std::vector::const_iterator - , std::vector::iterator - >::type result_type; - - template - tail_impl(Args const &args) - : is_sorted(false) - , indices() - , samples(args[tag::tail::cache_size], args[sample | Sample()]) - { - this->indices.reserve(this->samples.size()); - } - - tail_impl(tail_impl const &that) - : is_sorted(that.is_sorted) - , indices(that.indices) - , samples(that.samples) - { - this->indices.reserve(this->samples.size()); - } - - // This just stores the heap and the samples. - // In operator()() below, if we are adding a new sample - // to the sample cache, we force all the - // tail_variates to update also. (It's not - // good enough to wait for the accumulator_set to do it - // for us because then information about whether a sample - // was stored and where is lost, and would need to be - // queried at runtime, which would be slow.) This is - // implemented as a filtered visitation over the stats, - // which we can access because args[accumulator] gives us - // all the stats. - - template - void operator ()(Args const &args) - { - if(this->indices.size() < this->samples.size()) - { - this->indices.push_back(this->indices.size()); - this->assign(args, this->indices.back()); - } - else if(predicate_type()(args[sample], this->samples[this->indices[0]])) - { - std::pop_heap(this->indices.begin(), this->indices.end(), indirect_cmp(this->samples)); - this->assign(args, this->indices.back()); - } - } - - result_type result(dont_care) const - { - if(!this->is_sorted) - { - // Must use the same predicate here as in push_heap/pop_heap above. - std::sort_heap(this->indices.begin(), this->indices.end(), indirect_cmp(this->samples)); - // sort_heap puts elements in reverse order. Calling std::reverse - // turns the sorted sequence back into a valid heap. - std::reverse(this->indices.begin(), this->indices.end()); - this->is_sorted = true; - } - - return detail::make_tail_range( - this->samples.begin() - , this->indices.begin() - , this->indices.end() - ); - } - - private: - - struct is_tail_variate - { - template - struct apply - : detail::is_tail_variate_feature< - typename detail::feature_tag::type - , LeftRight - > - {}; - }; - - template - void assign(Args const &args, std::size_t index) - { - BOOST_ASSERT(index < this->samples.size()); - this->samples[index] = args[sample]; - std::push_heap(this->indices.begin(), this->indices.end(), indirect_cmp(this->samples)); - this->is_sorted = false; - // Tell the tail variates to store their values also - args[accumulator].template visit_if(detail::stat_assign(args, index)); - } - - /////////////////////////////////////////////////////////////////////////////// - // - struct indirect_cmp - { - typedef std::size_t first_argument_type; - typedef std::size_t second_argument_type; - typedef bool result_type; - - indirect_cmp(std::vector const &s) - : samples(s) - { - } - - bool operator ()(std::size_t left, std::size_t right) const - { - return predicate_type()(this->samples[left], this->samples[right]); - } - - private: - indirect_cmp &operator =(indirect_cmp const &); - std::vector const &samples; - }; - - mutable bool is_sorted; - mutable std::vector indices; - std::vector samples; - }; - -} // namespace impl - -// TODO The templatized tag::tail below should inherit from the correct named parameter. -// The following lines provide a workaround, but there must be a better way of doing this. -template -struct tail_cache_size_named_arg -{ -}; -template<> -struct tail_cache_size_named_arg - : tag::left_tail_cache_size -{ -}; -template<> -struct tail_cache_size_named_arg - : tag::right_tail_cache_size -{ -}; - -/////////////////////////////////////////////////////////////////////////////// -// tag::tail<> -// -namespace tag -{ - template - struct tail - : depends_on<> - , tail_cache_size_named_arg - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::tail_impl impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - /// tag::tail::cache_size named parameter - static boost::parameter::keyword > const cache_size; - #endif - }; - - struct abstract_tail - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::tail -// -namespace extract -{ - extractor const tail = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail) -} - -using extract::tail; - -template -struct feature_of > - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/tail_mean.hpp b/external/boost/accumulators/statistics/tail_mean.hpp deleted file mode 100644 index 67dae37b5..000000000 --- a/external/boost/accumulators/statistics/tail_mean.hpp +++ /dev/null @@ -1,246 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// tail_mean.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_MEAN_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_TAIL_MEAN_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -namespace impl -{ - - /////////////////////////////////////////////////////////////////////////////// - // coherent_tail_mean_impl - // - /** - @brief Estimation of the coherent tail mean based on order statistics (for both left and right tails) - - The coherent tail mean \f$\widehat{CTM}_{n,\alpha}(X)\f$ is equal to the non-coherent tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$ - plus a correction term that ensures coherence in case of non-continuous distributions. - - \f[ - \widehat{CTM}_{n,\alpha}^{\mathrm{right}}(X) = \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X) + - \frac{1}{\lceil n(1-\alpha)\rceil}\hat{q}_{n,\alpha}(X)\left(1 - \alpha - \frac{1}{n}\lceil n(1-\alpha)\rceil \right) - \f] - - \f[ - \widehat{CTM}_{n,\alpha}^{\mathrm{left}}(X) = \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X) + - \frac{1}{\lceil n\alpha\rceil}\hat{q}_{n,\alpha}(X)\left(\alpha - \frac{1}{n}\lceil n\alpha\rceil \right) - \f] - */ - template - struct coherent_tail_mean_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef float_type result_type; - - coherent_tail_mean_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - std::size_t cnt = count(args); - - std::size_t n = static_cast( - std::ceil( - cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) - ) - ); - - extractor > const some_non_coherent_tail_mean = {}; - - return some_non_coherent_tail_mean(args) - + numeric::fdiv(quantile(args), n) - * ( - ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] - - numeric::fdiv(n, count(args)) - ); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // non_coherent_tail_mean_impl - // - /** - @brief Estimation of the (non-coherent) tail mean based on order statistics (for both left and right tails) - - An estimation of the non-coherent tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$ is given by the mean of the - \f$\lceil n\alpha\rceil\f$ smallest samples (left tail) or the mean of the \f$\lceil n(1-\alpha)\rceil\f$ - largest samples (right tail), \f$n\f$ being the total number of samples and \f$\alpha\f$ the quantile level: - - \f[ - \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X) = \frac{1}{\lceil n(1-\alpha)\rceil} \sum_{i=\lceil \alpha n \rceil}^n X_{i:n} - \f] - - \f[ - \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X) = \frac{1}{\lceil n\alpha\rceil} \sum_{i=1}^{\lceil \alpha n \rceil} X_{i:n} - \f] - - It thus requires the caching of at least the \f$\lceil n\alpha\rceil\f$ smallest or the \f$\lceil n(1-\alpha)\rceil\f$ - largest samples. - - @param quantile_probability - */ - template - struct non_coherent_tail_mean_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef float_type result_type; - - non_coherent_tail_mean_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - std::size_t cnt = count(args); - - std::size_t n = static_cast( - std::ceil( - cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) - ) - ); - - // If n is in a valid range, return result, otherwise return NaN or throw exception - if (n <= static_cast(tail(args).size())) - return numeric::fdiv( - std::accumulate( - tail(args).begin() - , tail(args).begin() + n - , Sample(0) - ) - , n - ); - else - { - if (std::numeric_limits::has_quiet_NaN) - { - return std::numeric_limits::quiet_NaN(); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - return Sample(0); - } - } - } - }; - -} // namespace impl - - -/////////////////////////////////////////////////////////////////////////////// -// tag::coherent_tail_mean<> -// tag::non_coherent_tail_mean<> -// -namespace tag -{ - template - struct coherent_tail_mean - : depends_on > - { - typedef accumulators::impl::coherent_tail_mean_impl impl; - }; - - template - struct non_coherent_tail_mean - : depends_on > - { - typedef accumulators::impl::non_coherent_tail_mean_impl impl; - }; - - struct abstract_non_coherent_tail_mean - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::non_coherent_tail_mean; -// extract::coherent_tail_mean; -// -namespace extract -{ - extractor const non_coherent_tail_mean = {}; - extractor const coherent_tail_mean = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(non_coherent_tail_mean) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(coherent_tail_mean) -} - -using extract::non_coherent_tail_mean; -using extract::coherent_tail_mean; - -// for the purposes of feature-based dependency resolution, -// coherent_tail_mean provides the same feature as tail_mean -template -struct feature_of > - : feature_of -{ -}; - -template -struct feature_of > - : feature_of -{ -}; - -// So that non_coherent_tail_mean can be automatically substituted -// with weighted_non_coherent_tail_mean when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::non_coherent_weighted_tail_mean type; -}; - -template -struct feature_of > - : feature_of > -{}; - -// NOTE that non_coherent_tail_mean cannot be feature-grouped with tail_mean, -// which is the base feature for coherent tail means, since (at least for -// non-continuous distributions) non_coherent_tail_mean is a different measure! - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/tail_quantile.hpp b/external/boost/accumulators/statistics/tail_quantile.hpp deleted file mode 100644 index 9ff56b56e..000000000 --- a/external/boost/accumulators/statistics/tail_quantile.hpp +++ /dev/null @@ -1,158 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// tail_quantile.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_QUANTILE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_TAIL_QUANTILE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include // For ceil -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // tail_quantile_impl - // Tail quantile estimation based on order statistics - /** - @brief Tail quantile estimation based on order statistics (for both left and right tails) - - The estimation of a tail quantile \f$\hat{q}\f$ with level \f$\alpha\f$ based on order statistics requires the - caching of at least the \f$\lceil n\alpha\rceil\f$ smallest or the \f$\lceil n(1-\alpha)\rceil\f$ largest samples, - \f$n\f$ being the total number of samples. The largest of the \f$\lceil n\alpha\rceil\f$ smallest samples or the - smallest of the \f$\lceil n(1-\alpha)\rceil\f$ largest samples provides an estimate for the quantile: - - \f[ - \hat{q}_{n,\alpha} = X_{\lceil \alpha n \rceil:n} - \f] - - @param quantile_probability - */ - template - struct tail_quantile_impl - : accumulator_base - { - // for boost::result_of - typedef Sample result_type; - - tail_quantile_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - std::size_t cnt = count(args); - - std::size_t n = static_cast( - std::ceil( - cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) - ) - ); - - // If n is in a valid range, return result, otherwise return NaN or throw exception - if ( n < static_cast(tail(args).size())) - { - // Note that the cached samples of the left are sorted in ascending order, - // whereas the samples of the right tail are sorted in descending order - return *(boost::begin(tail(args)) + n - 1); - } - else - { - if (std::numeric_limits::has_quiet_NaN) - { - return std::numeric_limits::quiet_NaN(); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - return Sample(0); - } - } - } - }; -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::tail_quantile<> -// -namespace tag -{ - template - struct tail_quantile - : depends_on > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::tail_quantile_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::tail_quantile -// -namespace extract -{ - extractor const tail_quantile = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_quantile) -} - -using extract::tail_quantile; - -// for the purposes of feature-based dependency resolution, -// tail_quantile provide the same feature as quantile -template -struct feature_of > - : feature_of -{ -}; - -// So that tail_quantile can be automatically substituted with -// weighted_tail_quantile when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::weighted_tail_quantile type; -}; - -template -struct feature_of > - : feature_of > -{}; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/tail_variate.hpp b/external/boost/accumulators/statistics/tail_variate.hpp deleted file mode 100644 index a9fc7d297..000000000 --- a/external/boost/accumulators/statistics/tail_variate.hpp +++ /dev/null @@ -1,141 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// tail_variate.hpp -// -// Copyright 2005 Eric Niebler, Michael Gauckler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_STAT_STATISTICS_TAIL_VARIATE_HPP_EAN_28_10_2005 -#define BOOST_STAT_STATISTICS_TAIL_VARIATE_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // tail_variate_impl - template - struct tail_variate_impl - : accumulator_base - { - // for boost::result_of - typedef - typename detail::tail_range< - typename std::vector::const_iterator - , std::vector::iterator - >::type - result_type; - - template - tail_variate_impl(Args const &args) - : variates(args[tag::tail::cache_size], args[parameter::keyword::get() | VariateType()]) - { - } - - template - void assign(Args const &args, std::size_t index) - { - this->variates[index] = args[parameter::keyword::get()]; - } - - template - result_type result(Args const &args) const - { - // getting the order result causes the indices vector to be sorted. - extractor > const some_tail = {}; - return this->do_result(some_tail(args)); - } - - private: - template - result_type do_result(TailRng const &rng) const - { - return detail::make_tail_range( - this->variates.begin() - , rng.end().base().base() // the index iterator - , rng.begin().base().base() // (begin and end reversed because these are reverse iterators) - ); - } - - std::vector variates; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::tail_variate<> -// -namespace tag -{ - template - struct tail_variate - : depends_on > - { - /// INTERNAL ONLY - /// - typedef mpl::always > impl; - }; - - struct abstract_tail_variate - : depends_on<> - { - }; - - template - struct tail_weights - : depends_on > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::tail_variate_impl impl; - }; - - struct abstract_tail_weights - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::tail_variate -// extract::tail_weights -// -namespace extract -{ - extractor const tail_variate = {}; - extractor const tail_weights = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_variate) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_weights) -} - -using extract::tail_variate; -using extract::tail_weights; - -template -struct feature_of > - : feature_of -{ -}; - -template -struct feature_of > -{ - typedef tag::abstract_tail_weights type; -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/tail_variate_means.hpp b/external/boost/accumulators/statistics/tail_variate_means.hpp deleted file mode 100644 index a97eab564..000000000 --- a/external/boost/accumulators/statistics/tail_variate_means.hpp +++ /dev/null @@ -1,262 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// tail_variate_means.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /** - @brief Estimation of the absolute and relative tail variate means (for both left and right tails) - - For all \f$j\f$-th variates associated to the \f$\lceil n(1-\alpha)\rceil\f$ largest samples (or the - \f$\lceil n(1-\alpha)\rceil\f$ smallest samples in case of the left tail), the absolute tail means - \f$\widehat{ATM}_{n,\alpha}(X, j)\f$ are computed and returned as an iterator range. Alternatively, - the relative tail means \f$\widehat{RTM}_{n,\alpha}(X, j)\f$ are returned, which are the absolute - tail means normalized with the (non-coherent) sample tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$. - - \f[ - \widehat{ATM}_{n,\alpha}^{\mathrm{right}}(X, j) = - \frac{1}{\lceil n(1-\alpha) \rceil} - \sum_{i=\lceil \alpha n \rceil}^n \xi_{j,i} - \f] - - \f[ - \widehat{ATM}_{n,\alpha}^{\mathrm{left}}(X, j) = - \frac{1}{\lceil n\alpha \rceil} - \sum_{i=1}^{\lceil n\alpha \rceil} \xi_{j,i} - \f] - - \f[ - \widehat{RTM}_{n,\alpha}^{\mathrm{right}}(X, j) = - \frac{\sum_{i=\lceil n\alpha \rceil}^n \xi_{j,i}} - {\lceil n(1-\alpha)\rceil\widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X)} - \f] - - \f[ - \widehat{RTM}_{n,\alpha}^{\mathrm{left}}(X, j) = - \frac{\sum_{i=1}^{\lceil n\alpha \rceil} \xi_{j,i}} - {\lceil n\alpha\rceil\widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X)} - \f] - */ - - /////////////////////////////////////////////////////////////////////////////// - // tail_variate_means_impl - // by default: absolute tail_variate_means - template - struct tail_variate_means_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector array_type; - // for boost::result_of - typedef iterator_range result_type; - - tail_variate_means_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - std::size_t cnt = count(args); - - std::size_t n = static_cast( - std::ceil( - cnt * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ) - ) - ); - - std::size_t num_variates = tail_variate(args).begin()->size(); - - this->tail_means_.clear(); - this->tail_means_.resize(num_variates, Sample(0)); - - // If n is in a valid range, return result, otherwise return NaN or throw exception - if (n < static_cast(tail(args).size())) - { - this->tail_means_ = std::accumulate( - tail_variate(args).begin() - , tail_variate(args).begin() + n - , this->tail_means_ - , numeric::plus - ); - - float_type factor = n * ( (is_same::value) ? non_coherent_tail_mean(args) : 1. ); - - std::transform( - this->tail_means_.begin() - , this->tail_means_.end() - , this->tail_means_.begin() -#ifdef BOOST_NO_CXX98_BINDERS - , std::bind(std::divides(), std::placeholders::_1, factor) -#else - , std::bind2nd(std::divides(), factor) -#endif - ); - } - else - { - if (std::numeric_limits::has_quiet_NaN) - { - std::fill( - this->tail_means_.begin() - , this->tail_means_.end() - , std::numeric_limits::quiet_NaN() - ); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - } - } - return make_iterator_range(this->tail_means_); - } - - private: - - mutable array_type tail_means_; - - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::absolute_tail_variate_means -// tag::relative_tail_variate_means -// -namespace tag -{ - template - struct absolute_tail_variate_means - : depends_on, tail_variate > - { - typedef accumulators::impl::tail_variate_means_impl impl; - }; - template - struct relative_tail_variate_means - : depends_on, tail_variate > - { - typedef accumulators::impl::tail_variate_means_impl impl; - }; - struct abstract_absolute_tail_variate_means - : depends_on<> - { - }; - struct abstract_relative_tail_variate_means - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::tail_variate_means -// extract::relative_tail_variate_means -// -namespace extract -{ - extractor const tail_variate_means = {}; - extractor const relative_tail_variate_means = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_variate_means) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(relative_tail_variate_means) -} - -using extract::tail_variate_means; -using extract::relative_tail_variate_means; - -// tail_variate_means(absolute) -> absolute_tail_variate_means -template -struct as_feature(absolute)> -{ - typedef tag::absolute_tail_variate_means type; -}; - -// tail_variate_means(relative) ->relative_tail_variate_means -template -struct as_feature(relative)> -{ - typedef tag::relative_tail_variate_means type; -}; - -// Provides non-templatized extractor -template -struct feature_of > - : feature_of -{ -}; - -// Provides non-templatized extractor -template -struct feature_of > - : feature_of -{ -}; - -// So that absolute_tail_means can be automatically substituted -// with absolute_weighted_tail_means when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::absolute_weighted_tail_variate_means type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -// So that relative_tail_means can be automatically substituted -// with relative_weighted_tail_means when the weight parameter is non-void. -template -struct as_weighted_feature > -{ - typedef tag::relative_weighted_tail_variate_means type; -}; - -template -struct feature_of > - : feature_of > -{ -}; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/times2_iterator.hpp b/external/boost/accumulators/statistics/times2_iterator.hpp deleted file mode 100644 index dbd81af7c..000000000 --- a/external/boost/accumulators/statistics/times2_iterator.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// times2_iterator.hpp -// -// Copyright 2006 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_TIMES2_ITERATOR_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_TIMES2_ITERATOR_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace detail -{ - typedef transform_iterator< -#ifdef BOOST_NO_CXX98_BINDERS - decltype(std::bind(std::multiplies(), 2, std::placeholders::_1)) -#else - std::binder1st > -#endif - , counting_iterator - > times2_iterator; - - inline times2_iterator make_times2_iterator(std::size_t i) - { - return make_transform_iterator( - make_counting_iterator(i) -#ifdef BOOST_NO_CXX98_BINDERS - , std::bind(std::multiplies(), 2, std::placeholders::_1) -#else - , std::bind1st(std::multiplies(), 2) -#endif - ); - } - - /////////////////////////////////////////////////////////////////////////////// - // lvalue_index_iterator - template - struct lvalue_index_iterator - : Base - { - lvalue_index_iterator() - : Base() - {} - - lvalue_index_iterator(Base base) - : Base(base) - { - } - - typename Base::reference operator [](typename Base::difference_type n) const - { - return *(*this + n); - } - }; -} // namespace detail - -}} - -#endif diff --git a/external/boost/accumulators/statistics/variance.hpp b/external/boost/accumulators/statistics/variance.hpp deleted file mode 100644 index baac55696..000000000 --- a/external/boost/accumulators/statistics/variance.hpp +++ /dev/null @@ -1,236 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// variance.hpp -// -// Copyright 2005 Daniel Egloff, Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_VARIANCE_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_VARIANCE_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - //! Lazy calculation of variance. - /*! - Default sample variance implementation based on the second moment \f$ M_n^{(2)} \f$ moment<2>, mean and count. - \f[ - \sigma_n^2 = M_n^{(2)} - \mu_n^2. - \f] - where - \f[ - \mu_n = \frac{1}{n} \sum_{i = 1}^n x_i. - \f] - is the estimate of the sample mean and \f$n\f$ is the number of samples. - */ - template - struct lazy_variance_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - lazy_variance_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - extractor mean; - result_type tmp = mean(args); - return accumulators::moment<2>(args) - tmp * tmp; - } - }; - - //! Iterative calculation of variance. - /*! - Iterative calculation of sample variance \f$\sigma_n^2\f$ according to the formula - \f[ - \sigma_n^2 = \frac{1}{n} \sum_{i = 1}^n (x_i - \mu_n)^2 = \frac{n-1}{n} \sigma_{n-1}^2 + \frac{1}{n-1}(x_n - \mu_n)^2. - \f] - where - \f[ - \mu_n = \frac{1}{n} \sum_{i = 1}^n x_i. - \f] - is the estimate of the sample mean and \f$n\f$ is the number of samples. - - Note that the sample variance is not defined for \f$n <= 1\f$. - - A simplification can be obtained by the approximate recursion - \f[ - \sigma_n^2 \approx \frac{n-1}{n} \sigma_{n-1}^2 + \frac{1}{n}(x_n - \mu_n)^2. - \f] - because the difference - \f[ - \left(\frac{1}{n-1} - \frac{1}{n}\right)(x_n - \mu_n)^2 = \frac{1}{n(n-1)}(x_n - \mu_n)^2. - \f] - converges to zero as \f$n \rightarrow \infty\f$. However, for small \f$ n \f$ the difference - can be non-negligible. - */ - template - struct variance_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - variance_impl(Args const &args) - : variance(numeric::fdiv(args[sample | Sample()], numeric::one::value)) - { - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - - if(cnt > 1) - { - extractor mean; - result_type tmp = args[parameter::keyword::get()] - mean(args); - this->variance = - numeric::fdiv(this->variance * (cnt - 1), cnt) - + numeric::fdiv(tmp * tmp, cnt - 1); - } - } - - result_type result(dont_care) const - { - return this->variance; - } - - private: - result_type variance; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::variance -// tag::immediate_variance -// -namespace tag -{ - struct lazy_variance - : depends_on, mean> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::lazy_variance_impl impl; - }; - - struct variance - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::variance_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::lazy_variance -// extract::variance -// -namespace extract -{ - extractor const lazy_variance = {}; - extractor const variance = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_variance) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(variance) -} - -using extract::lazy_variance; -using extract::variance; - -// variance(lazy) -> lazy_variance -template<> -struct as_feature -{ - typedef tag::lazy_variance type; -}; - -// variance(immediate) -> variance -template<> -struct as_feature -{ - typedef tag::variance type; -}; - -// for the purposes of feature-based dependency resolution, -// immediate_variance provides the same feature as variance -template<> -struct feature_of - : feature_of -{ -}; - -// So that variance can be automatically substituted with -// weighted_variance when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::weighted_variance type; -}; - -// for the purposes of feature-based dependency resolution, -// weighted_variance provides the same feature as variance -template<> -struct feature_of - : feature_of -{ -}; - -// So that immediate_variance can be automatically substituted with -// immediate_weighted_variance when the weight parameter is non-void. -template<> -struct as_weighted_feature -{ - typedef tag::lazy_weighted_variance type; -}; - -// for the purposes of feature-based dependency resolution, -// immediate_weighted_variance provides the same feature as immediate_variance -template<> -struct feature_of - : feature_of -{ -}; - -//////////////////////////////////////////////////////////////////////////// -//// droppable_accumulator -//// need to specialize droppable lazy variance to cache the result at the -//// point the accumulator is dropped. -///// INTERNAL ONLY -///// -//template -//struct droppable_accumulator > -// : droppable_accumulator_base< -// with_cached_result > -// > -//{ -// template -// droppable_accumulator(Args const &args) -// : droppable_accumulator::base(args) -// { -// } -//}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/variates/covariate.hpp b/external/boost/accumulators/statistics/variates/covariate.hpp deleted file mode 100644 index aba113a4a..000000000 --- a/external/boost/accumulators/statistics/variates/covariate.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weight.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_VARIATES_COVARIATE_HPP_EAN_03_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_VARIATES_COVARIATE_HPP_EAN_03_11_2005 - -#include -#include - -namespace boost { namespace accumulators -{ - -BOOST_PARAMETER_KEYWORD(tag, covariate1) -BOOST_PARAMETER_KEYWORD(tag, covariate2) - -BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariate1) -BOOST_ACCUMULATORS_IGNORE_GLOBAL(covariate2) - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_covariance.hpp b/external/boost/accumulators/statistics/weighted_covariance.hpp deleted file mode 100644 index 25d613c12..000000000 --- a/external/boost/accumulators/statistics/weighted_covariance.hpp +++ /dev/null @@ -1,133 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_covariance.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_COVARIANCE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_COVARIANCE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // for numeric::outer_product() and type traits -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_covariance_impl - // - /** - @brief Weighted Covariance Estimator - - An iterative Monte Carlo estimator for the weighted covariance \f$\mathrm{Cov}(X,X')\f$, where \f$X\f$ is a sample - and \f$X'\f$ a variate, is given by: - - \f[ - \hat{c}_n = \frac{\bar{w}_n-w_n}{\bar{w}_n} \hat{c}_{n-1} + \frac{w_n}{\bar{w}_n-w_n}(X_n - \hat{\mu}_n)(X_n' - \hat{\mu}_n'), - \quad n\ge2,\quad\hat{c}_1 = 0, - \f] - - \f$\hat{\mu}_n\f$ and \f$\hat{\mu}_n'\f$ being the weighted means of the samples and variates and - \f$\bar{w}_n\f$ the sum of the \f$n\f$ first weights \f$w_i\f$. - */ - template - struct weighted_covariance_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type>::result_type weighted_sample_type; - typedef typename numeric::functional::multiplies::result_type>::result_type weighted_variate_type; - // for boost::result_of - typedef typename numeric::functional::outer_product::result_type result_type; - - template - weighted_covariance_impl(Args const &args) - : cov_( - numeric::outer_product( - numeric::fdiv(args[sample | Sample()], (std::size_t)1) - * numeric::one::value - , numeric::fdiv(args[parameter::keyword::get() | VariateType()], (std::size_t)1) - * numeric::one::value - ) - ) - { - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - - if (cnt > 1) - { - extractor > const some_weighted_mean_of_variates = {}; - - this->cov_ = this->cov_ * (sum_of_weights(args) - args[weight]) / sum_of_weights(args) - + numeric::outer_product( - some_weighted_mean_of_variates(args) - args[parameter::keyword::get()] - , weighted_mean(args) - args[sample] - ) * args[weight] / (sum_of_weights(args) - args[weight]); - } - } - - result_type result(dont_care) const - { - return this->cov_; - } - - private: - result_type cov_; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_covariance -// -namespace tag -{ - template - struct weighted_covariance - : depends_on > - { - typedef accumulators::impl::weighted_covariance_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_covariance -// -namespace extract -{ - extractor const weighted_covariance = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_covariance) -} - -using extract::weighted_covariance; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_density.hpp b/external/boost/accumulators/statistics/weighted_density.hpp deleted file mode 100644 index 140736801..000000000 --- a/external/boost/accumulators/statistics/weighted_density.hpp +++ /dev/null @@ -1,221 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_density.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_DENSITY_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_DENSITY_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // for named parameters density_cache_size and density_num_bins - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_density_impl - // density histogram for weighted samples - /** - @brief Histogram density estimator for weighted samples - - The histogram density estimator returns a histogram of the sample distribution. The positions and sizes of the bins - are determined using a specifiable number of cached samples (cache_size). The range between the minimum and the - maximum of the cached samples is subdivided into a specifiable number of bins (num_bins) of same size. Additionally, - an under- and an overflow bin is added to capture future under- and overflow samples. Once the bins are determined, - the cached samples and all subsequent samples are added to the correct bins. At the end, a range of std::pair is - returned, where each pair contains the position of the bin (lower bound) and the sum of the weights (normalized with the - sum of all weights). - - @param density_cache_size Number of first samples used to determine min and max. - @param density_num_bins Number of bins (two additional bins collect under- and overflow samples). - */ - template - struct weighted_density_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector > histogram_type; - typedef std::vector array_type; - // for boost::result_of - typedef iterator_range result_type; - - template - weighted_density_impl(Args const &args) - : cache_size(args[density_cache_size]) - , cache(cache_size) - , num_bins(args[density_num_bins]) - , samples_in_bin(num_bins + 2, 0.) - , bin_positions(num_bins + 2) - , histogram( - num_bins + 2 - , std::make_pair( - numeric::fdiv(args[sample | Sample()],(std::size_t)1) - , numeric::fdiv(args[sample | Sample()],(std::size_t)1) - ) - ) - , is_dirty(true) - { - } - - template - void operator ()(Args const &args) - { - this->is_dirty = true; - - std::size_t cnt = count(args); - - // Fill up cache with cache_size first samples - if (cnt <= this->cache_size) - { - this->cache[cnt - 1] = std::make_pair(args[sample], args[weight]); - } - - // Once cache_size samples have been accumulated, create num_bins bins of same size between - // the minimum and maximum of the cached samples as well as an under- and an overflow bin. - // Store their lower bounds (bin_positions) and fill the bins with the cached samples (samples_in_bin). - if (cnt == this->cache_size) - { - float_type minimum = numeric::fdiv((min)(args),(std::size_t)1); - float_type maximum = numeric::fdiv((max)(args),(std::size_t)1); - float_type bin_size = numeric::fdiv(maximum - minimum, this->num_bins); - - // determine bin positions (their lower bounds) - for (std::size_t i = 0; i < this->num_bins + 2; ++i) - { - this->bin_positions[i] = minimum + (i - 1.) * bin_size; - } - - for (typename histogram_type::const_iterator iter = this->cache.begin(); iter != this->cache.end(); ++iter) - { - if (iter->first < this->bin_positions[1]) - { - this->samples_in_bin[0] += iter->second; - } - else if (iter->first >= this->bin_positions[this->num_bins + 1]) - { - this->samples_in_bin[this->num_bins + 1] += iter->second; - } - else - { - typename array_type::iterator it = std::upper_bound( - this->bin_positions.begin() - , this->bin_positions.end() - , iter->first - ); - - std::size_t d = std::distance(this->bin_positions.begin(), it); - this->samples_in_bin[d - 1] += iter->second; - } - } - } - // Add each subsequent sample to the correct bin - else if (cnt > this->cache_size) - { - if (args[sample] < this->bin_positions[1]) - { - this->samples_in_bin[0] += args[weight]; - } - else if (args[sample] >= this->bin_positions[this->num_bins + 1]) - { - this->samples_in_bin[this->num_bins + 1] += args[weight]; - } - else - { - typename array_type::iterator it = std::upper_bound( - this->bin_positions.begin() - , this->bin_positions.end() - , args[sample] - ); - - std::size_t d = std::distance(this->bin_positions.begin(), it); - this->samples_in_bin[d - 1] += args[weight]; - } - } - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - // creates a vector of std::pair where each pair i holds - // the values bin_positions[i] (x-axis of histogram) and - // samples_in_bin[i] / cnt (y-axis of histogram). - - for (std::size_t i = 0; i < this->num_bins + 2; ++i) - { - this->histogram[i] = std::make_pair(this->bin_positions[i], numeric::fdiv(this->samples_in_bin[i], sum_of_weights(args))); - } - } - - // returns a range of pairs - return make_iterator_range(this->histogram); - } - - private: - std::size_t cache_size; // number of cached samples - histogram_type cache; // cache to store the first cache_size samples with their weights as std::pair - std::size_t num_bins; // number of bins - array_type samples_in_bin; // number of samples in each bin - array_type bin_positions; // lower bounds of bins - mutable histogram_type histogram; // histogram - mutable bool is_dirty; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_density -// -namespace tag -{ - struct weighted_density - : depends_on - , density_cache_size - , density_num_bins - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_density_impl impl; - - #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED - static boost::parameter::keyword const cache_size; - static boost::parameter::keyword const num_bins; - #endif - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_density -// -namespace extract -{ - extractor const weighted_density = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_density) -} - -using extract::weighted_density; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_extended_p_square.hpp b/external/boost/accumulators/statistics/weighted_extended_p_square.hpp deleted file mode 100644 index ac857e056..000000000 --- a/external/boost/accumulators/statistics/weighted_extended_p_square.hpp +++ /dev/null @@ -1,290 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_extended_p_square.hpp -// -// Copyright 2005 Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_EXTENDED_P_SQUARE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_EXTENDED_P_SQUARE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_extended_p_square_impl - // multiple quantile estimation with weighted samples - /** - @brief Multiple quantile estimation with the extended \f$P^2\f$ algorithm for weighted samples - - This version of the extended \f$P^2\f$ algorithm extends the extended \f$P^2\f$ algorithm to - support weighted samples. The extended \f$P^2\f$ algorithm dynamically estimates several - quantiles without storing samples. Assume that \f$m\f$ quantiles - \f$\xi_{p_1}, \ldots, \xi_{p_m}\f$ are to be estimated. Instead of storing the whole sample - cumulative distribution, the algorithm maintains only \f$m+2\f$ principal markers and - \f$m+1\f$ middle markers, whose positions are updated with each sample and whose heights - are adjusted (if necessary) using a piecewise-parablic formula. The heights of the principal - markers are the current estimates of the quantiles and are returned as an iterator range. - - For further details, see - - K. E. E. Raatikainen, Simultaneous estimation of several quantiles, Simulation, Volume 49, - Number 4 (October), 1986, p. 159-164. - - The extended \f$ P^2 \f$ algorithm generalizes the \f$ P^2 \f$ algorithm of - - R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and - histograms without storing observations, Communications of the ACM, - Volume 28 (October), Number 10, 1985, p. 1076-1085. - - @param extended_p_square_probabilities A vector of quantile probabilities. - */ - template - struct weighted_extended_p_square_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector array_type; - // for boost::result_of - typedef iterator_range< - detail::lvalue_index_iterator< - permutation_iterator< - typename array_type::const_iterator - , detail::times2_iterator - > - > - > result_type; - - template - weighted_extended_p_square_impl(Args const &args) - : probabilities( - boost::begin(args[extended_p_square_probabilities]) - , boost::end(args[extended_p_square_probabilities]) - ) - , heights(2 * probabilities.size() + 3) - , actual_positions(heights.size()) - , desired_positions(heights.size()) - { - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - std::size_t sample_cell = 1; // k - std::size_t num_quantiles = this->probabilities.size(); - - // m+2 principal markers and m+1 middle markers - std::size_t num_markers = 2 * num_quantiles + 3; - - // first accumulate num_markers samples - if(cnt <= num_markers) - { - this->heights[cnt - 1] = args[sample]; - this->actual_positions[cnt - 1] = args[weight]; - - // complete the initialization of heights (and actual_positions) by sorting - if(cnt == num_markers) - { - // TODO: we need to sort the initial samples (in heights) in ascending order and - // sort their weights (in actual_positions) the same way. The following lines do - // it, but there must be a better and more efficient way of doing this. - typename array_type::iterator it_begin, it_end, it_min; - - it_begin = this->heights.begin(); - it_end = this->heights.end(); - - std::size_t pos = 0; - - while (it_begin != it_end) - { - it_min = std::min_element(it_begin, it_end); - std::size_t d = std::distance(it_begin, it_min); - std::swap(*it_begin, *it_min); - std::swap(this->actual_positions[pos], this->actual_positions[pos + d]); - ++it_begin; - ++pos; - } - - // calculate correct initial actual positions - for (std::size_t i = 1; i < num_markers; ++i) - { - actual_positions[i] += actual_positions[i - 1]; - } - } - } - else - { - if(args[sample] < this->heights[0]) - { - this->heights[0] = args[sample]; - this->actual_positions[0] = args[weight]; - sample_cell = 1; - } - else if(args[sample] >= this->heights[num_markers - 1]) - { - this->heights[num_markers - 1] = args[sample]; - sample_cell = num_markers - 1; - } - else - { - // find cell k = sample_cell such that heights[k-1] <= sample < heights[k] - - typedef typename array_type::iterator iterator; - iterator it = std::upper_bound( - this->heights.begin() - , this->heights.end() - , args[sample] - ); - - sample_cell = std::distance(this->heights.begin(), it); - } - - // update actual position of all markers above sample_cell - for(std::size_t i = sample_cell; i < num_markers; ++i) - { - this->actual_positions[i] += args[weight]; - } - - // compute desired positions - { - this->desired_positions[0] = this->actual_positions[0]; - this->desired_positions[num_markers - 1] = sum_of_weights(args); - this->desired_positions[1] = (sum_of_weights(args) - this->actual_positions[0]) * probabilities[0] - / 2. + this->actual_positions[0]; - this->desired_positions[num_markers - 2] = (sum_of_weights(args) - this->actual_positions[0]) - * (probabilities[num_quantiles - 1] + 1.) - / 2. + this->actual_positions[0]; - - for (std::size_t i = 0; i < num_quantiles; ++i) - { - this->desired_positions[2 * i + 2] = (sum_of_weights(args) - this->actual_positions[0]) - * probabilities[i] + this->actual_positions[0]; - } - - for (std::size_t i = 1; i < num_quantiles; ++i) - { - this->desired_positions[2 * i + 1] = (sum_of_weights(args) - this->actual_positions[0]) - * (probabilities[i - 1] + probabilities[i]) - / 2. + this->actual_positions[0]; - } - } - - // adjust heights and actual_positions of markers 1 to num_markers - 2 if necessary - for (std::size_t i = 1; i <= num_markers - 2; ++i) - { - // offset to desired position - float_type d = this->desired_positions[i] - this->actual_positions[i]; - - // offset to next position - float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; - - // offset to previous position - float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; - - // height ds - float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; - float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; - - if((d >= 1 && dp > 1) || (d <= -1 && dm < -1)) - { - short sign_d = static_cast(d / std::abs(d)); - - float_type h = this->heights[i] + sign_d / (dp - dm) * ((sign_d - dm)*hp + (dp - sign_d) * hm); - - // try adjusting heights[i] using p-squared formula - if(this->heights[i - 1] < h && h < this->heights[i + 1]) - { - this->heights[i] = h; - } - else - { - // use linear formula - if(d > 0) - { - this->heights[i] += hp; - } - if(d < 0) - { - this->heights[i] -= hm; - } - } - this->actual_positions[i] += sign_d; - } - } - } - } - - result_type result(dont_care) const - { - // for i in [1,probabilities.size()], return heights[i * 2] - detail::times2_iterator idx_begin = detail::make_times2_iterator(1); - detail::times2_iterator idx_end = detail::make_times2_iterator(this->probabilities.size() + 1); - - return result_type( - make_permutation_iterator(this->heights.begin(), idx_begin) - , make_permutation_iterator(this->heights.begin(), idx_end) - ); - } - - private: - array_type probabilities; // the quantile probabilities - array_type heights; // q_i - array_type actual_positions; // n_i - array_type desired_positions; // d_i - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_extended_p_square -// -namespace tag -{ - struct weighted_extended_p_square - : depends_on - , extended_p_square_probabilities - { - typedef accumulators::impl::weighted_extended_p_square_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_extended_p_square -// -namespace extract -{ - extractor const weighted_extended_p_square = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_extended_p_square) -} - -using extract::weighted_extended_p_square; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_kurtosis.hpp b/external/boost/accumulators/statistics/weighted_kurtosis.hpp deleted file mode 100644 index 3fd4ed7b4..000000000 --- a/external/boost/accumulators/statistics/weighted_kurtosis.hpp +++ /dev/null @@ -1,105 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_kurtosis.hpp -// -// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_KURTOSIS_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_KURTOSIS_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_kurtosis_impl - /** - @brief Kurtosis estimation for weighted samples - - The kurtosis of a sample distribution is defined as the ratio of the 4th central moment and the square of the 2nd central - moment (the variance) of the samples, minus 3. The term \f$ -3 \f$ is added in order to ensure that the normal distribution - has zero kurtosis. The kurtosis can also be expressed by the simple moments: - - \f[ - \hat{g}_2 = - \frac - {\widehat{m}_n^{(4)}-4\widehat{m}_n^{(3)}\hat{\mu}_n+6\widehat{m}_n^{(2)}\hat{\mu}_n^2-3\hat{\mu}_n^4} - {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^2} - 3, - \f] - - where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the - \f$ n \f$ samples. - - The kurtosis estimator for weighted samples is formally identical to the estimator for unweighted samples, except that - the weighted counterparts of all measures it depends on are to be taken. - */ - template - struct weighted_kurtosis_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - weighted_kurtosis_impl(dont_care) - { - } - - template - result_type result(Args const &args) const - { - return numeric::fdiv( - accumulators::weighted_moment<4>(args) - - 4. * accumulators::weighted_moment<3>(args) * weighted_mean(args) - + 6. * accumulators::weighted_moment<2>(args) * weighted_mean(args) * weighted_mean(args) - - 3. * weighted_mean(args) * weighted_mean(args) * weighted_mean(args) * weighted_mean(args) - , ( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) - * ( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) - ) - 3.; - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_kurtosis -// -namespace tag -{ - struct weighted_kurtosis - : depends_on, weighted_moment<3>, weighted_moment<4> > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_kurtosis_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_kurtosis -// -namespace extract -{ - extractor const weighted_kurtosis = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_kurtosis) -} - -using extract::weighted_kurtosis; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_mean.hpp b/external/boost/accumulators/statistics/weighted_mean.hpp deleted file mode 100644 index a80ef0984..000000000 --- a/external/boost/accumulators/statistics/weighted_mean.hpp +++ /dev/null @@ -1,189 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_mean.hpp -// -// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEAN_HPP_EAN_03_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEAN_HPP_EAN_03_11_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_mean_impl - // lazy, by default - template - struct weighted_mean_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - weighted_mean_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - typedef - typename mpl::if_< - is_same - , tag::weighted_sum - , tag::weighted_sum_of_variates - >::type - weighted_sum_tag; - - extractor const some_weighted_sum = {}; - - return numeric::fdiv(some_weighted_sum(args), sum_of_weights(args)); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // immediate_weighted_mean_impl - // immediate - template - struct immediate_weighted_mean_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - immediate_weighted_mean_impl(Args const &args) - : mean( - numeric::fdiv( - args[parameter::keyword::get() | Sample()] - * numeric::one::value - , numeric::one::value - ) - ) - { - } - - template - void operator ()(Args const &args) - { - // Matthias: - // need to pass the argument pack since the weight might be an external - // accumulator set passed as a named parameter - Weight w_sum = sum_of_weights(args); - Weight w = args[weight]; - weighted_sample const &s = args[parameter::keyword::get()] * w; - this->mean = numeric::fdiv(this->mean * (w_sum - w) + s, w_sum); - } - - result_type result(dont_care) const - { - return this->mean; - } - - private: - result_type mean; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_mean -// tag::immediate_weighted_mean -// -namespace tag -{ - struct weighted_mean - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_mean_impl impl; - }; - struct immediate_weighted_mean - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::immediate_weighted_mean_impl impl; - }; - template - struct weighted_mean_of_variates - : depends_on > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_mean_impl impl; - }; - template - struct immediate_weighted_mean_of_variates - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::immediate_weighted_mean_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_mean -// extract::weighted_mean_of_variates -// -namespace extract -{ - extractor const weighted_mean = {}; - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, weighted_mean_of_variates, (typename)(typename)) - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_mean) -} - -using extract::weighted_mean; -using extract::weighted_mean_of_variates; - -// weighted_mean(lazy) -> weighted_mean -template<> -struct as_feature -{ - typedef tag::weighted_mean type; -}; - -// weighted_mean(immediate) -> immediate_weighted_mean -template<> -struct as_feature -{ - typedef tag::immediate_weighted_mean type; -}; - -// weighted_mean_of_variates(lazy) -> weighted_mean_of_variates -template -struct as_feature(lazy)> -{ - typedef tag::weighted_mean_of_variates type; -}; - -// weighted_mean_of_variates(immediate) -> immediate_weighted_mean_of_variates -template -struct as_feature(immediate)> -{ - typedef tag::immediate_weighted_mean_of_variates type; -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_median.hpp b/external/boost/accumulators/statistics/weighted_median.hpp deleted file mode 100644 index ed7cadb33..000000000 --- a/external/boost/accumulators/statistics/weighted_median.hpp +++ /dev/null @@ -1,237 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_median.hpp -// -// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEDIAN_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MEDIAN_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_median_impl - // - /** - @brief Median estimation for weighted samples based on the \f$P^2\f$ quantile estimator - - The \f$P^2\f$ algorithm for weighted samples is invoked with a quantile probability of 0.5. - */ - template - struct weighted_median_impl - : accumulator_base - { - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - weighted_median_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - return weighted_p_square_quantile_for_median(args); - } - }; - - /////////////////////////////////////////////////////////////////////////////// - // with_density_weighted_median_impl - // - /** - @brief Median estimation for weighted samples based on the density estimator - - The algorithm determines the bin in which the \f$0.5*cnt\f$-th sample lies, \f$cnt\f$ being - the total number of samples. It returns the approximate horizontal position of this sample, - based on a linear interpolation inside the bin. - */ - template - struct with_density_weighted_median_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector > histogram_type; - typedef iterator_range range_type; - // for boost::result_of - typedef float_type result_type; - - template - with_density_weighted_median_impl(Args const &args) - : sum(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , is_dirty(true) - { - } - - void operator ()(dont_care) - { - this->is_dirty = true; - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - std::size_t cnt = count(args); - range_type histogram = weighted_density(args); - typename range_type::iterator it = histogram.begin(); - while (this->sum < 0.5 * cnt) - { - this->sum += it->second * cnt; - ++it; - } - --it; - float_type over = numeric::fdiv(this->sum - 0.5 * cnt, it->second * cnt); - this->median = it->first * over + (it + 1)->first * ( 1. - over ); - } - - return this->median; - } - - private: - mutable float_type sum; - mutable bool is_dirty; - mutable float_type median; - }; - - /////////////////////////////////////////////////////////////////////////////// - // with_p_square_cumulative_distribution_weighted_median_impl - // - /** - @brief Median estimation for weighted samples based on the \f$P^2\f$ cumulative distribution estimator - - The algorithm determines the first (leftmost) bin with a height exceeding 0.5. It - returns the approximate horizontal position of where the cumulative distribution - equals 0.5, based on a linear interpolation inside the bin. - */ - template - struct with_p_square_cumulative_distribution_weighted_median_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector > histogram_type; - typedef iterator_range range_type; - // for boost::result_of - typedef float_type result_type; - - with_p_square_cumulative_distribution_weighted_median_impl(dont_care) - : is_dirty(true) - { - } - - void operator ()(dont_care) - { - this->is_dirty = true; - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - range_type histogram = weighted_p_square_cumulative_distribution(args); - typename range_type::iterator it = histogram.begin(); - while (it->second < 0.5) - { - ++it; - } - float_type over = numeric::fdiv(it->second - 0.5, it->second - (it - 1)->second); - this->median = it->first * over + (it + 1)->first * ( 1. - over ); - } - - return this->median; - } - private: - mutable bool is_dirty; - mutable float_type median; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_median -// tag::with_density_weighted_median -// tag::with_p_square_cumulative_distribution_weighted_median -// -namespace tag -{ - struct weighted_median - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_median_impl impl; - }; - struct with_density_weighted_median - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::with_density_weighted_median_impl impl; - }; - struct with_p_square_cumulative_distribution_weighted_median - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::with_p_square_cumulative_distribution_weighted_median_impl impl; - }; - -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_median -// -namespace extract -{ - extractor const weighted_median = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_median) -} - -using extract::weighted_median; -// weighted_median(with_p_square_quantile) -> weighted_median -template<> -struct as_feature -{ - typedef tag::weighted_median type; -}; - -// weighted_median(with_density) -> with_density_weighted_median -template<> -struct as_feature -{ - typedef tag::with_density_weighted_median type; -}; - -// weighted_median(with_p_square_cumulative_distribution) -> with_p_square_cumulative_distribution_weighted_median -template<> -struct as_feature -{ - typedef tag::with_p_square_cumulative_distribution_weighted_median type; -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_moment.hpp b/external/boost/accumulators/statistics/weighted_moment.hpp deleted file mode 100644 index 011701c70..000000000 --- a/external/boost/accumulators/statistics/weighted_moment.hpp +++ /dev/null @@ -1,96 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_moment.hpp -// -// Copyright 2006, Eric Niebler, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MOMENT_HPP_EAN_15_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_MOMENT_HPP_EAN_15_11_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // for pow() -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_moment_impl - template - struct weighted_moment_impl - : accumulator_base // TODO: also depends_on sum of powers - { - BOOST_MPL_ASSERT_RELATION(N::value, >, 0); - typedef typename numeric::functional::multiplies::result_type weighted_sample; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - weighted_moment_impl(Args const &args) - : sum(args[sample | Sample()] * numeric::one::value) - { - } - - template - void operator ()(Args const &args) - { - this->sum += args[weight] * numeric::pow(args[sample], N()); - } - - template - result_type result(Args const &args) const - { - return numeric::fdiv(this->sum, sum_of_weights(args)); - } - - private: - weighted_sample sum; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_moment -// -namespace tag -{ - template - struct weighted_moment - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_moment_impl, mpl::_1, mpl::_2> impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_moment -// -namespace extract -{ - BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, weighted_moment, (int)) -} - -using extract::weighted_moment; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp b/external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp deleted file mode 100644 index ce750ed1f..000000000 --- a/external/boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp +++ /dev/null @@ -1,262 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_p_square_cumul_dist.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMUL_DIST_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // for named parameter p_square_cumulative_distribution_num_cells - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_p_square_cumulative_distribution_impl - // cumulative distribution calculation (as histogram) - /** - @brief Histogram calculation of the cumulative distribution with the \f$P^2\f$ algorithm for weighted samples - - A histogram of the sample cumulative distribution is computed dynamically without storing samples - based on the \f$ P^2 \f$ algorithm for weighted samples. The returned histogram has a specifiable - amount (num_cells) equiprobable (and not equal-sized) cells. - - Note that applying importance sampling results in regions to be more and other regions to be less - accurately estimated than without importance sampling, i.e., with unweighted samples. - - For further details, see - - R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and - histograms without storing observations, Communications of the ACM, - Volume 28 (October), Number 10, 1985, p. 1076-1085. - - @param p_square_cumulative_distribution_num_cells - */ - template - struct weighted_p_square_cumulative_distribution_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - typedef typename numeric::functional::fdiv::result_type float_type; - typedef std::vector > histogram_type; - typedef std::vector array_type; - // for boost::result_of - typedef iterator_range result_type; - - template - weighted_p_square_cumulative_distribution_impl(Args const &args) - : num_cells(args[p_square_cumulative_distribution_num_cells]) - , heights(num_cells + 1) - , actual_positions(num_cells + 1) - , desired_positions(num_cells + 1) - , histogram(num_cells + 1) - , is_dirty(true) - { - } - - template - void operator ()(Args const &args) - { - this->is_dirty = true; - - std::size_t cnt = count(args); - std::size_t sample_cell = 1; // k - std::size_t b = this->num_cells; - - // accumulate num_cells + 1 first samples - if (cnt <= b + 1) - { - this->heights[cnt - 1] = args[sample]; - this->actual_positions[cnt - 1] = args[weight]; - - // complete the initialization of heights by sorting - if (cnt == b + 1) - { - //std::sort(this->heights.begin(), this->heights.end()); - - // TODO: we need to sort the initial samples (in heights) in ascending order and - // sort their weights (in actual_positions) the same way. The following lines do - // it, but there must be a better and more efficient way of doing this. - typename array_type::iterator it_begin, it_end, it_min; - - it_begin = this->heights.begin(); - it_end = this->heights.end(); - - std::size_t pos = 0; - - while (it_begin != it_end) - { - it_min = std::min_element(it_begin, it_end); - std::size_t d = std::distance(it_begin, it_min); - std::swap(*it_begin, *it_min); - std::swap(this->actual_positions[pos], this->actual_positions[pos + d]); - ++it_begin; - ++pos; - } - - // calculate correct initial actual positions - for (std::size_t i = 1; i < b; ++i) - { - this->actual_positions[i] += this->actual_positions[i - 1]; - } - } - } - else - { - // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values - if (args[sample] < this->heights[0]) - { - this->heights[0] = args[sample]; - this->actual_positions[0] = args[weight]; - sample_cell = 1; - } - else if (this->heights[b] <= args[sample]) - { - this->heights[b] = args[sample]; - sample_cell = b; - } - else - { - typename array_type::iterator it; - it = std::upper_bound( - this->heights.begin() - , this->heights.end() - , args[sample] - ); - - sample_cell = std::distance(this->heights.begin(), it); - } - - // increment positions of markers above sample_cell - for (std::size_t i = sample_cell; i < b + 1; ++i) - { - this->actual_positions[i] += args[weight]; - } - - // determine desired marker positions - for (std::size_t i = 1; i < b + 1; ++i) - { - this->desired_positions[i] = this->actual_positions[0] - + numeric::fdiv((i-1) * (sum_of_weights(args) - this->actual_positions[0]), b); - } - - // adjust heights of markers 2 to num_cells if necessary - for (std::size_t i = 1; i < b; ++i) - { - // offset to desire position - float_type d = this->desired_positions[i] - this->actual_positions[i]; - - // offset to next position - float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; - - // offset to previous position - float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; - - // height ds - float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; - float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; - - if ( ( d >= 1. && dp > 1. ) || ( d <= -1. && dm < -1. ) ) - { - short sign_d = static_cast(d / std::abs(d)); - - // try adjusting heights[i] using p-squared formula - float_type h = this->heights[i] + sign_d / (dp - dm) * ( (sign_d - dm) * hp + (dp - sign_d) * hm ); - - if ( this->heights[i - 1] < h && h < this->heights[i + 1] ) - { - this->heights[i] = h; - } - else - { - // use linear formula - if (d>0) - { - this->heights[i] += hp; - } - if (d<0) - { - this->heights[i] -= hm; - } - } - this->actual_positions[i] += sign_d; - } - } - } - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty) - { - this->is_dirty = false; - - // creates a vector of std::pair where each pair i holds - // the values heights[i] (x-axis of histogram) and - // actual_positions[i] / sum_of_weights (y-axis of histogram) - - for (std::size_t i = 0; i < this->histogram.size(); ++i) - { - this->histogram[i] = std::make_pair(this->heights[i], numeric::fdiv(this->actual_positions[i], sum_of_weights(args))); - } - } - - return make_iterator_range(this->histogram); - } - - private: - std::size_t num_cells; // number of cells b - array_type heights; // q_i - array_type actual_positions; // n_i - array_type desired_positions; // n'_i - mutable histogram_type histogram; // histogram - mutable bool is_dirty; - }; - -} // namespace detail - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_p_square_cumulative_distribution -// -namespace tag -{ - struct weighted_p_square_cumulative_distribution - : depends_on - , p_square_cumulative_distribution_num_cells - { - typedef accumulators::impl::weighted_p_square_cumulative_distribution_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_p_square_cumulative_distribution -// -namespace extract -{ - extractor const weighted_p_square_cumulative_distribution = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_p_square_cumulative_distribution) -} - -using extract::weighted_p_square_cumulative_distribution; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp b/external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp deleted file mode 100644 index 918970e8d..000000000 --- a/external/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_p_square_cumulative_distribution.hpp -// -// Copyright 2012 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_CUMULATIVE_DISTRIBUTION_HPP_03_19_2012 - -#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__DMC__) -# pragma message ("Warning: This header is deprecated. Please use: boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp") -#elif defined(__GNUC__) || defined(__HP_aCC) || defined(__SUNPRO_CC) || defined(__IBMCPP__) -# warning "This header is deprecated. Please use: boost/accumulators/statistics/weighted_p_square_cumul_dist.hpp" -#endif - -#include - -#endif diff --git a/external/boost/accumulators/statistics/weighted_p_square_quantile.hpp b/external/boost/accumulators/statistics/weighted_p_square_quantile.hpp deleted file mode 100644 index 2ebc7b184..000000000 --- a/external/boost/accumulators/statistics/weighted_p_square_quantile.hpp +++ /dev/null @@ -1,255 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_p_square_quantile.hpp -// -// Copyright 2005 Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_P_SQUARE_QUANTILE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl { - /////////////////////////////////////////////////////////////////////////////// - // weighted_p_square_quantile_impl - // single quantile estimation with weighted samples - /** - @brief Single quantile estimation with the \f$P^2\f$ algorithm for weighted samples - - This version of the \f$P^2\f$ algorithm extends the \f$P^2\f$ algorithm to support weighted samples. - The \f$P^2\f$ algorithm estimates a quantile dynamically without storing samples. Instead of - storing the whole sample cumulative distribution, only five points (markers) are stored. The heights - of these markers are the minimum and the maximum of the samples and the current estimates of the - \f$(p/2)\f$-, \f$p\f$ - and \f$(1+p)/2\f$ -quantiles. Their positions are equal to the number - of samples that are smaller or equal to the markers. Each time a new sample is added, the - positions of the markers are updated and if necessary their heights are adjusted using a piecewise- - parabolic formula. - - For further details, see - - R. Jain and I. Chlamtac, The P^2 algorithm for dynamic calculation of quantiles and - histograms without storing observations, Communications of the ACM, - Volume 28 (October), Number 10, 1985, p. 1076-1085. - - @param quantile_probability - */ - template - struct weighted_p_square_quantile_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - typedef typename numeric::functional::fdiv::result_type float_type; - typedef array array_type; - // for boost::result_of - typedef float_type result_type; - - template - weighted_p_square_quantile_impl(Args const &args) - : p(is_same::value ? 0.5 : args[quantile_probability | 0.5]) - , heights() - , actual_positions() - , desired_positions() - { - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - - // accumulate 5 first samples - if (cnt <= 5) - { - this->heights[cnt - 1] = args[sample]; - - // In this initialization phase, actual_positions stores the weights of the - // initial samples that are needed at the end of the initialization phase to - // compute the correct initial positions of the markers. - this->actual_positions[cnt - 1] = args[weight]; - - // complete the initialization of heights and actual_positions by sorting - if (cnt == 5) - { - // TODO: we need to sort the initial samples (in heights) in ascending order and - // sort their weights (in actual_positions) the same way. The following lines do - // it, but there must be a better and more efficient way of doing this. - typename array_type::iterator it_begin, it_end, it_min; - - it_begin = this->heights.begin(); - it_end = this->heights.end(); - - std::size_t pos = 0; - - while (it_begin != it_end) - { - it_min = std::min_element(it_begin, it_end); - std::size_t d = std::distance(it_begin, it_min); - std::swap(*it_begin, *it_min); - std::swap(this->actual_positions[pos], this->actual_positions[pos + d]); - ++it_begin; - ++pos; - } - - // calculate correct initial actual positions - for (std::size_t i = 1; i < 5; ++i) - { - this->actual_positions[i] += this->actual_positions[i - 1]; - } - } - } - else - { - std::size_t sample_cell = 1; // k - - // find cell k such that heights[k-1] <= args[sample] < heights[k] and adjust extreme values - if (args[sample] < this->heights[0]) - { - this->heights[0] = args[sample]; - this->actual_positions[0] = args[weight]; - sample_cell = 1; - } - else if (this->heights[4] <= args[sample]) - { - this->heights[4] = args[sample]; - sample_cell = 4; - } - else - { - typedef typename array_type::iterator iterator; - iterator it = std::upper_bound( - this->heights.begin() - , this->heights.end() - , args[sample] - ); - - sample_cell = std::distance(this->heights.begin(), it); - } - - // increment positions of markers above sample_cell - for (std::size_t i = sample_cell; i < 5; ++i) - { - this->actual_positions[i] += args[weight]; - } - - // update desired positions for all markers - this->desired_positions[0] = this->actual_positions[0]; - this->desired_positions[1] = (sum_of_weights(args) - this->actual_positions[0]) - * this->p/2. + this->actual_positions[0]; - this->desired_positions[2] = (sum_of_weights(args) - this->actual_positions[0]) - * this->p + this->actual_positions[0]; - this->desired_positions[3] = (sum_of_weights(args) - this->actual_positions[0]) - * (1. + this->p)/2. + this->actual_positions[0]; - this->desired_positions[4] = sum_of_weights(args); - - // adjust height and actual positions of markers 1 to 3 if necessary - for (std::size_t i = 1; i <= 3; ++i) - { - // offset to desired positions - float_type d = this->desired_positions[i] - this->actual_positions[i]; - - // offset to next position - float_type dp = this->actual_positions[i + 1] - this->actual_positions[i]; - - // offset to previous position - float_type dm = this->actual_positions[i - 1] - this->actual_positions[i]; - - // height ds - float_type hp = (this->heights[i + 1] - this->heights[i]) / dp; - float_type hm = (this->heights[i - 1] - this->heights[i]) / dm; - - if ( ( d >= 1. && dp > 1. ) || ( d <= -1. && dm < -1. ) ) - { - short sign_d = static_cast(d / std::abs(d)); - - // try adjusting heights[i] using p-squared formula - float_type h = this->heights[i] + sign_d / (dp - dm) * ( (sign_d - dm) * hp + (dp - sign_d) * hm ); - - if ( this->heights[i - 1] < h && h < this->heights[i + 1] ) - { - this->heights[i] = h; - } - else - { - // use linear formula - if (d>0) - { - this->heights[i] += hp; - } - if (d<0) - { - this->heights[i] -= hm; - } - } - this->actual_positions[i] += sign_d; - } - } - } - } - - result_type result(dont_care) const - { - return this->heights[2]; - } - - private: - float_type p; // the quantile probability p - array_type heights; // q_i - array_type actual_positions; // n_i - array_type desired_positions; // n'_i - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_p_square_quantile -// -namespace tag -{ - struct weighted_p_square_quantile - : depends_on - { - typedef accumulators::impl::weighted_p_square_quantile_impl impl; - }; - struct weighted_p_square_quantile_for_median - : depends_on - { - typedef accumulators::impl::weighted_p_square_quantile_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_p_square_quantile -// extract::weighted_p_square_quantile_for_median -// -namespace extract -{ - extractor const weighted_p_square_quantile = {}; - extractor const weighted_p_square_quantile_for_median = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_p_square_quantile) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_p_square_quantile_for_median) -} - -using extract::weighted_p_square_quantile; -using extract::weighted_p_square_quantile_for_median; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp b/external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp deleted file mode 100644 index 418b38cfe..000000000 --- a/external/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp +++ /dev/null @@ -1,289 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_peaks_over_threshold.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_PEAKS_OVER_THRESHOLD_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // for named parameters pot_threshold_value and pot_threshold_probability -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -namespace impl -{ - - /////////////////////////////////////////////////////////////////////////////// - // weighted_peaks_over_threshold_impl - // works with an explicit threshold value and does not depend on order statistics of weighted samples - /** - @brief Weighted Peaks over Threshold Method for Weighted Quantile and Weighted Tail Mean Estimation - - @sa peaks_over_threshold_impl - - @param quantile_probability - @param pot_threshold_value - */ - template - struct weighted_peaks_over_threshold_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef boost::tuple result_type; - - template - weighted_peaks_over_threshold_impl(Args const &args) - : sign_((is_same::value) ? -1 : 1) - , mu_(sign_ * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , w_sum_(numeric::fdiv(args[weight | Weight()], (std::size_t)1)) - , threshold_(sign_ * args[pot_threshold_value]) - , fit_parameters_(boost::make_tuple(0., 0., 0.)) - , is_dirty_(true) - { - } - - template - void operator ()(Args const &args) - { - this->is_dirty_ = true; - - if (this->sign_ * args[sample] > this->threshold_) - { - this->mu_ += args[weight] * args[sample]; - this->sigma2_ += args[weight] * args[sample] * args[sample]; - this->w_sum_ += args[weight]; - } - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty_) - { - this->is_dirty_ = false; - - this->mu_ = this->sign_ * numeric::fdiv(this->mu_, this->w_sum_); - this->sigma2_ = numeric::fdiv(this->sigma2_, this->w_sum_); - this->sigma2_ -= this->mu_ * this->mu_; - - float_type threshold_probability = numeric::fdiv(sum_of_weights(args) - this->w_sum_, sum_of_weights(args)); - - float_type tmp = numeric::fdiv(( this->mu_ - this->threshold_ )*( this->mu_ - this->threshold_ ), this->sigma2_); - float_type xi_hat = 0.5 * ( 1. - tmp ); - float_type beta_hat = 0.5 * ( this->mu_ - this->threshold_ ) * ( 1. + tmp ); - float_type beta_bar = beta_hat * std::pow(1. - threshold_probability, xi_hat); - float_type u_bar = this->threshold_ - beta_bar * ( std::pow(1. - threshold_probability, -xi_hat) - 1.)/xi_hat; - this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); - } - - return this->fit_parameters_; - } - - private: - short sign_; // for left tail fitting, mirror the extreme values - mutable float_type mu_; // mean of samples above threshold - mutable float_type sigma2_; // variance of samples above threshold - mutable float_type w_sum_; // sum of weights of samples above threshold - float_type threshold_; - mutable result_type fit_parameters_; // boost::tuple that stores fit parameters - mutable bool is_dirty_; - }; - - /////////////////////////////////////////////////////////////////////////////// - // weighted_peaks_over_threshold_prob_impl - // determines threshold from a given threshold probability using order statistics - /** - @brief Peaks over Threshold Method for Quantile and Tail Mean Estimation - - @sa weighted_peaks_over_threshold_impl - - @param quantile_probability - @param pot_threshold_probability - */ - template - struct weighted_peaks_over_threshold_prob_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef boost::tuple result_type; - - template - weighted_peaks_over_threshold_prob_impl(Args const &args) - : sign_((is_same::value) ? -1 : 1) - , mu_(sign_ * numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , sigma2_(numeric::fdiv(args[sample | Sample()], (std::size_t)1)) - , threshold_probability_(args[pot_threshold_probability]) - , fit_parameters_(boost::make_tuple(0., 0., 0.)) - , is_dirty_(true) - { - } - - void operator ()(dont_care) - { - this->is_dirty_ = true; - } - - template - result_type result(Args const &args) const - { - if (this->is_dirty_) - { - this->is_dirty_ = false; - - float_type threshold = sum_of_weights(args) - * ( ( is_same::value ) ? this->threshold_probability_ : 1. - this->threshold_probability_ ); - - std::size_t n = 0; - Weight sum = Weight(0); - - while (sum < threshold) - { - if (n < static_cast(tail_weights(args).size())) - { - mu_ += *(tail_weights(args).begin() + n) * *(tail(args).begin() + n); - sigma2_ += *(tail_weights(args).begin() + n) * *(tail(args).begin() + n) * (*(tail(args).begin() + n)); - sum += *(tail_weights(args).begin() + n); - n++; - } - else - { - if (std::numeric_limits::has_quiet_NaN) - { - return boost::make_tuple( - std::numeric_limits::quiet_NaN() - , std::numeric_limits::quiet_NaN() - , std::numeric_limits::quiet_NaN() - ); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - return boost::make_tuple(Sample(0), Sample(0), Sample(0)); - } - } - } - - float_type u = *(tail(args).begin() + n - 1) * this->sign_; - - - this->mu_ = this->sign_ * numeric::fdiv(this->mu_, sum); - this->sigma2_ = numeric::fdiv(this->sigma2_, sum); - this->sigma2_ -= this->mu_ * this->mu_; - - if (is_same::value) - this->threshold_probability_ = 1. - this->threshold_probability_; - - float_type tmp = numeric::fdiv(( this->mu_ - u )*( this->mu_ - u ), this->sigma2_); - float_type xi_hat = 0.5 * ( 1. - tmp ); - float_type beta_hat = 0.5 * ( this->mu_ - u ) * ( 1. + tmp ); - float_type beta_bar = beta_hat * std::pow(1. - threshold_probability_, xi_hat); - float_type u_bar = u - beta_bar * ( std::pow(1. - threshold_probability_, -xi_hat) - 1.)/xi_hat; - this->fit_parameters_ = boost::make_tuple(u_bar, beta_bar, xi_hat); - - } - - return this->fit_parameters_; - } - - private: - short sign_; // for left tail fitting, mirror the extreme values - mutable float_type mu_; // mean of samples above threshold u - mutable float_type sigma2_; // variance of samples above threshold u - mutable float_type threshold_probability_; - mutable result_type fit_parameters_; // boost::tuple that stores fit parameters - mutable bool is_dirty_; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_peaks_over_threshold -// -namespace tag -{ - template - struct weighted_peaks_over_threshold - : depends_on - , pot_threshold_value - { - /// INTERNAL ONLY - typedef accumulators::impl::weighted_peaks_over_threshold_impl impl; - }; - - template - struct weighted_peaks_over_threshold_prob - : depends_on > - , pot_threshold_probability - { - /// INTERNAL ONLY - typedef accumulators::impl::weighted_peaks_over_threshold_prob_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_peaks_over_threshold -// -namespace extract -{ - extractor const weighted_peaks_over_threshold = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_peaks_over_threshold) -} - -using extract::weighted_peaks_over_threshold; - -// weighted_peaks_over_threshold(with_threshold_value) -> weighted_peaks_over_threshold -template -struct as_feature(with_threshold_value)> -{ - typedef tag::weighted_peaks_over_threshold type; -}; - -// weighted_peaks_over_threshold(with_threshold_probability) -> weighted_peaks_over_threshold_prob -template -struct as_feature(with_threshold_probability)> -{ - typedef tag::weighted_peaks_over_threshold_prob type; -}; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/weighted_skewness.hpp b/external/boost/accumulators/statistics/weighted_skewness.hpp deleted file mode 100644 index a3ac3876f..000000000 --- a/external/boost/accumulators/statistics/weighted_skewness.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_skewness.hpp -// -// Copyright 2006 Olivier Gygi, Daniel Egloff. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SKEWNESS_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SKEWNESS_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_skewness_impl - /** - @brief Skewness estimation for weighted samples - - The skewness of a sample distribution is defined as the ratio of the 3rd central moment and the \f$ 3/2 \f$-th power $ - of the 2nd central moment (the variance) of the samples. The skewness can also be expressed by the simple moments: - - \f[ - \hat{g}_1 = - \frac - {\widehat{m}_n^{(3)}-3\widehat{m}_n^{(2)}\hat{\mu}_n+2\hat{\mu}_n^3} - {\left(\widehat{m}_n^{(2)} - \hat{\mu}_n^{2}\right)^{3/2}} - \f] - - where \f$ \widehat{m}_n^{(i)} \f$ are the \f$ i \f$-th moment and \f$ \hat{\mu}_n \f$ the mean (first moment) of the - \f$ n \f$ samples. - - The skewness estimator for weighted samples is formally identical to the estimator for unweighted samples, except that - the weighted counterparts of all measures it depends on are to be taken. - */ - template - struct weighted_skewness_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - weighted_skewness_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - return numeric::fdiv( - accumulators::weighted_moment<3>(args) - - 3. * accumulators::weighted_moment<2>(args) * weighted_mean(args) - + 2. * weighted_mean(args) * weighted_mean(args) * weighted_mean(args) - , ( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) - * std::sqrt( accumulators::weighted_moment<2>(args) - weighted_mean(args) * weighted_mean(args) ) - ); - } - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_skewness -// -namespace tag -{ - struct weighted_skewness - : depends_on, weighted_moment<3> > - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_skewness_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_skewness -// -namespace extract -{ - extractor const weighted_skewness = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_skewness) -} - -using extract::weighted_skewness; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_sum.hpp b/external/boost/accumulators/statistics/weighted_sum.hpp deleted file mode 100644 index 27153906d..000000000 --- a/external/boost/accumulators/statistics/weighted_sum.hpp +++ /dev/null @@ -1,116 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_sum.hpp -// -// Copyright 2006 Eric Niebler, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_sum_impl - template - struct weighted_sum_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - - // for boost::result_of - typedef weighted_sample result_type; - - template - weighted_sum_impl(Args const &args) - : weighted_sum_( - args[parameter::keyword::get() | Sample()] - * numeric::one::value - ) - { - } - - template - void operator ()(Args const &args) - { - // what about overflow? - this->weighted_sum_ += args[parameter::keyword::get()] * args[weight]; - } - - result_type result(dont_care) const - { - return this->weighted_sum_; - } - - private: - - weighted_sample weighted_sum_; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_sum -// -namespace tag -{ - struct weighted_sum - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_sum_impl impl; - }; - - template - struct weighted_sum_of_variates - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_sum_impl impl; - }; - - struct abstract_weighted_sum_of_variates - : depends_on<> - { - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_sum -// -namespace extract -{ - extractor const weighted_sum = {}; - extractor const weighted_sum_of_variates = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum_of_variates) -} - -using extract::weighted_sum; -using extract::weighted_sum_of_variates; - -template -struct feature_of > - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_sum_kahan.hpp b/external/boost/accumulators/statistics/weighted_sum_kahan.hpp deleted file mode 100644 index fbb0303ac..000000000 --- a/external/boost/accumulators/statistics/weighted_sum_kahan.hpp +++ /dev/null @@ -1,138 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_sum_kahan.hpp -// -// Copyright 2011 Simon West. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_KAHAN_HPP_EAN_11_05_2011 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_SUM_KAHAN_HPP_EAN_11_05_2011 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ -#if _MSC_VER > 1400 -# pragma float_control(push) -# pragma float_control(precise, on) -#endif - - /////////////////////////////////////////////////////////////////////////////// - // weighted_sum_kahan_impl - template - struct weighted_sum_kahan_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - - // for boost::result_of - typedef weighted_sample result_type; - - template - weighted_sum_kahan_impl(Args const &args) - : weighted_sum_( - args[parameter::keyword::get() | Sample()] * numeric::one::value), - compensation(boost::numeric_cast(0.0)) - { - } - - template - void -#if BOOST_ACCUMULATORS_GCC_VERSION > 40305 - __attribute__((__optimize__("no-associative-math"))) -#endif - operator ()(Args const &args) - { - const weighted_sample myTmp1 = args[parameter::keyword::get()] * args[weight] - this->compensation; - const weighted_sample myTmp2 = this->weighted_sum_ + myTmp1; - this->compensation = (myTmp2 - this->weighted_sum_) - myTmp1; - this->weighted_sum_ = myTmp2; - - } - - result_type result(dont_care) const - { - return this->weighted_sum_; - } - - private: - weighted_sample weighted_sum_; - weighted_sample compensation; - }; - -#if _MSC_VER > 1400 -# pragma float_control(pop) -#endif - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_sum_kahan -// tag::weighted_sum_of_variates_kahan -// -namespace tag -{ - struct weighted_sum_kahan - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_sum_kahan_impl impl; - }; - - template - struct weighted_sum_of_variates_kahan - : depends_on<> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_sum_kahan_impl impl; - }; - -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_sum_kahan -// extract::weighted_sum_of_variates_kahan -// -namespace extract -{ - extractor const weighted_sum_kahan = {}; - extractor const weighted_sum_of_variates_kahan = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum_kahan) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_sum_of_variates_kahan) -} - -using extract::weighted_sum_kahan; -using extract::weighted_sum_of_variates_kahan; - -// weighted_sum(kahan) -> weighted_sum_kahan -template<> -struct as_feature -{ - typedef tag::weighted_sum_kahan type; -}; - -template -struct feature_of > - : feature_of -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/weighted_tail_mean.hpp b/external/boost/accumulators/statistics/weighted_tail_mean.hpp deleted file mode 100644 index bae853067..000000000 --- a/external/boost/accumulators/statistics/weighted_tail_mean.hpp +++ /dev/null @@ -1,169 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_tail_mean.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_MEAN_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_MEAN_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -namespace impl -{ - - /////////////////////////////////////////////////////////////////////////////// - // coherent_weighted_tail_mean_impl - // - // TODO - - /////////////////////////////////////////////////////////////////////////////// - // non_coherent_weighted_tail_mean_impl - // - /** - @brief Estimation of the (non-coherent) weighted tail mean based on order statistics (for both left and right tails) - - - - An estimation of the non-coherent, weighted tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$ is given by the weighted mean - of the - - \f[ - \lambda = \inf\left\{ l \left| \frac{1}{\bar{w}_n}\sum_{i=1}^{l} w_i \geq \alpha \right. \right\} - \f] - - smallest samples (left tail) or the weighted mean of the - - \f[ - n + 1 - \rho = n + 1 - \sup\left\{ r \left| \frac{1}{\bar{w}_n}\sum_{i=r}^{n} w_i \geq (1 - \alpha) \right. \right\} - \f] - - largest samples (right tail) above a quantile \f$\hat{q}_{\alpha}\f$ of level \f$\alpha\f$, \f$n\f$ being the total number of sample - and \f$\bar{w}_n\f$ the sum of all \f$n\f$ weights: - - \f[ - \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X) = \frac{\sum_{i=1}^{\lambda} w_i X_{i:n}}{\sum_{i=1}^{\lambda} w_i}, - \f] - - \f[ - \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X) = \frac{\sum_{i=\rho}^n w_i X_{i:n}}{\sum_{i=\rho}^n w_i}. - \f] - - @param quantile_probability - */ - template - struct non_coherent_weighted_tail_mean_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - non_coherent_weighted_tail_mean_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - float_type threshold = sum_of_weights(args) - * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ); - - std::size_t n = 0; - Weight sum = Weight(0); - - while (sum < threshold) - { - if (n < static_cast(tail_weights(args).size())) - { - sum += *(tail_weights(args).begin() + n); - n++; - } - else - { - if (std::numeric_limits::has_quiet_NaN) - { - return std::numeric_limits::quiet_NaN(); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - return result_type(0); - } - } - } - - return numeric::fdiv( - std::inner_product( - tail(args).begin() - , tail(args).begin() + n - , tail_weights(args).begin() - , weighted_sample(0) - ) - , sum - ); - } - }; - -} // namespace impl - - -/////////////////////////////////////////////////////////////////////////////// -// tag::non_coherent_weighted_tail_mean<> -// -namespace tag -{ - template - struct non_coherent_weighted_tail_mean - : depends_on > - { - typedef accumulators::impl::non_coherent_weighted_tail_mean_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::non_coherent_weighted_tail_mean; -// -namespace extract -{ - extractor const non_coherent_weighted_tail_mean = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(non_coherent_weighted_tail_mean) -} - -using extract::non_coherent_weighted_tail_mean; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/weighted_tail_quantile.hpp b/external/boost/accumulators/statistics/weighted_tail_quantile.hpp deleted file mode 100644 index b143457dd..000000000 --- a/external/boost/accumulators/statistics/weighted_tail_quantile.hpp +++ /dev/null @@ -1,146 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_tail_quantile.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_QUANTILE_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_QUANTILE_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // weighted_tail_quantile_impl - // Tail quantile estimation based on order statistics of weighted samples - /** - @brief Tail quantile estimation based on order statistics of weighted samples (for both left and right tails) - - An estimator \f$\hat{q}\f$ of tail quantiles with level \f$\alpha\f$ based on order statistics - \f$X_{1:n} \leq X_{2:n} \leq\dots\leq X_{n:n}\f$ of weighted samples are given by \f$X_{\lambda:n}\f$ (left tail) - and \f$X_{\rho:n}\f$ (right tail), where - - \f[ - \lambda = \inf\left\{ l \left| \frac{1}{\bar{w}_n}\sum_{i=1}^{l} w_i \geq \alpha \right. \right\} - \f] - - and - - \f[ - \rho = \sup\left\{ r \left| \frac{1}{\bar{w}_n}\sum_{i=r}^{n} w_i \geq (1 - \alpha) \right. \right\}, - \f] - - \f$n\f$ being the number of samples and \f$\bar{w}_n\f$ the sum of all weights. - - @param quantile_probability - */ - template - struct weighted_tail_quantile_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - // for boost::result_of - typedef Sample result_type; - - weighted_tail_quantile_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - float_type threshold = sum_of_weights(args) - * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ); - - std::size_t n = 0; - Weight sum = Weight(0); - - while (sum < threshold) - { - if (n < static_cast(tail_weights(args).size())) - { - sum += *(tail_weights(args).begin() + n); - n++; - } - else - { - if (std::numeric_limits::has_quiet_NaN) - { - return std::numeric_limits::quiet_NaN(); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - return Sample(0); - } - } - } - - // Note that the cached samples of the left are sorted in ascending order, - // whereas the samples of the right tail are sorted in descending order - return *(boost::begin(tail(args)) + n - 1); - } - }; -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_tail_quantile<> -// -namespace tag -{ - template - struct weighted_tail_quantile - : depends_on > - { - /// INTERNAL ONLY - typedef accumulators::impl::weighted_tail_quantile_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_tail_quantile -// -namespace extract -{ - extractor const weighted_tail_quantile = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_tail_quantile) -} - -using extract::weighted_tail_quantile; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/weighted_tail_variate_means.hpp b/external/boost/accumulators/statistics/weighted_tail_variate_means.hpp deleted file mode 100644 index b1133109e..000000000 --- a/external/boost/accumulators/statistics/weighted_tail_variate_means.hpp +++ /dev/null @@ -1,246 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_tail_variate_means.hpp -// -// Copyright 2006 Daniel Egloff, Olivier Gygi. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_TAIL_VARIATE_MEANS_HPP_DE_01_01_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4127) // conditional expression is constant -#endif - -namespace boost -{ - // for _BinaryOperatrion2 in std::inner_product below - // multiplies two values and promotes the result to double - namespace numeric { namespace functional - { - /////////////////////////////////////////////////////////////////////////////// - // numeric::functional::multiply_and_promote_to_double - template - struct multiply_and_promote_to_double - : multiplies - { - }; - }} -} - -namespace boost { namespace accumulators -{ - -namespace impl -{ - /** - @brief Estimation of the absolute and relative weighted tail variate means (for both left and right tails) - - For all \f$j\f$-th variates associated to the - - \f[ - \lambda = \inf\left\{ l \left| \frac{1}{\bar{w}_n}\sum_{i=1}^{l} w_i \geq \alpha \right. \right\} - \f] - - smallest samples (left tail) or the weighted mean of the - - \f[ - n + 1 - \rho = n + 1 - \sup\left\{ r \left| \frac{1}{\bar{w}_n}\sum_{i=r}^{n} w_i \geq (1 - \alpha) \right. \right\} - \f] - - largest samples (right tail), the absolute weighted tail means \f$\widehat{ATM}_{n,\alpha}(X, j)\f$ - are computed and returned as an iterator range. Alternatively, the relative weighted tail means - \f$\widehat{RTM}_{n,\alpha}(X, j)\f$ are returned, which are the absolute weighted tail means - normalized with the weighted (non-coherent) sample tail mean \f$\widehat{NCTM}_{n,\alpha}(X)\f$. - - \f[ - \widehat{ATM}_{n,\alpha}^{\mathrm{right}}(X, j) = - \frac{1}{\sum_{i=\rho}^n w_i} - \sum_{i=\rho}^n w_i \xi_{j,i} - \f] - - \f[ - \widehat{ATM}_{n,\alpha}^{\mathrm{left}}(X, j) = - \frac{1}{\sum_{i=1}^{\lambda}} - \sum_{i=1}^{\lambda} w_i \xi_{j,i} - \f] - - \f[ - \widehat{RTM}_{n,\alpha}^{\mathrm{right}}(X, j) = - \frac{\sum_{i=\rho}^n w_i \xi_{j,i}} - {\sum_{i=\rho}^n w_i \widehat{NCTM}_{n,\alpha}^{\mathrm{right}}(X)} - \f] - - \f[ - \widehat{RTM}_{n,\alpha}^{\mathrm{left}}(X, j) = - \frac{\sum_{i=1}^{\lambda} w_i \xi_{j,i}} - {\sum_{i=1}^{\lambda} w_i \widehat{NCTM}_{n,\alpha}^{\mathrm{left}}(X)} - \f] - */ - - /////////////////////////////////////////////////////////////////////////////// - // weighted_tail_variate_means_impl - // by default: absolute weighted_tail_variate_means - template - struct weighted_tail_variate_means_impl - : accumulator_base - { - typedef typename numeric::functional::fdiv::result_type float_type; - typedef typename numeric::functional::fdiv::result_type, Weight>::result_type array_type; - // for boost::result_of - typedef iterator_range result_type; - - weighted_tail_variate_means_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - float_type threshold = sum_of_weights(args) - * ( ( is_same::value ) ? args[quantile_probability] : 1. - args[quantile_probability] ); - - std::size_t n = 0; - Weight sum = Weight(0); - - while (sum < threshold) - { - if (n < static_cast(tail_weights(args).size())) - { - sum += *(tail_weights(args).begin() + n); - n++; - } - else - { - if (std::numeric_limits::has_quiet_NaN) - { - std::fill( - this->tail_means_.begin() - , this->tail_means_.end() - , std::numeric_limits::quiet_NaN() - ); - } - else - { - std::ostringstream msg; - msg << "index n = " << n << " is not in valid range [0, " << tail(args).size() << ")"; - boost::throw_exception(std::runtime_error(msg.str())); - } - } - } - - std::size_t num_variates = tail_variate(args).begin()->size(); - - this->tail_means_.clear(); - this->tail_means_.resize(num_variates, Sample(0)); - - this->tail_means_ = std::inner_product( - tail_variate(args).begin() - , tail_variate(args).begin() + n - , tail_weights(args).begin() - , this->tail_means_ - , numeric::functional::plus() - , numeric::functional::multiply_and_promote_to_double() - ); - - float_type factor = sum * ( (is_same::value) ? non_coherent_weighted_tail_mean(args) : 1. ); - - std::transform( - this->tail_means_.begin() - , this->tail_means_.end() - , this->tail_means_.begin() -#ifdef BOOST_NO_CXX98_BINDERS - , std::bind(numeric::functional::divides(), std::placeholders::_1, factor) -#else - , std::bind2nd(numeric::functional::divides(), factor) -#endif - ); - - return make_iterator_range(this->tail_means_); - } - - private: - - mutable array_type tail_means_; - - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::absolute_weighted_tail_variate_means -// tag::relative_weighted_tail_variate_means -// -namespace tag -{ - template - struct absolute_weighted_tail_variate_means - : depends_on, tail_variate, tail_weights > - { - typedef accumulators::impl::weighted_tail_variate_means_impl impl; - }; - template - struct relative_weighted_tail_variate_means - : depends_on, tail_variate, tail_weights > - { - typedef accumulators::impl::weighted_tail_variate_means_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_tail_variate_means -// extract::relative_weighted_tail_variate_means -// -namespace extract -{ - extractor const weighted_tail_variate_means = {}; - extractor const relative_weighted_tail_variate_means = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_tail_variate_means) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(relative_weighted_tail_variate_means) -} - -using extract::weighted_tail_variate_means; -using extract::relative_weighted_tail_variate_means; - -// weighted_tail_variate_means(absolute) -> absolute_weighted_tail_variate_means -template -struct as_feature(absolute)> -{ - typedef tag::absolute_weighted_tail_variate_means type; -}; - -// weighted_tail_variate_means(relative) -> relative_weighted_tail_variate_means -template -struct as_feature(relative)> -{ - typedef tag::relative_weighted_tail_variate_means type; -}; - -}} // namespace boost::accumulators - -#ifdef _MSC_VER -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/accumulators/statistics/weighted_variance.hpp b/external/boost/accumulators/statistics/weighted_variance.hpp deleted file mode 100644 index bc199affa..000000000 --- a/external/boost/accumulators/statistics/weighted_variance.hpp +++ /dev/null @@ -1,186 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// weighted_variance.hpp -// -// Copyright 2005 Daniel Egloff, Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_VARIANCE_HPP_EAN_28_10_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WEIGHTED_VARIANCE_HPP_EAN_28_10_2005 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace impl -{ - //! Lazy calculation of variance of weighted samples. - /*! - The default implementation of the variance of weighted samples is based on the second moment - \f$\widehat{m}_n^{(2)}\f$ (weighted_moment<2>) and the mean\f$ \hat{\mu}_n\f$ (weighted_mean): - \f[ - \hat{\sigma}_n^2 = \widehat{m}_n^{(2)}-\hat{\mu}_n^2, - \f] - where \f$n\f$ is the number of samples. - */ - template - struct lazy_weighted_variance_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - lazy_weighted_variance_impl(dont_care) {} - - template - result_type result(Args const &args) const - { - extractor const some_mean = {}; - result_type tmp = some_mean(args); - return accumulators::weighted_moment<2>(args) - tmp * tmp; - } - }; - - //! Iterative calculation of variance of weighted samples. - /*! - Iterative calculation of variance of weighted samples: - \f[ - \hat{\sigma}_n^2 = - \frac{\bar{w}_n - w_n}{\bar{w}_n}\hat{\sigma}_{n - 1}^2 - + \frac{w_n}{\bar{w}_n - w_n}\left(X_n - \hat{\mu}_n\right)^2 - ,\quad n\ge2,\quad\hat{\sigma}_0^2 = 0. - \f] - where \f$\bar{w}_n\f$ is the sum of the \f$n\f$ weights \f$w_i\f$ and \f$\hat{\mu}_n\f$ - the estimate of the mean of the weighted samples. Note that the sample variance is not defined for - \f$n <= 1\f$. - */ - template - struct weighted_variance_impl - : accumulator_base - { - typedef typename numeric::functional::multiplies::result_type weighted_sample; - // for boost::result_of - typedef typename numeric::functional::fdiv::result_type result_type; - - template - weighted_variance_impl(Args const &args) - : weighted_variance(numeric::fdiv(args[sample | Sample()], numeric::one::value)) - { - } - - template - void operator ()(Args const &args) - { - std::size_t cnt = count(args); - - if(cnt > 1) - { - extractor const some_mean = {}; - - result_type tmp = args[parameter::keyword::get()] - some_mean(args); - - this->weighted_variance = - numeric::fdiv(this->weighted_variance * (sum_of_weights(args) - args[weight]), sum_of_weights(args)) - + numeric::fdiv(tmp * tmp * args[weight], sum_of_weights(args) - args[weight] ); - } - } - - result_type result(dont_care) const - { - return this->weighted_variance; - } - - private: - result_type weighted_variance; - }; - -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// tag::weighted_variance -// tag::immediate_weighted_variance -// -namespace tag -{ - struct lazy_weighted_variance - : depends_on, weighted_mean> - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::lazy_weighted_variance_impl impl; - }; - - struct weighted_variance - : depends_on - { - /// INTERNAL ONLY - /// - typedef accumulators::impl::weighted_variance_impl impl; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// extract::weighted_variance -// extract::immediate_weighted_variance -// -namespace extract -{ - extractor const lazy_weighted_variance = {}; - extractor const weighted_variance = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(lazy_weighted_variance) - BOOST_ACCUMULATORS_IGNORE_GLOBAL(weighted_variance) -} - -using extract::lazy_weighted_variance; -using extract::weighted_variance; - -// weighted_variance(lazy) -> lazy_weighted_variance -template<> -struct as_feature -{ - typedef tag::lazy_weighted_variance type; -}; - -// weighted_variance(immediate) -> weighted_variance -template<> -struct as_feature -{ - typedef tag::weighted_variance type; -}; - -//////////////////////////////////////////////////////////////////////////// -//// droppable_accumulator -//// need to specialize droppable lazy weighted_variance to cache the result at the -//// point the accumulator is dropped. -///// INTERNAL ONLY -///// -//template -//struct droppable_accumulator > -// : droppable_accumulator_base< -// with_cached_result > -// > -//{ -// template -// droppable_accumulator(Args const &args) -// : droppable_accumulator::base(args) -// { -// } -//}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics/with_error.hpp b/external/boost/accumulators/statistics/with_error.hpp deleted file mode 100644 index adafc8e0d..000000000 --- a/external/boost/accumulators/statistics/with_error.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// with_error.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_WITH_ERROR_HPP_EAN_01_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_WITH_ERROR_HPP_EAN_01_11_2005 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -namespace detail -{ - template - struct error_of_tag - { - typedef tag::error_of type; - }; -} - -/////////////////////////////////////////////////////////////////////////////// -// with_error -// -template -struct with_error - : mpl::transform_view< - mpl::vector - , detail::error_of_tag - > -{ -}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/accumulators/statistics_fwd.hpp b/external/boost/accumulators/statistics_fwd.hpp deleted file mode 100644 index 61904f30b..000000000 --- a/external/boost/accumulators/statistics_fwd.hpp +++ /dev/null @@ -1,432 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// statistics_fwd.hpp -// -// Copyright 2005 Eric Niebler. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_ACCUMULATORS_STATISTICS_STATISTICS_FWD_HPP_EAN_23_11_2005 -#define BOOST_ACCUMULATORS_STATISTICS_STATISTICS_FWD_HPP_EAN_23_11_2005 - -#include // for mpl::na -#include -#include -#include -#include -#include - -namespace boost { namespace accumulators -{ - -/////////////////////////////////////////////////////////////////////////////// -// base struct and base extractor for quantiles -namespace tag -{ - struct quantile - : depends_on<> - { - typedef mpl::print impl; - }; -} -namespace extract -{ - extractor const quantile = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(quantile) -} -using extract::quantile; - -/////////////////////////////////////////////////////////////////////////////// -// base struct and base extractor for *coherent* tail means -namespace tag -{ - struct tail_mean - : depends_on<> - { - typedef mpl::print impl; - }; -} -namespace extract -{ - extractor const tail_mean = {}; - - BOOST_ACCUMULATORS_IGNORE_GLOBAL(tail_mean) -} -using extract::tail_mean; - -namespace tag -{ - /////////////////////////////////////////////////////////////////////////////// - // Variates tags - struct weights; - struct covariate1; - struct covariate2; - - /////////////////////////////////////////////////////////////////////////////// - // Statistic tags - struct count; - template - struct covariance; - struct density; - template - struct error_of; - struct extended_p_square; - struct extended_p_square_quantile; - struct extended_p_square_quantile_quadratic; - struct kurtosis; - struct max; - struct mean; - struct immediate_mean; - struct mean_of_weights; - struct immediate_mean_of_weights; - template - struct mean_of_variates; - template - struct immediate_mean_of_variates; - struct median; - struct with_density_median; - struct with_p_square_cumulative_distribution_median; - struct min; - template - struct moment; - template - struct peaks_over_threshold; - template - struct peaks_over_threshold_prob; - template - struct pot_tail_mean; - template - struct pot_tail_mean_prob; - template - struct pot_quantile; - template - struct pot_quantile_prob; - struct p_square_cumulative_distribution; - struct p_square_quantile; - struct p_square_quantile_for_median; - struct skewness; - struct sum; - struct sum_of_weights; - template - struct sum_of_variates; - struct sum_kahan; - struct sum_of_weights_kahan; - template - struct sum_of_variates_kahan; - template - struct tail; - template - struct coherent_tail_mean; - template - struct non_coherent_tail_mean; - template - struct tail_quantile; - template - struct tail_variate; - template - struct tail_weights; - template - struct right_tail_variate; - template - struct left_tail_variate; - template - struct tail_variate_means; - template - struct absolute_tail_variate_means; - template - struct relative_tail_variate_means; - struct lazy_variance; - struct variance; - template - struct weighted_covariance; - struct weighted_density; - struct weighted_kurtosis; - struct weighted_mean; - struct immediate_weighted_mean; - template - struct weighted_mean_of_variates; - template - struct immediate_weighted_mean_of_variates; - struct weighted_median; - struct with_density_weighted_median; - struct with_p_square_cumulative_distribution_weighted_median; - struct weighted_extended_p_square; - struct weighted_extended_p_square_quantile; - struct weighted_extended_p_square_quantile_quadratic; - template - struct weighted_moment; - template - struct weighted_peaks_over_threshold; - template - struct weighted_peaks_over_threshold_prob; - template - struct weighted_pot_quantile; - template - struct weighted_pot_quantile_prob; - template - struct weighted_pot_tail_mean; - template - struct weighted_pot_tail_mean_prob; - struct weighted_p_square_cumulative_distribution; - struct weighted_p_square_quantile; - struct weighted_p_square_quantile_for_median; - struct weighted_skewness; - template - struct weighted_tail_quantile; - template - struct non_coherent_weighted_tail_mean; - template - struct weighted_tail_quantile; - template - struct weighted_tail_variate_means; - template - struct absolute_weighted_tail_variate_means; - template - struct relative_weighted_tail_variate_means; - struct lazy_weighted_variance; - struct weighted_variance; - struct weighted_sum; - template - struct weighted_sum_of_variates; - struct rolling_window_plus1; - struct rolling_window; - struct rolling_sum; - struct rolling_count; - struct rolling_mean; -} // namespace tag - -namespace impl -{ - /////////////////////////////////////////////////////////////////////////////// - // Statistics impls - struct count_impl; - - template - struct covariance_impl; - - template - struct density_impl; - - template - struct error_of_impl; - - template - struct error_of_mean_impl; - - template - struct extended_p_square_impl; - - template - struct extended_p_square_quantile_impl; - - template - struct kurtosis_impl; - - template - struct max_impl; - - template - struct median_impl; - - template - struct with_density_median_impl; - - template - struct with_p_square_cumulative_distribution_median_impl; - - template - struct min_impl; - - template - struct mean_impl; - - template - struct immediate_mean_impl; - - template - struct moment_impl; - - template - struct peaks_over_threshold_prob_impl; - - template - struct pot_quantile_impl; - - template - struct pot_tail_mean_impl; - - template - struct p_square_cumulative_distribution_impl; - - template - struct p_square_quantile_impl; - - template - struct skewness_impl; - - template - struct sum_impl; - - template - struct sum_kahan_impl; - - template - struct tail_impl; - - template - struct coherent_tail_mean_impl; - - template - struct non_coherent_tail_mean_impl; - - template - struct tail_quantile_impl; - - template - struct tail_variate_impl; - - template - struct tail_variate_means_impl; - - template - struct lazy_variance_impl; - - template - struct variance_impl; - - template - struct weighted_covariance_impl; - - template - struct weighted_density_impl; - - template - struct weighted_kurtosis_impl; - - template - struct weighted_median_impl; - - template - struct with_density_weighted_median_impl; - - template - struct with_p_square_cumulative_distribution_weighted_median_impl; - - template - struct weighted_mean_impl; - - template - struct immediate_weighted_mean_impl; - - template - struct weighted_peaks_over_threshold_impl; - - template - struct weighted_peaks_over_threshold_prob_impl; - - template - struct with_p_square_cumulative_distribution_weighted_median_impl; - - template - struct weighted_extended_p_square_impl; - - template - struct weighted_moment_impl; - - template - struct weighted_p_square_cumulative_distribution_impl; - - template - struct weighted_p_square_quantile_impl; - - template - struct weighted_skewness_impl; - - template - struct weighted_sum_impl; - - template - struct weighted_sum_kahan_impl; - - template - struct non_coherent_weighted_tail_mean_impl; - - template - struct weighted_tail_quantile_impl; - - template - struct weighted_tail_variate_means_impl; - - template - struct lazy_weighted_variance_impl; - - template - struct weighted_variance_impl; - - template - struct rolling_window_plus1_impl; - - template - struct rolling_window_impl; - - template - struct rolling_sum_impl; - - template - struct rolling_count_impl; - - template - struct rolling_mean_impl; -} // namespace impl - -/////////////////////////////////////////////////////////////////////////////// -// stats -// A more descriptive name for an MPL sequence of statistics. -template -struct stats; - -template -struct with_error; - -// modifiers for the mean and variance stats -struct lazy {}; -struct immediate {}; - -// modifiers for the variance stat -// struct fast {}; -// struct accurate {}; - -// modifiers for order -struct right {}; -struct left {}; -// typedef right default_order_tag_type; - -// modifiers for the tail_variate_means stat -struct absolute {}; -struct relative {}; - -// modifiers for median and weighted_median stats -struct with_density {}; -struct with_p_square_cumulative_distribution {}; -struct with_p_square_quantile {}; - -// modifiers for peaks_over_threshold stat -struct with_threshold_value {}; -struct with_threshold_probability {}; - -// modifiers for extended_p_square_quantile and weighted_extended_p_square_quantile stats -struct weighted {}; -struct unweighted {}; -struct linear {}; -struct quadratic {}; - -// modifiers for p_square_quantile -struct regular {}; -struct for_median {}; - -// modifier for sum_kahan, sum_of_weights_kahan, sum_of_variates_kahan, weighted_sum_kahan -struct kahan {}; - -}} // namespace boost::accumulators - -#endif diff --git a/external/boost/fusion/adapted.hpp b/external/boost/fusion/adapted.hpp deleted file mode 100644 index 5bc33899c..000000000 --- a/external/boost/fusion/adapted.hpp +++ /dev/null @@ -1,26 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ADAPTED_30122005_1420) -#define BOOST_FUSION_ADAPTED_30122005_1420 - -#include -#include -#include -#include -#include -#include -#include -#include - -// The std_tuple_iterator adaptor only supports implementations -// using variadic templates -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include -#endif - -#endif diff --git a/external/boost/fusion/adapted/adt.hpp b/external/boost/fusion/adapted/adt.hpp deleted file mode 100644 index d70cf8238..000000000 --- a/external/boost/fusion/adapted/adt.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_HPP -#define BOOST_FUSION_ADAPTED_ADT_HPP - -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/adt/adapt_adt.hpp b/external/boost/fusion/adapted/adt/adapt_adt.hpp deleted file mode 100644 index 2ebc76c36..000000000 --- a/external/boost/fusion/adapted/adt/adapt_adt.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2009-2010 Hartmut Kaiser - Copyright (c) 2010-2011 Christopher Schmidt - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_HPP -#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ADT_C( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ - BOOST_FUSION_ADAPT_ADT_C_BASE( \ - TEMPLATE_PARAMS_SEQ, \ - NAME_SEQ, \ - I, \ - BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ - BOOST_PP_LESS( \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 4)) \ - -#define BOOST_FUSION_ADAPT_TPL_ADT(TEMPLATE_PARAMS_SEQ, NAME_SEQ , ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (1)TEMPLATE_PARAMS_SEQ, \ - (1)NAME_SEQ, \ - struct_tag, \ - 0, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ADT_C) - -#define BOOST_FUSION_ADAPT_ADT(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - struct_tag, \ - 0, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ADT_C) - -#define BOOST_FUSION_ADAPT_ADT_AS_VIEW(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - struct_tag, \ - 1, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_ADT_FILLER_0(0,0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ADT_C) - -#endif diff --git a/external/boost/fusion/adapted/adt/adapt_adt_named.hpp b/external/boost/fusion/adapted/adt/adapt_adt_named.hpp deleted file mode 100644 index 617e2f184..000000000 --- a/external/boost/fusion/adapted/adt/adapt_adt_named.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2009-2010 Hartmut Kaiser - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP -#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ADT_NAMED_HPP - -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ADT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_ADT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ - ATTRIBUTES) - -#define BOOST_FUSION_ADAPT_ADT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_ADT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) - -#endif diff --git a/external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp b/external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp deleted file mode 100644 index bd451a32e..000000000 --- a/external/boost/fusion/adapted/adt/adapt_assoc_adt.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2007 Dan Marsden - Copyright (c) 2010-2011 Christopher Schmidt - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_HPP -#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_C( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ - \ - BOOST_FUSION_ADAPT_ADT_C_BASE( \ - TEMPLATE_PARAMS_SEQ, \ - NAME_SEQ, \ - I, \ - BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ - BOOST_PP_LESS( \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 5)) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct struct_assoc_key \ - { \ - typedef BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type;\ - }; - -#define BOOST_FUSION_ADAPT_ASSOC_TPL_ADT( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (1)TEMPLATE_PARAMS_SEQ, \ - (1)NAME_SEQ, \ - assoc_struct_tag, \ - 0, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ASSOC_ADT_C) - -#define BOOST_FUSION_ADAPT_ASSOC_ADT(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - assoc_struct_tag, \ - 0, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ASSOC_ADT_C) - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_AS_VIEW(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - assoc_struct_tag, \ - 1, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(0,0,0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ASSOC_ADT_C) - -#endif diff --git a/external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp b/external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp deleted file mode 100644 index a420e5d3c..000000000 --- a/external/boost/fusion/adapted/adt/adapt_assoc_adt_named.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP -#define BOOST_FUSION_ADAPTED_ADT_ADAPT_ASSOC_ADT_NAMED_HPP - -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_ASSOC_ADT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ - ATTRIBUTES) - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) - -#endif diff --git a/external/boost/fusion/adapted/adt/detail/adapt_base.hpp b/external/boost/fusion/adapted/adt/detail/adapt_base.hpp deleted file mode 100644 index 0ef6fcd92..000000000 --- a/external/boost/fusion/adapted/adt/detail/adapt_base.hpp +++ /dev/null @@ -1,301 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP -#define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL(TEMPLATE_PARAMS_SEQ) \ - typename detail::get_identity< \ - lvalue \ - , BOOST_PP_SEQ_ELEM(1,TEMPLATE_PARAMS_SEQ) \ - >::type - -#define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL( \ - TEMPLATE_PARAMS_SEQ) \ - \ - boost::remove_const::type>::type - -#define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ - BOOST_PP_IF(DEDUCE_TYPE, 0, 2), ATTRIBUTE) - -#define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ - BOOST_PP_IF(DEDUCE_TYPE, 1, 3), ATTRIBUTE) - -#ifdef BOOST_MSVC -# define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - \ - struct deduced_attr_type { \ - static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ - typedef \ - BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ - typename) \ - BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ - ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, 1)) type; \ - }; - -#else -# define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - struct deduced_attr_type { \ - static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ - typedef BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ - ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, 1)) type; \ - }; - -#endif - -#define BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF( \ - NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - \ - BOOST_FUSION_DEDUCED_ATTR_TYPE( \ - NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - \ - typedef \ - BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ - typename) \ - boost::remove_const< \ - BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ - typename) \ - deduced_attr_type::type \ - >::type type; \ - \ - typedef \ - BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ - typename) \ - boost::add_const< \ - BOOST_PP_EXPR_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), \ - typename) \ - deduced_attr_type::type \ - >::type const_type; - -#define BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE( \ - NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 0, ATTRIBUTE) type; \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 1, ATTRIBUTE) const_type; - - -#define BOOST_FUSION_ADAPT_ADT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,PREFIX, \ - ATTRIBUTE,ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - > \ - { \ - \ - BOOST_PP_IF(DEDUCE_TYPE, \ - BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF, \ - BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE)( \ - NAME_SEQ, \ - ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, \ - PREFIX, \ - TEMPLATE_PARAMS_SEQ) \ - \ - template \ - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static void \ - boost_fusion_adapt_adt_impl_set( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj, \ - Val const& val) \ - { \ - PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - static type \ - boost_fusion_adapt_adt_impl_get( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj) \ - { \ - return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - static const_type \ - boost_fusion_adapt_adt_impl_get( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& obj) \ - { \ - return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, DEDUCE_TYPE); \ - } \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct adt_attribute_proxy< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - , true \ - > \ - { \ - typedef \ - BOOST_PP_EXPR_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename) \ - access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::const_type type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - explicit \ - adt_attribute_proxy( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& o) \ - : obj(&o) \ - {} \ - \ - BOOST_FUSION_GPU_ENABLED \ - type get() const \ - { \ - return access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::boost_fusion_adapt_adt_impl_get(*obj); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - operator type() const \ - { \ - return get(); \ - } \ - \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const* obj; \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct adt_attribute_proxy< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - , false \ - > \ - { \ - typedef \ - BOOST_PP_EXPR_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename) \ - access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::type type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - explicit \ - adt_attribute_proxy( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& o) \ - : obj(&o) \ - {} \ - \ - template \ - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - adt_attribute_proxy& \ - operator=(Val const& val) \ - { \ - access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::boost_fusion_adapt_adt_impl_set(*obj, val); \ - return *this; \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - type get() const \ - { \ - return access::adt_attribute_access< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - >::boost_fusion_adapt_adt_impl_get(*obj); \ - } \ - \ - BOOST_FUSION_GPU_ENABLED \ - operator type() const \ - { \ - return get(); \ - } \ - \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)* obj; \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct access::struct_member< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - > \ - { \ - typedef BOOST_PP_EXPR_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), \ - typename) \ - adt_attribute_proxy< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - , false \ - >::type lvalue; \ - \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - \ - typedef \ - BOOST_PP_IF( \ - BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), \ - BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL, \ - BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_NON_TEMPLATE_IMPL)( \ - TEMPLATE_PARAMS_SEQ) \ - type; \ - \ - template \ - struct apply \ - { \ - typedef \ - adt_attribute_proxy< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - , is_const::value \ - > \ - type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type \ - call(Seq& obj) \ - { \ - return type(obj); \ - } \ - }; \ - }; - -#endif diff --git a/external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp b/external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp deleted file mode 100644 index daa73063a..000000000 --- a/external/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP -#define BOOST_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP - -#include - -#include -#include - -#include - -#include -#include -#include -#include - -#if BOOST_PP_VARIADICS - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(...) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(...) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(...) \ - ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) - -#else // BOOST_PP_VARIADICS - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(A, B, C, D, E) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(A, B, C, D, E) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ - BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ - BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, A), \ - ((3, (C,D,E))), \ - ((5, (A,B,C,D,E))) \ - ) - -#endif // BOOST_PP_VARIADICS - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0_END -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1_END - - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM( \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ - BOOST_PP_DEC(BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE)), \ - BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE)) - -#endif diff --git a/external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp b/external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp deleted file mode 100644 index dc9e2c3b1..000000000 --- a/external/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp +++ /dev/null @@ -1,92 +0,0 @@ -/*============================================================================= - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP -#define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP - -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) - -#define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) - -#if BOOST_PP_VARIADICS - -# define BOOST_FUSION_ADAPT_ADT_FILLER_0(...) \ - BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ - BOOST_FUSION_ADAPT_ADT_FILLER_1 - -# define BOOST_FUSION_ADAPT_ADT_FILLER_1(...) \ - BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ - BOOST_FUSION_ADAPT_ADT_FILLER_0 - -# define BOOST_FUSION_ADAPT_ADT_FILLER_0_END -# define BOOST_FUSION_ADAPT_ADT_FILLER_1_END - -// MSVC don't compile when using BOOST_PP_BITOR instead of BOOST_PP_OR. -# define BOOST_FUSION_ADAPT_ADT_FILLER(...) \ - BOOST_PP_IIF( \ - BOOST_PP_OR( \ - BOOST_MPL_PP_TOKEN_EQUAL(auto, \ - BOOST_PP_VARIADIC_ELEM(0, __VA_ARGS__)), \ - BOOST_MPL_PP_TOKEN_EQUAL(auto, \ - BOOST_PP_VARIADIC_ELEM(1, __VA_ARGS__))), \ - \ - BOOST_FUSION_ADAPT_ADT_WRAP_ATTR( \ - BOOST_PP_VARIADIC_ELEM(2, __VA_ARGS__), \ - BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(__VA_ARGS__) \ - ), \ - BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(__VA_ARGS__)) - -# define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(...) \ - ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) - -# define BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(...) \ - BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REST_N( \ - BOOST_PP_DEC(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)), \ - BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))) - -#else // BOOST_PP_VARIADICS - -# define BOOST_FUSION_ADAPT_ADT_FILLER_0(A, B, C, D) \ - BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ - BOOST_FUSION_ADAPT_ADT_FILLER_1 - -# define BOOST_FUSION_ADAPT_ADT_FILLER_1(A, B, C, D) \ - BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ - BOOST_FUSION_ADAPT_ADT_FILLER_0 - -# define BOOST_FUSION_ADAPT_ADT_FILLER_0_END -# define BOOST_FUSION_ADAPT_ADT_FILLER_1_END - -# define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A, B, C, D) \ - BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, A), \ - ((2, (C,D))), \ - ((4, (A,B,C,D))) \ - ) - -#endif // BOOST_PP_VARIADICS - -#endif diff --git a/external/boost/fusion/adapted/adt/detail/extension.hpp b/external/boost/fusion/adapted/adt/detail/extension.hpp deleted file mode 100644 index c7d258953..000000000 --- a/external/boost/fusion/adapted/adt/detail/extension.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP -#define BOOST_FUSION_ADAPTED_ADT_DETAIL_EXTENSION_HPP - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct get_identity - : remove_const::type> - {}; - } - - namespace extension - { - // Overload as_const() to unwrap adt_attribute_proxy. - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename adt_attribute_proxy::type as_const(const adt_attribute_proxy& proxy) - { - return proxy.get(); - } - } -}} - -#endif diff --git a/external/boost/fusion/adapted/array.hpp b/external/boost/fusion/adapted/array.hpp deleted file mode 100644 index b95081786..000000000 --- a/external/boost/fusion/adapted/array.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ARRAY_27122005_1035) -#define BOOST_FUSION_ARRAY_27122005_1035 - -//For backwards compatibility -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/array/at_impl.hpp b/external/boost/fusion/adapted/array/at_impl.hpp deleted file mode 100644 index 369c8e2e0..000000000 --- a/external/boost/fusion/adapted/array/at_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename - add_reference::type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return seq[N::value]; - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/begin_impl.hpp b/external/boost/fusion/adapted/array/begin_impl.hpp deleted file mode 100644 index 8ea5a00ec..000000000 --- a/external/boost/fusion/adapted/array/begin_impl.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - po_array_iterator_tag - , random_access_traversal_tag - , Seq - , 0 - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/category_of_impl.hpp b/external/boost/fusion/adapted/array/category_of_impl.hpp deleted file mode 100644 index 0a633a455..000000000 --- a/external/boost/fusion/adapted/array/category_of_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - namespace extension - { - template - struct category_of_impl; - - template<> - struct category_of_impl - { - template - struct apply - { - typedef random_access_traversal_tag type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/array/deref_impl.hpp b/external/boost/fusion/adapted/array/deref_impl.hpp deleted file mode 100644 index a5719c3a7..000000000 --- a/external/boost/fusion/adapted/array/deref_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - add_reference< - typename remove_extent::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return (*it.seq)[It::index::value]; - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/end_impl.hpp b/external/boost/fusion/adapted/array/end_impl.hpp deleted file mode 100644 index e4ab63cef..000000000 --- a/external/boost/fusion/adapted/array/end_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - po_array_iterator_tag - , random_access_traversal_tag - , Seq - , extent::value-1>::value - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/is_sequence_impl.hpp b/external/boost/fusion/adapted/array/is_sequence_impl.hpp deleted file mode 100644 index 0f5d31fad..000000000 --- a/external/boost/fusion/adapted/array/is_sequence_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply - : mpl::true_ - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/is_view_impl.hpp b/external/boost/fusion/adapted/array/is_view_impl.hpp deleted file mode 100644 index 7cf69d8a0..000000000 --- a/external/boost/fusion/adapted/array/is_view_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct is_view_impl; - - template<> - struct is_view_impl - { - template - struct apply - : mpl::false_ - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/size_impl.hpp b/external/boost/fusion/adapted/array/size_impl.hpp deleted file mode 100644 index d208da147..000000000 --- a/external/boost/fusion/adapted/array/size_impl.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct size_impl; - - template<> - struct size_impl - { - template - struct apply - : extent::value-1> - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/tag_of.hpp b/external/boost/fusion/adapted/array/tag_of.hpp deleted file mode 100644 index d62fe65b8..000000000 --- a/external/boost/fusion/adapted/array/tag_of.hpp +++ /dev/null @@ -1,73 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP - -#include -#include -#include - -namespace boost -{ - namespace fusion - { - struct po_array_tag; - struct po_array_iterator_tag; - struct random_access_traversal_tag; - struct fusion_sequence_tag; - - namespace traits - { -#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS - template - struct tag_of - { - typedef po_array_tag type; - }; - - template - struct tag_of - { - typedef po_array_tag type; - }; -#else - template - struct tag_of - { - typedef po_array_tag type; - }; - - template - struct tag_of - { - typedef po_array_tag type; - }; -#endif - } - } - - namespace mpl - { - template - struct sequence_tag; - - template - struct sequence_tag - { - typedef fusion::po_array_tag type; - }; - - template - struct sequence_tag - { - typedef fusion::po_array_tag type; - }; - } -} - -#endif diff --git a/external/boost/fusion/adapted/array/value_at_impl.hpp b/external/boost/fusion/adapted/array/value_at_impl.hpp deleted file mode 100644 index 9aab11b52..000000000 --- a/external/boost/fusion/adapted/array/value_at_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - : remove_extent - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/array/value_of_impl.hpp b/external/boost/fusion/adapted/array/value_of_impl.hpp deleted file mode 100644 index 3f91e8013..000000000 --- a/external/boost/fusion/adapted/array/value_of_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - : remove_extent - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array.hpp b/external/boost/fusion/adapted/boost_array.hpp deleted file mode 100644 index eb6c0af37..000000000 --- a/external/boost/fusion/adapted/boost_array.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BOOST_ARRAY_27122005_1035) -#define BOOST_FUSION_BOOST_ARRAY_27122005_1035 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/boost_array/array_iterator.hpp b/external/boost/fusion/adapted/boost_array/array_iterator.hpp deleted file mode 100644 index ca8da0a22..000000000 --- a/external/boost/fusion/adapted/boost_array/array_iterator.hpp +++ /dev/null @@ -1,121 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ARRAY_ITERATOR_26122005_2250) -#define BOOST_FUSION_ARRAY_ITERATOR_26122005_2250 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - template - struct array_iterator - : iterator_facade, random_access_traversal_tag> - { - BOOST_MPL_ASSERT_RELATION(Pos, >=, 0); - BOOST_MPL_ASSERT_RELATION(Pos, <=, static_cast(Array::static_size)); - - typedef mpl::int_ index; - typedef Array array_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - array_iterator(Array& a) - : array(a) {} - - Array& array; - - template - struct value_of - { - typedef typename Iterator::array_type array_type; - typedef typename array_type::value_type type; - }; - - template - struct deref - { - typedef typename Iterator::array_type array_type; - typedef typename - mpl::if_< - is_const - , typename array_type::const_reference - , typename array_type::reference - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const & it) - { - return it.array[Iterator::index::value]; - } - }; - - template - struct advance - { - typedef typename Iterator::index index; - typedef typename Iterator::array_type array_type; - typedef array_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.array); - } - }; - - template - struct next : advance > {}; - - template - struct prior : advance > {}; - - template - struct distance : mpl::minus - { - typedef typename - mpl::minus< - typename I2::index, typename I1::index - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(I1 const&, I2 const&) - { - return type(); - } - }; - - private: - - array_iterator& operator=(array_iterator const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::array_iterator > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/at_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/at_impl.hpp deleted file mode 100644 index e355d0224..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/at_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_AT_IMPL_27122005_1241) -#define BOOST_FUSION_AT_IMPL_27122005_1241 - -#include -#include - -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename mpl::if_< - is_const, - typename Sequence::const_reference, - typename Sequence::reference>::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return seq[N::value]; - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp deleted file mode 100644 index 8481b765a..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/begin_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BEGIN_IMPL_27122005_1117) -#define BOOST_FUSION_BEGIN_IMPL_27122005_1117 - -#include -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef array_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp deleted file mode 100644 index 038f6db9d..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044) -#define BOOST_FUSION_CATEGORY_OF_IMPL_27122005_1044 - -#include -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - struct random_access_traversal_tag; - - namespace extension - { - template - struct category_of_impl; - - template<> - struct category_of_impl - { - template - struct apply - { - typedef random_access_traversal_tag type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/end_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/end_impl.hpp deleted file mode 100644 index 7574b3640..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/end_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_END_IMPL_27122005_1120) -#define BOOST_FUSION_END_IMPL_27122005_1120 - -#include -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef array_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp deleted file mode 100644 index ac52e720e..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648) -#define BOOST_FUSION_IS_SEQUENCE_IMPL_27122005_1648 - -#include -#include - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply : mpl::true_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp deleted file mode 100644 index 0a84aa0ae..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_VIEW_IMPL_27042006_2221) -#define BOOST_FUSION_IS_VIEW_IMPL_27042006_2221 - -#include -#include - -namespace boost { namespace fusion -{ - struct boost_array_tag; - - namespace extension - { - template - struct is_view_impl; - - template<> - struct is_view_impl - { - template - struct apply : mpl::false_ - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/size_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/size_impl.hpp deleted file mode 100644 index c04ab93c6..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/size_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SIZE_IMPL_27122005_1251) -#define BOOST_FUSION_SIZE_IMPL_27122005_1251 - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct size_impl; - - template<> - struct size_impl - { - template - struct apply : mpl::int_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp b/external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp deleted file mode 100644 index 9f80f73b3..000000000 --- a/external/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VALUE_AT_IMPL_27122005_1256) -#define BOOST_FUSION_VALUE_AT_IMPL_27122005_1256 - -namespace boost { namespace fusion { - - struct boost_array_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename Sequence::value_type type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_array/tag_of.hpp b/external/boost/fusion/adapted/boost_array/tag_of.hpp deleted file mode 100644 index d93fed1d3..000000000 --- a/external/boost/fusion/adapted/boost_array/tag_of.hpp +++ /dev/null @@ -1,59 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_TAG_OF_27122005_1030) -#define FUSION_SEQUENCE_TAG_OF_27122005_1030 - -#include -#include - -#include - -namespace boost -{ - template - class array; -} - -namespace boost { namespace fusion -{ - struct boost_array_tag; - struct fusion_sequence_tag; - - namespace traits - { - template -#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) - struct tag_of, void > -#else - struct tag_of > -#endif - { - typedef boost_array_tag type; - }; - } -}} - -namespace boost { namespace mpl -{ - template - struct sequence_tag; - - template - struct sequence_tag > - { - typedef fusion::fusion_sequence_tag type; - }; - - template - struct sequence_tag const> - { - typedef fusion::fusion_sequence_tag type; - }; -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple.hpp b/external/boost/fusion/adapted/boost_tuple.hpp deleted file mode 100644 index 7ef65686b..000000000 --- a/external/boost/fusion/adapted/boost_tuple.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BOOST_TUPLE_09272006_0732) -#define BOOST_FUSION_BOOST_TUPLE_09272006_0732 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp b/external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp deleted file mode 100644 index 850eef5fa..000000000 --- a/external/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp +++ /dev/null @@ -1,221 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BOOST_TUPLE_ITERATOR_09262006_1851) -#define FUSION_BOOST_TUPLE_ITERATOR_09262006_1851 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct forward_traversal_tag; - - namespace detail - { - template - struct boost_tuple_is_empty : mpl::false_ {}; - - template <> - struct boost_tuple_is_empty : mpl::true_ {}; - - template <> - struct boost_tuple_is_empty : mpl::true_ {}; - - template <> - struct boost_tuple_is_empty > : mpl::true_ {}; - - template <> - struct boost_tuple_is_empty const> : mpl::true_ {}; - } - - template - struct boost_tuple_iterator_identity; - - template - struct boost_tuple_iterator - : iterator_facade, forward_traversal_tag> - { - typedef Cons cons_type; - - typedef boost_tuple_iterator_identity< - typename add_const::type> identity; - - BOOST_FUSION_GPU_ENABLED - explicit boost_tuple_iterator(Cons& in_cons) - : cons(in_cons) {} - Cons& cons; - - template - struct value_of : mpl::identity {}; - - template - struct deref - { - typedef typename value_of::type element; - - typedef typename - mpl::if_< - is_const - , typename tuples::access_traits::const_type - , typename tuples::access_traits::non_const_type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& iter) - { - return iter.cons.get_head(); - } - }; - - template - struct next - { - typedef typename Iterator::cons_type cons_type; - typedef typename cons_type::tail_type tail_type; - - typedef boost_tuple_iterator< - typename mpl::eval_if< - is_const - , add_const - , mpl::identity - >::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& iter) - { - return type(iter.cons.get_tail()); - } - }; - - template - struct distance; - - // detail - template - struct lazy_next_distance - { - typedef - typename mpl::plus< - mpl::int_<1>, - typename distance< - typename next::type, - I2 - >::type - >::type type; - }; - - template - struct distance - { - typedef typename mpl::eval_if< - boost::is_same, - mpl::int_<0>, - lazy_next_distance - >::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(I1 const&, I2 const&) - { - return type(); - } - }; - - template - struct equal_to - : is_same - {}; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - boost_tuple_iterator& operator= (boost_tuple_iterator const&); - }; - - template - struct boost_tuple_null_iterator - : iterator_facade, forward_traversal_tag> - { - typedef Null cons_type; - - typedef boost_tuple_iterator_identity< - typename add_const::type> identity; - - template - struct equal_to - : mpl::or_< - is_same - , mpl::and_< - detail::boost_tuple_is_empty - , detail::boost_tuple_is_empty - > - > - {}; - }; - - template <> - struct boost_tuple_iterator - : boost_tuple_null_iterator - { - template - BOOST_FUSION_GPU_ENABLED - explicit boost_tuple_iterator(Cons const&) {} - }; - - template <> - struct boost_tuple_iterator - : boost_tuple_null_iterator - { - template - BOOST_FUSION_GPU_ENABLED - explicit boost_tuple_iterator(Cons const&) {} - }; - - template <> - struct boost_tuple_iterator > - : boost_tuple_null_iterator > - { - template - BOOST_FUSION_GPU_ENABLED - explicit boost_tuple_iterator(Cons const&) {} - }; - - template <> - struct boost_tuple_iterator const> - : boost_tuple_null_iterator const> - { - template - BOOST_FUSION_GPU_ENABLED - explicit boost_tuple_iterator(Cons const&) {} - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::boost_tuple_iterator > - { }; -} -#endif - -#endif - - diff --git a/external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp deleted file mode 100644 index 32ca5bec5..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_AT_IMPL_09262006_1920) -#define BOOST_FUSION_AT_IMPL_09262006_1920 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename - tuples::element::type - element; - - typedef typename - mpl::if_< - is_const - , typename tuples::access_traits::const_type - , typename tuples::access_traits::non_const_type - >::type - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return tuples::get(seq); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp deleted file mode 100644 index 1fbbb19c1..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BEGIN_IMPL_09272006_0719) -#define BOOST_FUSION_BEGIN_IMPL_09272006_0719 - -#include -#include - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef boost_tuple_iterator type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp b/external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp deleted file mode 100644 index 216fb0a61..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp +++ /dev/null @@ -1,59 +0,0 @@ -/*============================================================================= - Copyright (c) 2012-2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BUILD_CONS_10172012_0130) -#define BOOST_FUSION_BUILD_CONS_10172012_0130 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template < - typename First - , typename Last - , bool is_empty = result_of::equal_to::value> - struct build_tuple_cons; - - template - struct build_tuple_cons - { - typedef boost::tuples::null_type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - - template - struct build_tuple_cons - { - typedef - build_tuple_cons::type, Last> - next_build_tuple_cons; - - typedef boost::tuples::cons< - typename result_of::value_of::type - , typename next_build_tuple_cons::type> - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(First const& f, Last const& l) - { - typename result_of::value_of::type v = *f; - return type(v, next_build_tuple_cons::call(fusion::next(f), l)); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp deleted file mode 100644 index 9b52c98a8..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_09272006_0726) -#define BOOST_FUSION_CATEGORY_OF_IMPL_09272006_0726 - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - struct forward_traversal_tag; - - namespace extension - { - template - struct category_of_impl; - - template<> - struct category_of_impl - { - template - struct apply - { - typedef forward_traversal_tag type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp deleted file mode 100644 index 8f2fbeec8..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2012-2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CONVERT_IMPL_10172012_0120) -#define BOOST_FUSION_CONVERT_IMPL_10172012_0120 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename - detail::build_tuple_cons< - typename result_of::begin::type - , typename result_of::end::type - > - build_tuple_cons; - - typedef typename build_tuple_cons::type type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return build_tuple_cons::call(fusion::begin(seq), fusion::end(seq)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp deleted file mode 100644 index 9f7f07c3a..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_END_IMPL_09272006_0721) -#define BOOST_FUSION_END_IMPL_09272006_0721 - -#include -#include -#include -#include - -namespace boost { namespace tuples -{ - struct null_type; -}} - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - boost_tuple_iterator< - typename mpl::if_< - is_const - , tuples::null_type const - , tuples::null_type - >::type - > - type; - - BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp deleted file mode 100644 index eb4a1185e..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726) -#define BOOST_FUSION_IS_SEQUENCE_IMPL_09272006_0726 - -#include -#include - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply : mpl::true_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp deleted file mode 100644 index 638441103..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_VIEW_IMPL_09272006_0725) -#define BOOST_FUSION_IS_VIEW_IMPL_09272006_0725 - -#include -#include - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct is_view_impl; - - template<> - struct is_view_impl - { - template - struct apply : mpl::false_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp deleted file mode 100644 index 371627867..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SIZE_IMPL_09272006_0724) -#define BOOST_FUSION_SIZE_IMPL_09272006_0724 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply : mpl::int_::value> {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp b/external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp deleted file mode 100644 index 399927136..000000000 --- a/external/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VALUE_AT_IMPL_09262006_1926) -#define BOOST_FUSION_VALUE_AT_IMPL_09262006_1926 - -#include -#include - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply : tuples::element {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp b/external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp deleted file mode 100644 index 1cca019c6..000000000 --- a/external/boost/fusion/adapted/boost_tuple/mpl/clear.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2012 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CLEAR_10172012_0100) -#define BOOST_FUSION_CLEAR_10172012_0100 - -#include -#include - -namespace boost { namespace fusion { namespace detail { - - template - struct clear; - - template <> - struct clear : mpl::identity > {}; - -}}} - -#endif diff --git a/external/boost/fusion/adapted/boost_tuple/tag_of.hpp b/external/boost/fusion/adapted/boost_tuple/tag_of.hpp deleted file mode 100644 index cf24ffbf8..000000000 --- a/external/boost/fusion/adapted/boost_tuple/tag_of.hpp +++ /dev/null @@ -1,115 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_TAG_OF_09262006_1900) -#define BOOST_FUSION_TAG_OF_09262006_1900 - -#include -#include - -namespace boost { namespace tuples -{ - struct null_type; - - template < - class T0, class T1, class T2, class T3, class T4, - class T5, class T6, class T7, class T8, class T9 - > - class tuple; - - template - struct cons; -}} - -namespace boost { namespace fusion -{ - struct boost_tuple_tag; - struct fusion_sequence_tag; - - namespace traits - { - template < - class T0, class T1, class T2, class T3, class T4, - class T5, class T6, class T7, class T8, class T9 - > -#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) - struct tag_of, void > -#else - struct tag_of > -#endif - { - typedef boost_tuple_tag type; - }; - - template -#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) - struct tag_of, void > -#else - struct tag_of > -#endif - { - typedef boost_tuple_tag type; - }; - - template <> - struct tag_of - { - typedef boost_tuple_tag type; - }; - } -}} - -namespace boost { namespace mpl -{ - template - struct sequence_tag; - - template < - class T0, class T1, class T2, class T3, class T4, - class T5, class T6, class T7, class T8, class T9 - > - struct sequence_tag > - { - typedef fusion::fusion_sequence_tag type; - }; - - template < - class T0, class T1, class T2, class T3, class T4, - class T5, class T6, class T7, class T8, class T9 - > - struct sequence_tag< - tuples::tuple const - > - { - typedef fusion::fusion_sequence_tag type; - }; - - template - struct sequence_tag > - { - typedef fusion::fusion_sequence_tag type; - }; - - template - struct sequence_tag const> - { - typedef fusion::fusion_sequence_tag type; - }; - - template <> - struct sequence_tag - { - typedef fusion::fusion_sequence_tag type; - }; - - template <> - struct sequence_tag - { - typedef fusion::fusion_sequence_tag type; - }; -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl.hpp b/external/boost/fusion/adapted/mpl.hpp deleted file mode 100644 index 3eca0320a..000000000 --- a/external/boost/fusion/adapted/mpl.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MPL_31122005_1152) -#define BOOST_FUSION_MPL_31122005_1152 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/at_impl.hpp b/external/boost/fusion/adapted/mpl/detail/at_impl.hpp deleted file mode 100644 index 232ca4df5..000000000 --- a/external/boost/fusion/adapted/mpl/detail/at_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_AT_IMPL_31122005_1642) -#define BOOST_FUSION_AT_IMPL_31122005_1642 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename mpl::at::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/begin_impl.hpp b/external/boost/fusion/adapted/mpl/detail/begin_impl.hpp deleted file mode 100644 index 3f087bda4..000000000 --- a/external/boost/fusion/adapted/mpl/detail/begin_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BEGIN_IMPL_31122005_1209) -#define BOOST_FUSION_BEGIN_IMPL_31122005_1209 - -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct mpl_sequence_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename mpl::begin< - typename remove_const::type - >::type iterator; - typedef mpl_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp b/external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp deleted file mode 100644 index 8cf2f88bf..000000000 --- a/external/boost/fusion/adapted/mpl/detail/category_of_impl.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141) -#define BOOST_FUSION_CATEGORY_OF_IMPL_20060217_2141 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - namespace detail - { - template - struct mpl_sequence_category_of - { - // assumes T is an mpl sequence - // there should be no way this will ever be - // called where T is an mpl iterator - - BOOST_STATIC_ASSERT(mpl::is_sequence::value); - typedef typename - mpl_iterator_category< - typename mpl::begin::type::category - >::type - type; - }; - } - - struct mpl_sequence_tag; - - namespace extension - { - template - struct category_of_impl; - - template<> - struct category_of_impl - { - template - struct apply - : detail::mpl_sequence_category_of - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/empty_impl.hpp b/external/boost/fusion/adapted/mpl/detail/empty_impl.hpp deleted file mode 100644 index 4e385ff51..000000000 --- a/external/boost/fusion/adapted/mpl/detail/empty_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_EMPTY_IMPL_31122005_1554) -#define BOOST_FUSION_EMPTY_IMPL_31122005_1554 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct empty_impl; - - template <> - struct empty_impl - { - template - struct apply : mpl::empty {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/end_impl.hpp b/external/boost/fusion/adapted/mpl/detail/end_impl.hpp deleted file mode 100644 index 7ef13fb4f..000000000 --- a/external/boost/fusion/adapted/mpl/detail/end_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_END_IMPL_31122005_1237) -#define BOOST_FUSION_END_IMPL_31122005_1237 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename mpl::end< - typename remove_const::type - >::type iterator; - typedef mpl_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp b/external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp deleted file mode 100644 index 9e5a1dc4d..000000000 --- a/external/boost/fusion/adapted/mpl/detail/has_key_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_HAS_KEY_IMPL_31122005_1647) -#define BOOST_FUSION_HAS_KEY_IMPL_31122005_1647 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct has_key_impl; - - template <> - struct has_key_impl - { - template - struct apply : mpl::has_key {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp deleted file mode 100644 index caed9e62d..000000000 --- a/external/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505) -#define BOOST_FUSION_IS_SEQUENCE_IMPL_31122005_1505 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply : mpl::true_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp b/external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp deleted file mode 100644 index b49424897..000000000 --- a/external/boost/fusion/adapted/mpl/detail/is_view_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_VIEW_IMPL_03202006_0048) -#define BOOST_FUSION_IS_VIEW_IMPL_03202006_0048 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct is_view_impl; - - template<> - struct is_view_impl - { - template - struct apply : mpl::true_ - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/size_impl.hpp b/external/boost/fusion/adapted/mpl/detail/size_impl.hpp deleted file mode 100644 index 379b97dca..000000000 --- a/external/boost/fusion/adapted/mpl/detail/size_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SIZE_IMPL_31122005_1508) -#define BOOST_FUSION_SIZE_IMPL_31122005_1508 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply : mpl::size {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp b/external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp deleted file mode 100644 index 0d3eb6524..000000000 --- a/external/boost/fusion/adapted/mpl/detail/value_at_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VALUE_AT_IMPL_31122005_1621) -#define BOOST_FUSION_VALUE_AT_IMPL_31122005_1621 - -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply : mpl::at {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/mpl/mpl_iterator.hpp b/external/boost/fusion/adapted/mpl/mpl_iterator.hpp deleted file mode 100644 index 87de32ada..000000000 --- a/external/boost/fusion/adapted/mpl/mpl_iterator.hpp +++ /dev/null @@ -1,128 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MPL_ITERATOR_05052005_0731) -#define FUSION_MPL_ITERATOR_05052005_0731 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct mpl_iterator - : iterator_facade< - mpl_iterator - , typename detail::mpl_iterator_category::type - > - { - typedef typename remove_const::type iterator_type; - - template - struct value_of : mpl::deref {}; - - template - struct deref - { - typedef typename mpl::deref< - typename Iterator::iterator_type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator) - { - return type(); - } - }; - - template - struct next - { - typedef mpl_iterator< - typename mpl::next::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator) - { - return type(); - } - }; - - template - struct prior - { - typedef mpl_iterator< - typename mpl::prior::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator) - { - return type(); - } - }; - - template - struct advance - { - typedef mpl_iterator< - typename mpl::advance::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& /*i*/) - { - return type(); - } - }; - - template - struct distance : - mpl::distance< - typename I1::iterator_type - , typename I2::iterator_type> - { - typedef typename - mpl::distance< - typename I1::iterator_type - , typename I2::iterator_type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(I1 const&, I2 const&) - { - return type(); - } - }; - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::mpl_iterator > - { }; -} -#endif - -#endif - - diff --git a/external/boost/fusion/adapted/std_array.hpp b/external/boost/fusion/adapted/std_array.hpp deleted file mode 100644 index 64ae6460c..000000000 --- a/external/boost/fusion/adapted/std_array.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY__01062013_1700) -#define BOOST_FUSION_STD_ARRAY__01062013_1700 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/array_size.hpp b/external/boost/fusion/adapted/std_array/detail/array_size.hpp deleted file mode 100644 index 013d3d7b7..000000000 --- a/external/boost/fusion/adapted/std_array/detail/array_size.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_ARRAY_SIZE_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_ARRAY_SIZE_01062013_1700 - -#include -#include - -namespace boost { namespace fusion -{ - namespace extension - { - template - struct std_array_size; - - template class Array, typename T, std::size_t N> - struct std_array_size > : boost::integral_constant {}; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/at_impl.hpp b/external/boost/fusion/adapted/std_array/detail/at_impl.hpp deleted file mode 100644 index 6086264a9..000000000 --- a/external/boost/fusion/adapted/std_array/detail/at_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_AT_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_AT_IMPL_01062013_1700 - -#include - -#include - -namespace boost { namespace fusion { - - struct std_array_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename mpl::if_< - is_const, - typename Sequence::const_reference, - typename Sequence::reference>::type type; - - static type - call(Sequence& seq) - { - return seq[N::value]; - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/begin_impl.hpp b/external/boost/fusion/adapted/std_array/detail/begin_impl.hpp deleted file mode 100644 index c84082e34..000000000 --- a/external/boost/fusion/adapted/std_array/detail/begin_impl.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_BEGIN_OF_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_BEGIN_OF_IMPL_01062013_1700 - -#include - -namespace boost { namespace fusion { - - struct std_array_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef std_array_iterator type; - - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp b/external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp deleted file mode 100644 index b5fa09350..000000000 --- a/external/boost/fusion/adapted/std_array/detail/category_of_impl.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_CATEGORY_OF_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_CATEGORY_OF_IMPL_01062013_1700 - -#include - -namespace boost { namespace fusion { - - struct std_array_tag; - struct random_access_traversal_tag; - - namespace extension - { - template - struct category_of_impl; - - template<> - struct category_of_impl - { - template - struct apply - { - typedef random_access_traversal_tag type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/end_impl.hpp b/external/boost/fusion/adapted/std_array/detail/end_impl.hpp deleted file mode 100644 index b7b789ef5..000000000 --- a/external/boost/fusion/adapted/std_array/detail/end_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_END_OF_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_END_OF_IMPL_01062013_1700 - -#include -#include -#include - -namespace boost { namespace fusion { - - struct std_array_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename remove_const::type seq_type; - static int const size = std_array_size::value; - typedef std_array_iterator type; - - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp deleted file mode 100644 index 8308e838c..000000000 --- a/external/boost/fusion/adapted/std_array/detail/is_sequence_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_IS_SEQUENCE_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_IS_SEQUENCE_IMPL_01062013_1700 - -#include - -namespace boost { namespace fusion { - - struct std_array_tag; - - namespace extension - { - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply : mpl::true_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp b/external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp deleted file mode 100644 index 89cd04cf2..000000000 --- a/external/boost/fusion/adapted/std_array/detail/is_view_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_IS_VIEW_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_IS_VIEW_IMPL_01062013_1700 - -#include - -namespace boost { namespace fusion -{ - struct std_array_tag; - - namespace extension - { - template - struct is_view_impl; - - template<> - struct is_view_impl - { - template - struct apply : mpl::false_ - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/size_impl.hpp b/external/boost/fusion/adapted/std_array/detail/size_impl.hpp deleted file mode 100644 index 7df51b2a5..000000000 --- a/external/boost/fusion/adapted/std_array/detail/size_impl.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_SIZE_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_SIZE_IMPL_01062013_1700 - -#include -#include - -namespace boost { namespace fusion { - - struct std_array_tag; - - namespace extension - { - template - struct size_impl; - - template<> - struct size_impl - { - template - struct apply - : mpl::int_ - < - std_array_size - < - typename remove_const::type - >::value - > - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp b/external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp deleted file mode 100644 index 3d7871a7d..000000000 --- a/external/boost/fusion/adapted/std_array/detail/value_at_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_VALUE_AT_IMPL_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_VALUE_AT_IMPL_01062013_1700 - -namespace boost { namespace fusion { - - struct std_array_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename Sequence::value_type type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/std_array_iterator.hpp b/external/boost/fusion/adapted/std_array/std_array_iterator.hpp deleted file mode 100644 index 29584512b..000000000 --- a/external/boost/fusion/adapted/std_array/std_array_iterator.hpp +++ /dev/null @@ -1,109 +0,0 @@ -/*============================================================================= - Copyright (c) 2013 Mateusz Loskot - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_ARRAY_ITERATOR_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_ARRAY_ITERATOR_01062013_1700 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - template - struct std_array_iterator - : iterator_facade, random_access_traversal_tag> - { - BOOST_MPL_ASSERT_RELATION(Pos, >=, 0); - BOOST_MPL_ASSERT_RELATION(Pos, <=, std::tuple_size::value); - - typedef mpl::int_ index; - typedef Array array_type; - - std_array_iterator(Array& a) - : array(a) {} - - Array& array; - - template - struct value_of - { - typedef typename Iterator::array_type array_type; - typedef typename array_type::value_type type; - }; - - template - struct deref - { - typedef typename Iterator::array_type array_type; - typedef typename - mpl::if_< - is_const - , typename array_type::const_reference - , typename array_type::reference - >::type - type; - - static type - call(Iterator const & it) - { - return it.array[Iterator::index::value]; - } - }; - - template - struct advance - { - typedef typename Iterator::index index; - typedef typename Iterator::array_type array_type; - typedef std_array_iterator type; - - static type - call(Iterator const& i) - { - return type(i.array); - } - }; - - template - struct next : advance > {}; - - template - struct prior : advance > {}; - - template - struct distance : mpl::minus - { - typedef typename - mpl::minus< - typename I2::index, typename I1::index - >::type - type; - - static type - call(I1 const&, I2 const&) - { - return type(); - } - }; - - private: - - std_array_iterator& operator=(std_array_iterator const&); - }; -}} - -#endif diff --git a/external/boost/fusion/adapted/std_array/tag_of.hpp b/external/boost/fusion/adapted/std_array/tag_of.hpp deleted file mode 100644 index 543c5bb46..000000000 --- a/external/boost/fusion/adapted/std_array/tag_of.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STD_ARRAY_TAG_OF_01062013_1700) -#define BOOST_FUSION_STD_ARRAY_TAG_OF_01062013_1700 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_array_tag; - struct fusion_sequence_tag; - - namespace traits - { - template -#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) - struct tag_of, void > -#else - struct tag_of > -#endif - { - typedef std_array_tag type; - }; - } -}} - -namespace boost { namespace mpl -{ - template - struct sequence_tag; - - template - struct sequence_tag > - { - typedef fusion::fusion_sequence_tag type; - }; - - template - struct sequence_tag const> - { - typedef fusion::fusion_sequence_tag type; - }; -}} - -#endif diff --git a/external/boost/fusion/adapted/std_pair.hpp b/external/boost/fusion/adapted/std_pair.hpp deleted file mode 100644 index 79de3d44f..000000000 --- a/external/boost/fusion/adapted/std_pair.hpp +++ /dev/null @@ -1,20 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STD_PAIR_HPP -#define BOOST_FUSION_ADAPTED_STD_PAIR_HPP - -#include -#include -#include - -BOOST_FUSION_ADAPT_TPL_STRUCT( - (T1)(T2),(std::pair)(T1)(T2),(T1, first)(T2, second)) - -#endif diff --git a/external/boost/fusion/adapted/std_tuple.hpp b/external/boost/fusion/adapted/std_tuple.hpp deleted file mode 100644 index b7e847916..000000000 --- a/external/boost/fusion/adapted/std_tuple.hpp +++ /dev/null @@ -1,24 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BOOST_TUPLE_09242011_1744) -#define BOOST_FUSION_BOOST_TUPLE_09242011_1744 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp deleted file mode 100644 index 47a20a25e..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/at_impl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_AT_IMPL_09242011_1744) -#define BOOST_FUSION_AT_IMPL_09242011_1744 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename remove_const::type seq_type; - typedef typename std::tuple_element::type element; - - typedef typename - mpl::if_< - is_const - , typename fusion::detail::cref_result::type - , typename fusion::detail::ref_result::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return std::get(seq); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp deleted file mode 100644 index 1d5d392ba..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BEGIN_IMPL_09242011_1744) -#define BOOST_FUSION_BEGIN_IMPL_09242011_1744 - -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef std_tuple_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp b/external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp deleted file mode 100644 index b60dc76fc..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp +++ /dev/null @@ -1,88 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BUILD_STD_TUPLE_05292014_0100) -#define BOOST_FUSION_BUILD_STD_TUPLE_05292014_0100 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template ::value> - struct build_std_tuple; - - template - struct build_std_tuple - { - typedef std::tuple<> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - - template - struct push_front_std_tuple; - - template - struct push_front_std_tuple > - { - typedef std::tuple type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - indexed_call(T const& first, std::tuple const& rest, index_sequence) - { - return type(first, std::get(rest)...); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(T const& first, std::tuple const& rest) - { - typedef typename make_index_sequence::type gen; - return indexed_call(first, rest, gen()); - } - }; - - template - struct build_std_tuple - { - typedef - build_std_tuple::type, Last> - next_build_std_tuple; - - typedef push_front_std_tuple< - typename result_of::value_of::type - , typename next_build_std_tuple::type> - push_front; - - typedef typename push_front::type type; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& f, Last const& l) - { - typename result_of::value_of::type v = *f; - return push_front::call( - v, next_build_std_tuple::call(fusion::next(f), l)); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp deleted file mode 100644 index b41e84181..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/category_of_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_04202013_0940) -#define BOOST_FUSION_CATEGORY_OF_IMPL_04202013_0940 - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - struct random_access_traversal_tag; - - namespace extension - { - template - struct category_of_impl; - - template<> - struct category_of_impl - { - template - struct apply - { - typedef random_access_traversal_tag type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp deleted file mode 100644 index 96b67b11f..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/*============================================================================= - Copyright (c) 2012-2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CONVERT_IMPL_10172012_0940) -#define BOOST_FUSION_CONVERT_IMPL_10172012_0940 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef detail::build_std_tuple< - typename result_of::begin::type - , typename result_of::end::type - > gen; - - typedef typename gen::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return gen::call(begin(seq), end(seq)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp deleted file mode 100644 index 500b0491e..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/end_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_END_IMPL_09242011_1744) -#define BOOST_FUSION_END_IMPL_09242011_1744 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename remove_const::type seq_type; - static int const size = std::tuple_size::value; - typedef std_tuple_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp deleted file mode 100644 index 672072654..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/is_sequence_impl.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_09242011_1744) -#define BOOST_FUSION_IS_SEQUENCE_IMPL_09242011_1744 - -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply : mpl::true_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp deleted file mode 100644 index e161984f2..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/is_view_impl.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_IS_VIEW_IMPL_09242011_1744) -#define BOOST_FUSION_IS_VIEW_IMPL_09242011_1744 - -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct is_view_impl; - - template<> - struct is_view_impl - { - template - struct apply : mpl::false_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp deleted file mode 100644 index 11c294e57..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/size_impl.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SIZE_IMPL_09242011_1744) -#define BOOST_FUSION_SIZE_IMPL_09242011_1744 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply : - mpl::int_::type>::value - > - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp b/external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp deleted file mode 100644 index e3e853ca4..000000000 --- a/external/boost/fusion/adapted/std_tuple/detail/value_at_impl.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VALUE_AT_IMPL_09242011_1744) -#define BOOST_FUSION_VALUE_AT_IMPL_09242011_1744 - -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply : std::tuple_element {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/mpl/clear.hpp b/external/boost/fusion/adapted/std_tuple/mpl/clear.hpp deleted file mode 100644 index 871231643..000000000 --- a/external/boost/fusion/adapted/std_tuple/mpl/clear.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2012 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CLEAR_10172012_0940) -#define BOOST_FUSION_CLEAR_10172012_0940 - -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct clear; - - template <> - struct clear : mpl::identity > {}; - -}}} - -#endif diff --git a/external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp b/external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp deleted file mode 100644 index a3421e0f9..000000000 --- a/external/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp +++ /dev/null @@ -1,121 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_STD_TUPLE_ITERATOR_09112011_1905) -#define FUSION_STD_TUPLE_ITERATOR_09112011_1905 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - template - struct std_tuple_iterator_identity; - - template - struct std_tuple_iterator - : iterator_facade< - std_tuple_iterator - , random_access_traversal_tag> - { - typedef Tuple tuple_type; - static int const index = Index; - typedef std_tuple_iterator_identity< - typename add_const::type, Index> - identity; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit std_tuple_iterator(Tuple& tuple) - : tuple(tuple) {} - - Tuple& tuple; - - template - struct value_of - : std::tuple_element::type> {}; - - template - struct deref - { - typedef typename value_of::type element; - typedef typename - mpl::if_< - is_const - , typename fusion::detail::cref_result::type - , typename fusion::detail::ref_result::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& iter) - { - return std::get(iter.tuple); - } - }; - - template - struct advance - { - static int const index = Iterator::index; - typedef typename Iterator::tuple_type tuple_type; - typedef std_tuple_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.tuple); - } - }; - - template - struct next : advance> {}; - - template - struct prior : advance> {}; - - template - struct equal_to - : is_same {}; - - template - struct distance - { - typedef mpl::int_ type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::std_tuple_iterator > - { }; -} -#endif - -#endif - - diff --git a/external/boost/fusion/adapted/std_tuple/tag_of.hpp b/external/boost/fusion/adapted/std_tuple/tag_of.hpp deleted file mode 100644 index e14533544..000000000 --- a/external/boost/fusion/adapted/std_tuple/tag_of.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_TAG_OF_09112011_1842) -#define BOOST_FUSION_TAG_OF_09112011_1842 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct std_tuple_tag; - struct fusion_sequence_tag; - - namespace traits - { - template - struct tag_of> - { - typedef std_tuple_tag type; - }; - } -}} - -namespace boost { namespace mpl -{ - template - struct sequence_tag; - - template - struct sequence_tag> - { - typedef fusion::fusion_sequence_tag type; - }; - - template - struct sequence_tag const> - { - typedef fusion::fusion_sequence_tag type; - }; -}} - -#endif diff --git a/external/boost/fusion/adapted/struct.hpp b/external/boost/fusion/adapted/struct.hpp deleted file mode 100644 index 3f159038a..000000000 --- a/external/boost/fusion/adapted/struct.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_HPP - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp b/external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp deleted file mode 100644 index c8659fdfe..000000000 --- a/external/boost/fusion/adapted/struct/adapt_assoc_struct.hpp +++ /dev/null @@ -1,102 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2007 Dan Marsden - Copyright (c) 2009-2011 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,PREFIX,ATTRIBUTE) \ - \ - BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ, \ - NAME_SEQ, \ - IS_VIEW, \ - I, \ - BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ - BOOST_PP_LESS( \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE),3)) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct struct_assoc_key \ - { \ - typedef \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type; \ - }; - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, I, ATTRIBUTE) \ - \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,BOOST_PP_EMPTY,ATTRIBUTE) - - -#define BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (1)TEMPLATE_PARAMS_SEQ, \ - (1)NAME_SEQ, \ - assoc_struct_tag, \ - 0, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - assoc_struct_tag, \ - 0, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - assoc_struct_tag, \ - 1, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_C) - -#endif diff --git a/external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp b/external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp deleted file mode 100644 index 0d97db5c6..000000000 --- a/external/boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2010-2011 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_NAMED_HPP - -#include -#include -#include - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ - ATTRIBUTES) - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) - -#endif diff --git a/external/boost/fusion/adapted/struct/adapt_struct.hpp b/external/boost/fusion/adapted/struct/adapt_struct.hpp deleted file mode 100644 index 66710b47f..000000000 --- a/external/boost/fusion/adapted/struct/adapt_struct.hpp +++ /dev/null @@ -1,125 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2009-2011 Christopher Schmidt - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_STRUCT_C( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ - BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ, \ - NAME_SEQ, \ - IS_VIEW, \ - I, \ - BOOST_PP_IIF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ - BOOST_PP_LESS( \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), 2)) - - - -#if BOOST_PP_VARIADICS - -# define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ...) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (1)TEMPLATE_PARAMS_SEQ, \ - (1)NAME_SEQ, \ - struct_tag, \ - 0, \ - BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ - BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)), \ - BOOST_FUSION_ADAPT_STRUCT_C) - -# define BOOST_FUSION_ADAPT_STRUCT(...) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(BOOST_PP_SEQ_HEAD(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ - struct_tag, \ - 0, \ - BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ - BOOST_PP_SEQ_TAIL(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ - BOOST_FUSION_ADAPT_STRUCT_C) - -# define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(...) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(BOOST_PP_SEQ_HEAD(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ - struct_tag, \ - 1, \ - BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ - BOOST_PP_SEQ_TAIL(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ - BOOST_FUSION_ADAPT_STRUCT_C) - -#else // BOOST_PP_VARIADICS - -# define BOOST_FUSION_ADAPT_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (1)TEMPLATE_PARAMS_SEQ, \ - (1)NAME_SEQ, \ - struct_tag, \ - 0, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_STRUCT_C) - -# define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - struct_tag, \ - 0, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ - _END), \ - BOOST_FUSION_ADAPT_STRUCT_C) - -# define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - struct_tag, \ - 1, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ - _END), \ - BOOST_FUSION_ADAPT_STRUCT_C) - - -#endif // BOOST_PP_VARIADICS - -#endif diff --git a/external/boost/fusion/adapted/struct/adapt_struct_named.hpp b/external/boost/fusion/adapted/struct/adapt_struct_named.hpp deleted file mode 100644 index 0c61b42a9..000000000 --- a/external/boost/fusion/adapted/struct/adapt_struct_named.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2009-2010 Hartmut Kaiser - Copyright (c) 2010-2011 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP - -#include -#include -#include -#include - -#ifdef BOOST_PP_VARIADICS - -# define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ...) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ - (0)NAMESPACE_SEQ)NAME, \ - __VA_ARGS__) - -# define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ...) \ - BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,__VA_ARGS__) - - -#else // BOOST_PP_VARIADICS - -# define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ - (0)NAMESPACE_SEQ)NAME, \ - ATTRIBUTES) - -# define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) - -#endif - -#endif diff --git a/external/boost/fusion/adapted/struct/define_assoc_struct.hpp b/external/boost/fusion/adapted/struct/define_assoc_struct.hpp deleted file mode 100644 index faea077fb..000000000 --- a/external/boost/fusion/adapted/struct/define_assoc_struct.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2010-2011 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_ASSOC_STRUCT_HPP - -#include -#include -#include -#include - -#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ - ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1 -#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ - ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0 -#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0_END -#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1_END - -#define BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, \ - (0)NAMESPACE_SEQ, \ - NAME, \ - BOOST_PP_CAT( \ - BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ - 3) \ - \ - BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ, \ - (BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME)\ - TEMPLATE_PARAMS_SEQ, \ - ATTRIBUTES) - -#define BOOST_FUSION_DEFINE_ASSOC_STRUCT(NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - BOOST_FUSION_DEFINE_STRUCT_IMPL( \ - (0)NAMESPACE_SEQ, \ - NAME, \ - BOOST_PP_CAT( \ - BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ - 3) \ - \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME, \ - ATTRIBUTES) - -#endif diff --git a/external/boost/fusion/adapted/struct/define_struct.hpp b/external/boost/fusion/adapted/struct/define_struct.hpp deleted file mode 100644 index c9ae42297..000000000 --- a/external/boost/fusion/adapted/struct/define_struct.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2010-2011 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_HPP - -#include -#include -#include -#include - -#define BOOST_FUSION_DEFINE_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, \ - (0)NAMESPACE_SEQ, \ - NAME, \ - BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - 2) \ - \ - BOOST_FUSION_ADAPT_TPL_STRUCT( \ - TEMPLATE_PARAMS_SEQ, \ - (BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME)\ - TEMPLATE_PARAMS_SEQ, \ - ATTRIBUTES) - -#define BOOST_FUSION_DEFINE_STRUCT(NAMESPACE_SEQ, NAME, ATTRIBUTES) \ - BOOST_FUSION_DEFINE_STRUCT_IMPL( \ - (0)NAMESPACE_SEQ, \ - NAME, \ - BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - 2) \ - \ - BOOST_FUSION_ADAPT_STRUCT( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ) NAME, \ - ATTRIBUTES) - -#endif diff --git a/external/boost/fusion/adapted/struct/define_struct_inline.hpp b/external/boost/fusion/adapted/struct/define_struct_inline.hpp deleted file mode 100644 index 5986c0d44..000000000 --- a/external/boost/fusion/adapted/struct/define_struct_inline.hpp +++ /dev/null @@ -1,26 +0,0 @@ -/*============================================================================= - Copyright (c) 2012 Nathan Ridge - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DEFINE_STRUCT_INLINE_HPP - -#include -#include -#include - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE_IMPL( \ - TEMPLATE_PARAMS_SEQ, \ - NAME, \ - ATTRIBUTES) - -#define BOOST_FUSION_DEFINE_STRUCT_INLINE(NAME, ATTRIBUTES) \ - BOOST_FUSION_DEFINE_STRUCT_INLINE_IMPL(NAME, ATTRIBUTES) \ - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_auto.hpp b/external/boost/fusion/adapted/struct/detail/adapt_auto.hpp deleted file mode 100644 index 71a542c7a..000000000 --- a/external/boost/fusion/adapted/struct/detail/adapt_auto.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP - -#define BOOST_FUSION_ADAPT_AUTO auto -#define BOOST_MPL_PP_TOKEN_EQUAL_auto(x) x - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_base.hpp b/external/boost/fusion/adapted/struct/detail/adapt_base.hpp deleted file mode 100644 index 84b9302c4..000000000 --- a/external/boost/fusion/adapted/struct/detail/adapt_base.hpp +++ /dev/null @@ -1,309 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2009 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2011 Christopher Schmidt - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_HPP - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - - -#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \ - BOOST_PP_SEQ_HEAD(SEQ) \ - BOOST_PP_EMPTY() - -#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(SEQ) \ - BOOST_PP_IF( \ - BOOST_PP_SEQ_HEAD(SEQ), \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS, \ - BOOST_PP_SEQ_HEAD)(BOOST_PP_SEQ_TAIL(SEQ)) - -#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C(R, _, ELEM) \ - (typename ELEM) -#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL(SEQ) \ - BOOST_PP_SEQ_ENUM( \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL_C, \ - _, \ - BOOST_PP_SEQ_TAIL(SEQ))) -#define BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(SEQ) \ - BOOST_PP_IF( \ - BOOST_PP_SEQ_HEAD(SEQ), \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL, \ - BOOST_PP_TUPLE_EAT(1))(SEQ) - -#ifdef BOOST_MSVC -# define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ - NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - \ - struct deduced_attr_type { \ - static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ - typedef \ - BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ - BOOST_TYPEOF( PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ - 0, ATTRIBUTE)) \ - type; \ - }; \ - \ - typedef \ - BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ - deduced_attr_type::type attribute_type; - -#else -# define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ - NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - \ - struct deduced_attr_type { \ - static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ - typedef BOOST_TYPEOF( \ - PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 0, ATTRIBUTE)) \ - type; \ - }; \ - \ - typedef \ - BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ - deduced_attr_type::type attribute_type; - -#endif - -#define BOOST_FUSION_ATTRIBUTE_GIVENTYPE( \ - NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPLE_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ - typedef \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, 0, ATTRIBUTE) attribute_type; - - -#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS -# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ - MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct tag_of< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) MODIFIER \ - , void \ - > \ - { \ - typedef TAG type; \ - }; -#else -# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ - MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct tag_of \ - { \ - typedef TAG type; \ - }; -#endif - -#define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(4,0,DATA)( \ - BOOST_PP_TUPLE_ELEM(4,1,DATA), \ - BOOST_PP_TUPLE_ELEM(4,2,DATA), \ - BOOST_PP_TUPLE_ELEM(4,3,DATA), \ - I, \ - ATTRIBUTE) - -#ifdef BOOST_MSVC -# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM(R,_,ELEM) \ - typedef ELEM ELEM; -# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL(SEQ) \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAM, \ - _, \ - BOOST_PP_SEQ_TAIL(SEQ)) -# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) \ - BOOST_PP_IF( \ - BOOST_PP_SEQ_HEAD(SEQ), \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS_IMPL, \ - BOOST_PP_TUPLE_EAT(1))(SEQ) -#else -# define BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS(SEQ) -#endif - -#define BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, \ - I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPLE_SIZE, \ - DEDUCE_TYPE) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct access::struct_member< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - > \ - { \ - BOOST_PP_IF(DEDUCE_TYPE, \ - BOOST_FUSION_ATTRIBUTE_TYPEOF, BOOST_FUSION_ATTRIBUTE_GIVENTYPE)( \ - NAME_SEQ, \ - ATTRIBUTE, \ - ATTRIBUTE_TUPLE_SIZE, \ - PREFIX, \ - TEMPLATE_PARAMS_SEQ) \ - \ - BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - \ - typedef attribute_type type; \ - \ - template \ - struct apply \ - { \ - typedef typename \ - add_reference< \ - typename mpl::eval_if< \ - is_const \ - , add_const \ - , mpl::identity \ - >::type \ - >::type \ - type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type \ - call(Seq& seq) \ - { \ - return seq.PREFIX() \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ - BOOST_PP_NOT(DEDUCE_TYPE), ATTRIBUTE); \ - } \ - }; \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ - > \ - struct struct_member_name< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - , I \ - > \ - { \ - typedef char const* type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type \ - call() \ - { \ - return BOOST_PP_STRINGIZE( \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE, \ - BOOST_PP_NOT(DEDUCE_TYPE), ATTRIBUTE)); \ - } \ - }; - -#define BOOST_FUSION_ADAPT_STRUCT_BASE( \ - TEMPLATE_PARAMS_SEQ, \ - NAME_SEQ, \ - TAG, \ - IS_VIEW, \ - ATTRIBUTES_SEQ, \ - ATTRIBUTES_CALLBACK) \ - \ -namespace boost \ -{ \ - namespace fusion \ - { \ - namespace traits \ - { \ - BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ - BOOST_PP_EMPTY(), TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ - BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ - const, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ - } \ - \ - namespace extension \ - { \ - BOOST_PP_IF( \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_PP_SEQ_FOR_EACH_I_R, \ - BOOST_PP_TUPLE_EAT(4))( \ - 1, \ - BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL, \ - (ATTRIBUTES_CALLBACK,TEMPLATE_PARAMS_SEQ,NAME_SEQ, IS_VIEW),\ - BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ)) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - > \ - struct struct_size \ - : mpl::int_ \ - {}; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - > \ - struct struct_is_view< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ - > \ - : mpl::BOOST_PP_IIF(IS_VIEW,true_,false_) \ - {}; \ - } \ - } \ - \ - namespace mpl \ - { \ - template \ - struct sequence_tag; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - > \ - struct sequence_tag \ - { \ - typedef fusion::fusion_sequence_tag type; \ - }; \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS( \ - TEMPLATE_PARAMS_SEQ) \ - > \ - struct sequence_tag< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const \ - > \ - { \ - typedef fusion::fusion_sequence_tag type; \ - }; \ - } \ -} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp b/external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp deleted file mode 100644 index 8c4801111..000000000 --- a/external/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp +++ /dev/null @@ -1,73 +0,0 @@ -/*============================================================================= - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP - -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include - -#if BOOST_PP_VARIADICS - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(...) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(...) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(...) \ - BOOST_PP_IIF( \ - BOOST_MPL_PP_TOKEN_EQUAL(auto, BOOST_PP_VARIADIC_ELEM(0, __VA_ARGS__)), \ - ((2, \ - (BOOST_PP_VARIADIC_ELEM(1, __VA_ARGS__), \ - BOOST_PP_VARIADIC_ELEM(2, __VA_ARGS__)))), \ - ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), \ - (__VA_ARGS__))) \ - ) - -#else // BOOST_PP_VARIADICS - - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ - BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, X), \ - ((2, (Y,Z))), \ - ((3, (X,Y,Z))) \ - ) - -#endif // BOOST_PP_VARIADICS - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END - - -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM( \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ - BOOST_PP_DEC(BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE)), \ - BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE)) - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp b/external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp deleted file mode 100644 index 3755bc367..000000000 --- a/external/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/*============================================================================= - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP - -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0(X, Y) \ - BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ - BOOST_FUSION_ADAPT_STRUCT_FILLER_1 - -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1(X, Y) \ - BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ - BOOST_FUSION_ADAPT_STRUCT_FILLER_0 - -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0_END -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1_END - -#define BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X, Y) \ - BOOST_PP_IIF(BOOST_MPL_PP_TOKEN_EQUAL(auto, BOOST_PP_EXPAND(X)), \ - ((1, (Y))), \ - ((2, (X,Y))) \ - ) - -#define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) - -#define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) - - -#if BOOST_PP_VARIADICS - -# define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP(r, unused, elem) \ - BOOST_PP_IIF(BOOST_FUSION_PP_IS_SEQ(elem), \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 elem ,_END), \ - BOOST_PP_EXPR_IIF(BOOST_PP_COMPL(BOOST_PP_IS_EMPTY(elem)), \ - BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(auto, elem))) - -# define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(VA_ARGS_SEQ) \ - BOOST_PP_SEQ_PUSH_FRONT( \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP, \ - unused, VA_ARGS_SEQ), \ - (0,0)) - -#endif // BOOST_PP_VARIADICS - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp b/external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp deleted file mode 100644 index 8430262f8..000000000 --- a/external/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2013-2014 Damien Buhl - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP - -#include - -#define BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ) \ - BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/at_impl.hpp b/external/boost/fusion/adapted/struct/detail/at_impl.hpp deleted file mode 100644 index 52ed847d6..000000000 --- a/external/boost/fusion/adapted/struct/detail/at_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - : access::struct_member< - typename remove_const::type - , N::value - >::template apply - {}; - }; - - template <> - struct at_impl - : at_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/begin_impl.hpp b/external/boost/fusion/adapted/struct/detail/begin_impl.hpp deleted file mode 100644 index f67df3a72..000000000 --- a/external/boost/fusion/adapted/struct/detail/begin_impl.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_BEGIN_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , random_access_traversal_tag - , Seq - , 0 - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , assoc_struct_category - , Seq - , 0 - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/category_of_impl.hpp b/external/boost/fusion/adapted/struct/detail/category_of_impl.hpp deleted file mode 100644 index b98e82420..000000000 --- a/external/boost/fusion/adapted/struct/detail/category_of_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_CATEGORY_OF_IMPL_HPP - -namespace boost { namespace fusion -{ - namespace extension - { - template - struct category_of_impl; - - template<> - struct category_of_impl - { - template - struct apply - { - typedef random_access_traversal_tag type; - }; - }; - - template<> - struct category_of_impl - { - template - struct apply - { - typedef assoc_struct_category type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/define_struct.hpp b/external/boost/fusion/adapted/struct/detail/define_struct.hpp deleted file mode 100644 index cb52ddff9..000000000 --- a/external/boost/fusion/adapted/struct/detail/define_struct.hpp +++ /dev/null @@ -1,479 +0,0 @@ -/*============================================================================= - Copyright (c) 2010-2011 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP -#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEFINE_STRUCT_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_DEFINE_STRUCT_FILLER_0(X, Y) \ - ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_1 -#define BOOST_FUSION_DEFINE_STRUCT_FILLER_1(X, Y) \ - ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_0 -#define BOOST_FUSION_DEFINE_STRUCT_FILLER_0_END -#define BOOST_FUSION_DEFINE_STRUCT_FILLER_1_END - -#ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS - -#define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)( \ - other_self.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)) - -#define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME(self_type const& other_self) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - {} - -// Use templated version instead. -#define BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I_, ATTRIBUTE) \ - \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)= \ - other.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE); - -#define BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - self_type& operator=(self_type const& other) \ - { \ - BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - \ - return *this; \ - } - -#else // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS - -#define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED NAME(self_type const&) = default; - -#define BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED self_type& operator=(self_type const&) = default; - -#endif // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS - -#define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I_, ATTRIBUTE) \ - \ - BOOST_PP_EXPR_IF( \ - I_, \ - typedef typename \ - boost::fusion::result_of::next< \ - BOOST_PP_CAT(I,BOOST_PP_DEC(I_)) \ - >::type \ - BOOST_PP_CAT(I,I_); \ - BOOST_PP_CAT(I,I_) BOOST_PP_CAT(i,I_)= \ - boost::fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(I_))); \ - ) \ - \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)= \ - boost::fusion::deref(BOOST_PP_CAT(i,I_)); - -#define BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - self_type& \ - operator=(Seq const& seq) \ - { \ - typedef typename \ - boost::fusion::result_of::begin::type \ - I0; \ - I0 i0=boost::fusion::begin(seq); \ - \ - BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_ASSIGN_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - \ - return *this; \ - } - -#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES - -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR(NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP(ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) - -#else // BOOST_NO_CXX11_RVALUE_REFERENCES - -#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) \ - || BOOST_WORKAROUND(BOOST_GCC, < 40500) \ - || BOOST_WORKAROUND(BOOST_MSVC, == 1800) - -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)(std::move( \ - other_self.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE))) - -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME(self_type&& other_self) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - {} - -#else // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS - -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED NAME(self_type&&) = default; - -#endif // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS - -#if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) \ - || BOOST_WORKAROUND(BOOST_GCC, < 40600) \ - || BOOST_WORKAROUND(BOOST_MSVC, == 1800) - -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I_, ATTRIBUTE) \ - \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)=std::move( \ - other.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)); - -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - self_type& operator=(self_type&& other) \ - { \ - BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - \ - return *this; \ - } - -#else // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS - -#define BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED self_type& operator=(self_type&&) = default; - -#endif // BOOST_NO_CXX11_DEFAULTED_FUNCTIONS - -#endif // BOOST_NO_CXX11_RVALUE_REFERENCES - -#define BOOST_FUSION_DEFINE_STRUCT_ATTR_I(R, ATTRIBUTE_TUPLE_SIZE, ATTRIBUTE) \ - \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,0,ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE); - -#define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)( \ - boost::fusion::deref(boost::fusion::advance_c(boost::fusion::begin( \ - seq)))) - -#define BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - , typename boost::disable_if< \ - boost::is_convertible< \ - Seq const& \ - , BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPLE_SIZE, \ - 0, \ - BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ - > \ - >::type* =0 - -#define BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)() - -#define BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_PP_SEQ_FOR_EACH_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_ATTR_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME() \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_SEQ_DEFAULT_CTOR_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - {} \ - \ - BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - BOOST_FUSION_DEFINE_STRUCT_MOVE_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - NAME(Seq const& seq \ - BOOST_PP_IF( \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_PP_TUPLE_EAT(2), \ - BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_DISABLER)( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - ) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_SEQ_CTOR_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - {} \ - \ - BOOST_FUSION_DEFINE_STRUCT_COPY_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - BOOST_FUSION_DEFINE_STRUCT_MOVE_ASSIGN_OP( \ - ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - BOOST_FUSION_DEFINE_STRUCT_ASSIGN_OP(ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_1( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - explicit \ - NAME(boost::call_traits< \ - BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPLE_SIZE,0,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ - >::param_type arg) \ - : BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPLE_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ - {} - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - explicit \ - NAME(typename boost::call_traits< \ - typename boost::fusion::detail::get_first_arg< \ - BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPLE_SIZE, \ - 0, \ - BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ)) \ - , BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ - >::type \ - >::param_type arg) \ - : BOOST_PP_TUPLE_ELEM( \ - ATTRIBUTE_TUPLE_SIZE,1,BOOST_PP_SEQ_HEAD(ATTRIBUTES_SEQ))(arg) \ - {} - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,1,ATTRIBUTE)(BOOST_PP_CAT(_,I)) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I(R, DATA, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - typename boost::call_traits< \ - typename boost::fusion::detail::get_first_arg< \ - BOOST_PP_TUPLE_ELEM( \ - BOOST_PP_TUPLE_ELEM(3,0,DATA), \ - 0, \ - ATTRIBUTE) \ - , BOOST_PP_TUPLE_ELEM(3,2,DATA) \ - >::type \ - >::param_type BOOST_PP_CAT(_,I) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_ARG_I, \ - ( \ - ATTRIBUTE_TUPLE_SIZE, \ - BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ), \ - BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) \ - ), \ - ATTRIBUTES_SEQ)) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - {} - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I( \ - R, ATTRIBUTE_TUPLE_SIZE, I, ATTRIBUTE) \ - \ - BOOST_PP_COMMA_IF(I) \ - boost::call_traits< \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPLE_SIZE,0,ATTRIBUTE) \ - >::param_type BOOST_PP_CAT(_,I) - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_GPU_ENABLED \ - NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ)) \ - : BOOST_PP_SEQ_FOR_EACH_I_R( \ - 1, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_FILLER_I, \ - ATTRIBUTE_TUPLE_SIZE, \ - ATTRIBUTES_SEQ) \ - {} - -#define BOOST_FUSION_DEFINE_STRUCT_CTOR( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_N, \ - BOOST_FUSION_DEFINE_STRUCT_CTOR_1)( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_N, \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR_1)( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) - -#define BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ - NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_DEFINE_STRUCT_CTOR( \ - NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE) - -#define BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) - -#define BOOST_FUSION_DEFINE_STRUCT_IMPL( \ - NAMESPACE_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ - \ - struct NAME \ - { \ - typedef NAME self_type; \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_NONEMPTY_STRUCT_IMPL, \ - BOOST_FUSION_DEFINE_EMPTY_STRUCT_IMPL)( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - }; \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) - -#define BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_DEFINE_STRUCT_IMPL_IMPL( \ - NAME, BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_DEFINE_TPL_STRUCT_CTOR( \ - TEMPLATE_PARAMS_SEQ, \ - NAME, \ - BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ), \ - ATTRIBUTE_TUPLE_SIZE) - -#define BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE) - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_IMPL( \ - TEMPLATE_PARAMS_SEQ, \ - NAMESPACE_SEQ, \ - NAME, \ - ATTRIBUTES_SEQ, \ - ATTRIBUTE_TUPLE_SIZE) \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ - \ - template< \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL( \ - (0)TEMPLATE_PARAMS_SEQ) \ - > \ - struct NAME \ - { \ - typedef NAME self_type; \ - \ - BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ)), \ - BOOST_FUSION_DEFINE_NONEMPTY_TPL_STRUCT_IMPL, \ - BOOST_FUSION_DEFINE_EMPTY_TPL_STRUCT_IMPL)( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPLE_SIZE)\ - }; \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) - -namespace boost { namespace fusion { namespace detail -{ - template - struct get_first_arg - { - typedef A1 type; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp deleted file mode 100644 index 1db1a2efe..000000000 --- a/external/boost/fusion/adapted/struct/detail/define_struct_inline.hpp +++ /dev/null @@ -1,529 +0,0 @@ -/*============================================================================= - Copyright (c) 2012 Nathan Ridge - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEFINE_STRUCT_INLINE_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// MSVC and GCC <= 4.4 have a bug that affects partial specializations of -// nested templates under some circumstances. This affects the implementation -// of BOOST_FUSION_DEFINE_STRUCT_INLINE, which uses such specializations for -// the iterator class's 'deref' and 'value_of' metafunctions. On these compilers -// an alternate implementation for these metafunctions is used that does not -// require such specializations. The alternate implementation takes longer -// to compile so its use is restricted to the offending compilers. -// For MSVC, the bug was reported at https://connect.microsoft.com/VisualStudio/feedback/details/757891/c-compiler-error-involving-partial-specializations-of-nested-templates -// For GCC, 4.4 and earlier are no longer maintained so there is no need -// to report a bug. -#if defined(BOOST_MSVC) || (defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 4))) - #define BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND -#endif - -#ifdef BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND -#include -#include -#include -#include -#include -#endif - - -#define BOOST_FUSION_MAKE_DEFAULT_INIT_LIST_ENTRY(R, DATA, N, ATTRIBUTE) \ - BOOST_PP_COMMA_IF(N) BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE)() - -#define BOOST_FUSION_MAKE_DEFAULT_INIT_LIST(ATTRIBUTES_SEQ) \ - : BOOST_PP_SEQ_FOR_EACH_I( \ - BOOST_FUSION_MAKE_DEFAULT_INIT_LIST_ENTRY, \ - ~, \ - ATTRIBUTES_SEQ) \ - -#define BOOST_FUSION_IGNORE_2(ARG1, ARG2) - -#define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \ - BOOST_FUSION_GPU_ENABLED \ - NAME(BOOST_PP_SEQ_FOR_EACH_I( \ - BOOST_FUSION_MAKE_CONST_REF_PARAM, \ - ~, \ - ATTRIBUTES_SEQ)) \ - : BOOST_PP_SEQ_FOR_EACH_I( \ - BOOST_FUSION_MAKE_INIT_LIST_ENTRY, \ - ~, \ - ATTRIBUTES_SEQ) \ - { \ - } \ - -#define BOOST_FUSION_MAKE_CONST_REF_PARAM(R, DATA, N, ATTRIBUTE) \ - BOOST_PP_COMMA_IF(N) \ - BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) const& \ - BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) - -#define BOOST_FUSION_MAKE_INIT_LIST_ENTRY_I(NAME) NAME(NAME) - -#define BOOST_FUSION_MAKE_INIT_LIST_ENTRY(R, DATA, N, ATTRIBUTE) \ - BOOST_PP_COMMA_IF(N) \ - BOOST_FUSION_MAKE_INIT_LIST_ENTRY_I(BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE)) - -#define BOOST_FUSION_ITERATOR_NAME(NAME) \ - BOOST_PP_CAT(boost_fusion_detail_, BOOST_PP_CAT(NAME, _iterator)) - -// Note: all template parameter names need to be uglified, otherwise they might -// shadow a template parameter of the struct when used with -// BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE - -#define BOOST_FUSION_MAKE_ITERATOR_VALUE_OF_SPECS(Z, N, NAME) \ - template \ - struct value_of< \ - BOOST_FUSION_ITERATOR_NAME(NAME) \ - > \ - : boost::mpl::identity< \ - typename boost_fusion_detail_Sq::t##N##_type \ - > \ - { \ - }; - -#define BOOST_FUSION_MAKE_ITERATOR_DEREF_SPEC( \ - SPEC_TYPE, CALL_ARG_TYPE, TYPE_QUAL, ATTRIBUTE, N) \ - \ - template \ - struct deref > \ - { \ - typedef typename boost_fusion_detail_Sq::t##N##_type TYPE_QUAL& type; \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(CALL_ARG_TYPE, N> const& iter) \ - { \ - return iter.seq_.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ - } \ - }; - -#define BOOST_FUSION_MAKE_ITERATOR_DEREF_SPECS(R, NAME, N, ATTRIBUTE) \ - BOOST_FUSION_MAKE_ITERATOR_DEREF_SPEC( \ - BOOST_FUSION_ITERATOR_NAME(NAME) \ - struct value_at > \ - { \ - typedef typename boost_fusion_detail_Sq::t##N##_type type; \ - }; - -#define BOOST_FUSION_MAKE_AT_SPECS(R, DATA, N, ATTRIBUTE) \ - template \ - struct at > \ - { \ - typedef typename boost::mpl::if_< \ - boost::is_const, \ - typename boost_fusion_detail_Sq::t##N##_type const&, \ - typename boost_fusion_detail_Sq::t##N##_type& \ - >::type type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_Sq& sq) \ - { \ - return sq. BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ - } \ - }; - -#define BOOST_FUSION_MAKE_TYPEDEF(R, DATA, N, ATTRIBUTE) \ - typedef BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) t##N##_type; - -#define BOOST_FUSION_MAKE_DATA_MEMBER(R, DATA, N, ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); - -#ifdef BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND - -#define BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTE_SEQ_SIZE) \ - template \ - struct value_of : boost::fusion::result_of::at_c< \ - ref_vec_t, \ - boost_fusion_detail_Iterator::index::value \ - > \ - { \ - }; - -#define BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ - template \ - struct deref \ - { \ - typedef typename boost::remove_const< \ - boost_fusion_detail_Iterator \ - >::type iterator_raw_type; \ - \ - static const int index = iterator_raw_type::index::value; \ - \ - typedef typename boost::fusion::result_of::at_c< \ - ref_vec_t, \ - index \ - >::type result_raw_type; \ - \ - typedef typename boost::mpl::if_< \ - boost::is_const, \ - typename boost::add_const::type, \ - result_raw_type \ - >::type type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(iterator_raw_type const& iter) \ - { \ - return boost::fusion::at_c(iter.ref_vec); \ - } \ - }; - -#define BOOST_FUSION_MAKE_ITERATOR_WKND_FIELD_NAME(R, DATA, N, ATTRIBUTE) \ - BOOST_PP_COMMA_IF(N) seq.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) - -#define BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES(ATTRIBUTES_SEQ) \ - , ref_vec(BOOST_PP_SEQ_FOR_EACH_I( \ - BOOST_FUSION_MAKE_ITERATOR_WKND_FIELD_NAME, \ - ~, \ - BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ))) - -#define BOOST_FUSION_MAKE_ITERATOR_WKND_REF(Z, N, DATA) \ - BOOST_PP_COMMA_IF(N) \ - typename boost::mpl::if_< \ - boost::is_const, \ - typename boost::add_const< \ - typename boost_fusion_detail_Seq::t##N##_type \ - >::type, \ - typename boost_fusion_detail_Seq::t##N##_type \ - >::type& - -#define BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) \ - typedef boost::fusion::vector< \ - BOOST_PP_REPEAT( \ - ATTRIBUTES_SEQ_SIZE, \ - BOOST_FUSION_MAKE_ITERATOR_WKND_REF, \ - ~) \ - > ref_vec_t; \ - \ - ref_vec_t ref_vec; - -#else - -#define BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTES_SEQ_SIZE) \ - template struct value_of; \ - BOOST_PP_REPEAT( \ - ATTRIBUTES_SEQ_SIZE, \ - BOOST_FUSION_MAKE_ITERATOR_VALUE_OF_SPECS, \ - NAME) - -#define BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ - template struct deref; \ - BOOST_PP_SEQ_FOR_EACH_I( \ - BOOST_FUSION_MAKE_ITERATOR_DEREF_SPECS, \ - NAME, \ - ATTRIBUTES_SEQ) - -#define BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES(ATTRIBUTES_SEQ) - -#define BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) - -#endif // BOOST_FUSION_NEED_NESTED_TEMPLATE_PARTIAL_SPEC_WKND - -// Note: We can't nest the iterator inside the struct because we run into -// a MSVC10 bug involving partial specializations of nested templates. - -#define BOOST_FUSION_DEFINE_STRUCT_INLINE_IMPL(NAME, ATTRIBUTES) \ - BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ - struct NAME : boost::fusion::sequence_facade< \ - NAME, \ - boost::fusion::random_access_traversal_tag \ - > \ - { \ - BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ - }; - -#define BOOST_FUSION_DEFINE_TPL_STRUCT_INLINE_IMPL( \ - TEMPLATE_PARAMS_SEQ, NAME, ATTRIBUTES) \ - \ - BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ - \ - template < \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL( \ - (0)TEMPLATE_PARAMS_SEQ) \ - > \ - struct NAME : boost::fusion::sequence_facade< \ - NAME< \ - BOOST_PP_SEQ_ENUM(TEMPLATE_PARAMS_SEQ) \ - >, \ - boost::fusion::random_access_traversal_tag \ - > \ - { \ - BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ - }; - -#define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ - BOOST_FUSION_DEFINE_STRUCT_MEMBERS_IMPL( \ - NAME, \ - BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) - -// Note: can't compute BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ) directly because -// ATTRIBUTES_SEQ may be empty and calling BOOST_PP_SEQ_SIZE on an empty -// sequence produces warnings on MSVC. -#define BOOST_FUSION_DEFINE_STRUCT_MEMBERS_IMPL(NAME, ATTRIBUTES_SEQ) \ - BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS_IMPL_IMPL( \ - NAME, \ - ATTRIBUTES_SEQ, \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((0)ATTRIBUTES_SEQ))) - -#define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ - BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL( \ - NAME, \ - BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) - -#define BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL(NAME, ATTRIBUTES_SEQ) \ - BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \ - NAME, \ - ATTRIBUTES_SEQ, \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE((0)ATTRIBUTES_SEQ))) - -#define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \ - \ - template \ - struct BOOST_FUSION_ITERATOR_NAME(NAME) \ - : boost::fusion::iterator_facade< \ - BOOST_FUSION_ITERATOR_NAME(NAME), \ - boost::fusion::random_access_traversal_tag \ - > \ - { \ - typedef boost::mpl::int_ index; \ - typedef boost_fusion_detail_Seq sequence_type; \ - \ - BOOST_FUSION_GPU_ENABLED \ - BOOST_FUSION_ITERATOR_NAME(NAME)(boost_fusion_detail_Seq& seq) \ - : seq_(seq) \ - BOOST_FUSION_DEFINE_ITERATOR_WKND_INIT_LIST_ENTRIES( \ - (0)ATTRIBUTES_SEQ) \ - {} \ - \ - boost_fusion_detail_Seq& seq_; \ - \ - BOOST_FUSION_DEFINE_ITERATOR_WKND_MEMBERS(ATTRIBUTES_SEQ_SIZE) \ - \ - BOOST_FUSION_DEFINE_ITERATOR_VALUE_OF(NAME, ATTRIBUTES_SEQ_SIZE) \ - \ - BOOST_FUSION_DEFINE_ITERATOR_DEREF(NAME, ATTRIBUTES_SEQ) \ - \ - template \ - struct next \ - { \ - typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ - typename boost_fusion_detail_It::sequence_type, \ - boost_fusion_detail_It::index::value + 1 \ - > type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_It const& it) \ - { \ - return type(it.seq_); \ - } \ - }; \ - \ - template \ - struct prior \ - { \ - typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ - typename boost_fusion_detail_It::sequence_type, \ - boost_fusion_detail_It::index::value - 1 \ - > type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_It const& it) \ - { \ - return type(it.seq_); \ - } \ - }; \ - \ - template < \ - typename boost_fusion_detail_It1, \ - typename boost_fusion_detail_It2 \ - > \ - struct distance \ - { \ - typedef typename boost::mpl::minus< \ - typename boost_fusion_detail_It2::index, \ - typename boost_fusion_detail_It1::index \ - >::type type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_It1 const& /* it1 */, \ - boost_fusion_detail_It2 const& /* it2 */) \ - { \ - return type(); \ - } \ - }; \ - \ - template < \ - typename boost_fusion_detail_It, \ - typename boost_fusion_detail_M \ - > \ - struct advance \ - { \ - typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ - typename boost_fusion_detail_It::sequence_type, \ - boost_fusion_detail_It::index::value \ - + boost_fusion_detail_M::value \ - > type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_It const& it) \ - { \ - return type(it.seq_); \ - } \ - }; \ - }; - - -#define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS_IMPL_IMPL( \ - NAME, ATTRIBUTES_SEQ, ATTRIBUTES_SEQ_SIZE) \ - \ - NAME() \ - BOOST_PP_IF(ATTRIBUTES_SEQ_SIZE, \ - BOOST_FUSION_MAKE_DEFAULT_INIT_LIST, \ - BOOST_PP_EMPTY)(ATTRIBUTES_SEQ) \ - { \ - } \ - \ - BOOST_PP_IF( \ - ATTRIBUTES_SEQ_SIZE, \ - BOOST_FUSION_MAKE_COPY_CONSTRUCTOR, \ - BOOST_FUSION_IGNORE_2) \ - (NAME, ATTRIBUTES_SEQ) \ - \ - template \ - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - NAME(const boost_fusion_detail_Seq& rhs) \ - { \ - boost::fusion::copy(rhs, *this); \ - } \ - \ - template \ - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - NAME& operator=(const boost_fusion_detail_Seq& rhs) \ - { \ - boost::fusion::copy(rhs, *this); \ - return *this; \ - } \ - \ - template \ - struct begin \ - { \ - typedef BOOST_FUSION_ITERATOR_NAME(NAME) \ - type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_Sq& sq) \ - { \ - return type(sq); \ - } \ - }; \ - \ - template \ - struct end \ - { \ - typedef BOOST_FUSION_ITERATOR_NAME(NAME)< \ - boost_fusion_detail_Sq, \ - ATTRIBUTES_SEQ_SIZE \ - > type; \ - \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_Sq& sq) \ - { \ - return type(sq); \ - } \ - }; \ - \ - template \ - struct size : boost::mpl::int_ \ - { \ - }; \ - \ - template \ - struct empty : boost::mpl::bool_ \ - { \ - }; \ - \ - template < \ - typename boost_fusion_detail_Sq, \ - typename boost_fusion_detail_N \ - > \ - struct value_at : value_at< \ - boost_fusion_detail_Sq, \ - boost::mpl::int_ \ - > \ - { \ - }; \ - \ - BOOST_PP_REPEAT( \ - ATTRIBUTES_SEQ_SIZE, \ - BOOST_FUSION_MAKE_VALUE_AT_SPECS, \ - ~) \ - \ - template < \ - typename boost_fusion_detail_Sq, \ - typename boost_fusion_detail_N \ - > \ - struct at : at< \ - boost_fusion_detail_Sq, \ - boost::mpl::int_ \ - > \ - { \ - }; \ - \ - BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_MAKE_AT_SPECS, ~, ATTRIBUTES_SEQ) \ - \ - BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_MAKE_TYPEDEF, ~, ATTRIBUTES_SEQ) \ - \ - BOOST_PP_SEQ_FOR_EACH_I( \ - BOOST_FUSION_MAKE_DATA_MEMBER, \ - ~, \ - ATTRIBUTES_SEQ) - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp b/external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp deleted file mode 100644 index d3b6ced6c..000000000 --- a/external/boost/fusion/adapted/struct/detail/deref_data_impl.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_DATA_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - : deref_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/deref_impl.hpp b/external/boost/fusion/adapted/struct/detail/deref_impl.hpp deleted file mode 100644 index c53b51a32..000000000 --- a/external/boost/fusion/adapted/struct/detail/deref_impl.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_DEREF_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - access::struct_member< - typename remove_const::type - , It::index::value - >::template apply - impl; - - typedef typename impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return impl::call(*it.seq); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/end_impl.hpp b/external/boost/fusion/adapted/struct/detail/end_impl.hpp deleted file mode 100644 index 855be7a4e..000000000 --- a/external/boost/fusion/adapted/struct/detail/end_impl.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_END_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , random_access_traversal_tag - , Seq - , struct_size::type>::value - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - struct_iterator_tag - , assoc_struct_category - , Seq - , struct_size::type>::value - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/extension.hpp b/external/boost/fusion/adapted/struct/detail/extension.hpp deleted file mode 100644 index e63a0a453..000000000 --- a/external/boost/fusion/adapted/struct/detail/extension.hpp +++ /dev/null @@ -1,58 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_EXTENSION_HPP - -#include -#include - -namespace boost { namespace fusion -{ - struct struct_tag; - struct struct_iterator_tag; - struct assoc_struct_tag; - struct fusion_sequence_tag; - - struct assoc_struct_category - : random_access_traversal_tag, associative_tag - {}; - - namespace extension - { - struct no_such_member; - - struct access - { - template - struct struct_member; - - template - struct adt_attribute_access; - }; - - template - struct adt_attribute_proxy; - - template - struct struct_member_name; - - template - struct struct_size; - - template - struct struct_is_view; - - template - struct struct_assoc_key; - - } -}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp b/external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp deleted file mode 100644 index afcbe5ba4..000000000 --- a/external/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_SEQUENCE_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply - : mpl::true_ - {}; - }; - - template <> - struct is_sequence_impl - : is_sequence_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/is_view_impl.hpp b/external/boost/fusion/adapted/struct/detail/is_view_impl.hpp deleted file mode 100644 index 71d284077..000000000 --- a/external/boost/fusion/adapted/struct/detail/is_view_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_IS_VIEW_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct is_view_impl; - - template<> - struct is_view_impl - { - template - struct apply - : struct_is_view::type> - {}; - }; - - template <> - struct is_view_impl - : is_view_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/key_of_impl.hpp b/external/boost/fusion/adapted/struct/detail/key_of_impl.hpp deleted file mode 100644 index d24a24b1b..000000000 --- a/external/boost/fusion/adapted/struct/detail/key_of_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_KEY_OF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_KEY_OF_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct key_of_impl; - - template <> - struct key_of_impl - { - template - struct apply - : extension::struct_assoc_key< - typename remove_const::type - , It::index::value - > - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/namespace.hpp b/external/boost/fusion/adapted/struct/detail/namespace.hpp deleted file mode 100644 index 2ad509df8..000000000 --- a/external/boost/fusion/adapted/struct/detail/namespace.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Hartmut Kaiser - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP -#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_NAMESPACE_HPP - -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_BEGIN_I(R,DATA,ELEM) \ - namespace ELEM { -#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_END_I(Z,I,DATA) } -#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION_I(Z,I,ELEM) ELEM:: - -#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ - BOOST_PP_IF( \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ - BOOST_PP_SEQ_FOR_EACH_R, \ - BOOST_PP_TUPLE_EAT(4))( \ - 1, \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_BEGIN_I, \ - _, \ - BOOST_PP_SEQ_TAIL(NAMESPACE_SEQ)) - -#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) \ - BOOST_PP_REPEAT_1( \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_END_I, \ - _) - -#define BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION(NAMESPACE_SEQ) \ - BOOST_PP_IF( \ - BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(NAMESPACE_SEQ)), \ - BOOST_PP_SEQ_FOR_EACH_R, \ - BOOST_PP_TUPLE_EAT(4))( \ - 1, \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION_I, \ - _, \ - BOOST_PP_SEQ_TAIL(NAMESPACE_SEQ)) - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp b/external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp deleted file mode 100644 index 00371ca5b..000000000 --- a/external/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - BOOST_PP_VARIADICS version of BOOST_PP_IS_SEQ inspired from - boost/mpl/aux_/preprocessor/is_seq.hpp, original copyrights goes to : - - Copyright Paul Mensonides 2003 - Copyright Aleksey Gurtovoy 2003-2004 - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP - -#include -#include -#include - -#if BOOST_PP_VARIADICS - -#define BOOST_FUSION_PP_IS_SEQ(seq) BOOST_PP_CAT(BOOST_FUSION_PP_IS_SEQ_, \ - BOOST_FUSION_PP_IS_SEQ_0 seq BOOST_PP_RPAREN()) - -#define BOOST_FUSION_PP_IS_SEQ_0(...) \ - BOOST_FUSION_PP_IS_SEQ_1(__VA_ARGS__ - -#define BOOST_FUSION_PP_IS_SEQ_ALWAYS_0(...) \ - 0 - -#define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_0 \ - BOOST_FUSION_PP_IS_SEQ_ALWAYS_0( - -#define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_1(...) \ - 1 - -#endif // BOOST_PP_VARIADICS - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/proxy_type.hpp b/external/boost/fusion/adapted/struct/detail/proxy_type.hpp deleted file mode 100644 index b4cb55bb4..000000000 --- a/external/boost/fusion/adapted/struct/detail/proxy_type.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Hartmut Kaiser - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP -#define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_PROXY_TYPE_HPP - -#include -#include - -#define BOOST_FUSION_PROXY_PREFIX() obj. - -#define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,NAMESPACE_SEQ,NAME) \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_BEGIN(NAMESPACE_SEQ) \ - \ - struct NAME \ - { \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - NAME(WRAPPED_TYPE& in_obj) \ - : obj(in_obj) \ - {} \ - \ - WRAPPED_TYPE& obj; \ - \ - private: \ - NAME& operator= (NAME const&); \ - }; \ - \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DEFINITION_END(NAMESPACE_SEQ) - -#define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME) \ - \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE, (0)NAMESPACE_SEQ, NAME) - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/size_impl.hpp b/external/boost/fusion/adapted/struct/detail/size_impl.hpp deleted file mode 100644 index baf411bd0..000000000 --- a/external/boost/fusion/adapted/struct/detail/size_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_SIZE_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply - : struct_size::type> - {}; - }; - - template <> - struct size_impl - : size_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/value_at_impl.hpp b/external/boost/fusion/adapted/struct/detail/value_at_impl.hpp deleted file mode 100644 index f82047532..000000000 --- a/external/boost/fusion/adapted/struct/detail/value_at_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_AT_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - : access::struct_member::type, N::value> - {}; - }; - - template <> - struct value_at_impl - : value_at_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp b/external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp deleted file mode 100644 index 4528b854a..000000000 --- a/external/boost/fusion/adapted/struct/detail/value_of_data_impl.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_DATA_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_DATA_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_data_impl; - - template <> - struct value_of_data_impl - : value_of_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/adapted/struct/detail/value_of_impl.hpp b/external/boost/fusion/adapted/struct/detail/value_of_impl.hpp deleted file mode 100644 index 63dcbe52f..000000000 --- a/external/boost/fusion/adapted/struct/detail/value_of_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP -#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_VALUE_OF_IMPL_HPP - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - : access::struct_member< - typename remove_const::type - , It::index::value - > - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/algorithm.hpp b/external/boost/fusion/algorithm.hpp deleted file mode 100644 index f698ff977..000000000 --- a/external/boost/fusion/algorithm.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ALGORITHM_10022005_0549) -#define FUSION_ALGORITHM_10022005_0549 - -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/algorithm/auxiliary.hpp b/external/boost/fusion/algorithm/auxiliary.hpp deleted file mode 100644 index 313c81f81..000000000 --- a/external/boost/fusion/algorithm/auxiliary.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ALGORITHM_AUXILIARY_02192011_0907) -#define FUSION_ALGORITHM_AUXILIARY_02192011_0907 - -#include -#include -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES -#include -#endif - -#endif diff --git a/external/boost/fusion/algorithm/auxiliary/copy.hpp b/external/boost/fusion/algorithm/auxiliary/copy.hpp deleted file mode 100644 index ec240bae6..000000000 --- a/external/boost/fusion/algorithm/auxiliary/copy.hpp +++ /dev/null @@ -1,91 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_COPY_02162011_2308) -#define FUSION_COPY_02162011_2308 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4100) // unreferenced formal parameter -#endif - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct sequence_copy - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void - call(I1 const&, I2 const&, mpl::true_) - { - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void - call(I1 const& src, I2 const& dest, mpl::false_) - { - *dest = *src; - call(fusion::next(src), fusion::next(dest)); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void - call(I1 const& src, I2 const& dest) - { - typename result_of::equal_to::type eq; - return call(src, dest, eq); - } - }; - } - - namespace result_of - { - template - struct copy - : enable_if, - traits::is_sequence - > > {}; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::copy::type - copy(Seq1 const& src, Seq2& dest) - { - BOOST_STATIC_ASSERT( - result_of::size::value <= result_of::size::value); - - detail::sequence_copy< - Seq1 const, Seq2>:: - call(fusion::begin(src), fusion::begin(dest)); - } -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/fusion/algorithm/auxiliary/move.hpp b/external/boost/fusion/algorithm/auxiliary/move.hpp deleted file mode 100644 index 68552829b..000000000 --- a/external/boost/fusion/algorithm/auxiliary/move.hpp +++ /dev/null @@ -1,93 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MOVE_01192013_2225) -#define FUSION_MOVE_01192013_2225 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include // for std::move - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4100) // unreferenced formal parameter -#endif - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct sequence_move - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void - call(I1 const&, I2 const&, mpl::true_) - { - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void - call(I1 const& src, I2 const& dest, mpl::false_) - { - *dest = std::move(*src); - call(fusion::next(src), fusion::next(dest)); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void - call(I1 const& src, I2 const& dest) - { - typename result_of::equal_to::type eq; - return call(src, dest, eq); - } - }; - } - - namespace result_of - { - template - struct move - : enable_if, - traits::is_sequence - > > {}; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::move::type - move(Seq1&& src, Seq2& dest) - { - BOOST_STATIC_ASSERT( - result_of::size::value <= result_of::size::value); - - detail::sequence_move< - Seq1, Seq2>:: - call(fusion::begin(src), fusion::begin(dest)); - } -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/fusion/algorithm/iteration.hpp b/external/boost/fusion/algorithm/iteration.hpp deleted file mode 100644 index 0b58a28ff..000000000 --- a/external/boost/fusion/algorithm/iteration.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ALGORITHM_ITERATION_10022005_0549) -#define FUSION_ALGORITHM_ITERATION_10022005_0549 - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/algorithm/iteration/accumulate.hpp b/external/boost/fusion/algorithm/iteration/accumulate.hpp deleted file mode 100644 index 7d524a15c..000000000 --- a/external/boost/fusion/algorithm/iteration/accumulate.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ACCUMULATE_09172005_1032) -#define FUSION_ACCUMULATE_09172005_1032 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template - struct accumulate - : result_of::fold - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::accumulate::type - accumulate(Sequence& seq, State const& state, F f) - { - return fusion::fold(seq, state, f); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::accumulate::type - accumulate(Sequence const& seq, State const& state, F f) - { - return fusion::fold(seq, state, f); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp b/external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp deleted file mode 100644 index f00e67f96..000000000 --- a/external/boost/fusion/algorithm/iteration/accumulate_fwd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED) -#define BOOST_FUSION_ACCUMULATE_FWD_HPP_INCLUDED - -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct accumulate; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::accumulate::type - accumulate(Sequence& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::accumulate::type - accumulate(Sequence const& seq, State const& state, F f); -}} - -#endif - diff --git a/external/boost/fusion/algorithm/iteration/detail/fold.hpp b/external/boost/fusion/algorithm/iteration/detail/fold.hpp deleted file mode 100644 index 4c82b8002..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/fold.hpp +++ /dev/null @@ -1,294 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#include - -#define FUSION_HASH # - -#ifdef BOOST_FUSION_REVERSE_FOLD -# ifdef BOOST_FUSION_ITER_FOLD -# define BOOST_FUSION_FOLD_NAME reverse_iter_fold -# else -# define BOOST_FUSION_FOLD_NAME reverse_fold -# endif - -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION end -# define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION prior -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) \ - typename fusion::result_of::prior::type -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) fusion::prior(IT) -#else -# ifdef BOOST_FUSION_ITER_FOLD -# define BOOST_FUSION_FOLD_NAME iter_fold -# else -# define BOOST_FUSION_FOLD_NAME fold -# endif - -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION begin -# define BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION next -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM(IT) IT -# define BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM(IT) IT -#endif -#ifdef BOOST_FUSION_ITER_FOLD -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) IT& -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) IT -#else -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(IT) \ - typename fusion::result_of::deref::type -# define BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(IT) fusion::deref(IT) -#endif - -#if (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -FUSION_HASH if BOOST_WORKAROUND BOOST_PREVENT_MACRO_SUBSTITUTION (BOOST_MSVC, < 1500) -FUSION_HASH define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void -FUSION_HASH else -FUSION_HASH define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type -FUSION_HASH endif -#else -# if BOOST_WORKAROUND(BOOST_MSVC, < 1500) -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void -# else -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type -# endif -#endif - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME) - {}; - - template - struct BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)<0,It,State,F - , typename boost::enable_if_has_type::type -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if BOOST_WORKAROUND BOOST_PREVENT_MACRO_SUBSTITUTION (BOOST_MSVC, < 1500) -#endif -#if BOOST_WORKAROUND(BOOST_MSVC, < 1500) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - , true -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - > - { - typedef typename State::type type; - }; - - template - struct BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)= 1500) -#endif -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1500) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - // Following SFINAE enables to avoid MSVC 9's partial specialization - // ambiguous bug but MSVC 8 don't compile, and moreover MSVC 8 style - // workaround won't work with MSVC 9. - typename boost::disable_if_c::type::type -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH else - BOOST_FUSION_FOLD_IMPL_ENABLER(State) -#endif -#else - BOOST_FUSION_FOLD_IMPL_ENABLER(State) -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - >::type -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if BOOST_WORKAROUND BOOST_PREVENT_MACRO_SUBSTITUTION (BOOST_MSVC, < 1500) -#endif -#if BOOST_WORKAROUND(BOOST_MSVC, < 1500) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - , false -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - > - : BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< - SeqSize-1 - , typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type - , boost::result_of< - F( - typename add_reference::type, - BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It const) - ) - > - , F - > - {}; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< - 0 - , It - , State - , F - >::type - BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)(mpl::int_<0>, It const&, typename State::type state, F&) - { - return state; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename lazy_enable_if_c< - SeqSize != 0 - , BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< - SeqSize - , It - , State - , F - > - >::type - BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)(mpl::int_, It const& it, typename State::type state, F& f) - { - return BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)< - typename result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION::type - , boost::result_of< - F( - typename add_reference::type, - BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It const) - ) - > - , F - >( - mpl::int_() - , fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it) - , f(state, BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it)) - , f - ); - } - - template::value - , bool = traits::is_segmented::value> - struct BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME) - {}; - - template - struct BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME) - : BOOST_PP_CAT(result_of_it_,BOOST_FUSION_FOLD_NAME)< - result_of::size::value - , BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM( - typename result_of::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION::type - ) - , add_reference - , F - > - {}; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME)::type - BOOST_FUSION_FOLD_NAME(Seq& seq, State& state, F& f) - { - return BOOST_PP_CAT(it_,BOOST_FUSION_FOLD_NAME)< - BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM( - typename result_of::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION::type - ) - , add_reference - , F - >( - typename result_of::size::type() - , BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM( - fusion::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION(seq) - ) - , state - , f - ); - } - } - - namespace result_of - { - template - struct BOOST_FUSION_FOLD_NAME - : detail::BOOST_PP_CAT(result_of_,BOOST_FUSION_FOLD_NAME) - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq - , State const - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq& seq, State const& state, F f) - { - return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq const - , State const - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq const& seq, State const& state, F f) - { - return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq - , State - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq& seq, State& state, F f) - { - return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FOLD_NAME< - Seq const - , State - , F - >::type - BOOST_FUSION_FOLD_NAME(Seq const& seq, State& state, F f) - { - return detail::BOOST_FUSION_FOLD_NAME(seq, state, f); - } -}} - -#undef BOOST_FUSION_FOLD_NAME -#undef BOOST_FUSION_FOLD_IMPL_ENABLER -#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION -#undef BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION -#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_META_TRANSFORM -#undef BOOST_FUSION_FOLD_IMPL_FIRST_IT_TRANSFORM -#undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM -#undef BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM -#undef FUSION_HASH diff --git a/external/boost/fusion/algorithm/iteration/detail/for_each.hpp b/external/boost/fusion/algorithm/iteration/detail/for_each.hpp deleted file mode 100644 index 0bef5cec4..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/for_each.hpp +++ /dev/null @@ -1,149 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FOR_EACH_05052005_1028) -#define FUSION_FOR_EACH_05052005_1028 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { -namespace detail -{ - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void - for_each_linear(First const&, Last const&, F const&, mpl::true_) - { - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void - for_each_linear(First const& first, Last const& last, F const& f, mpl::false_) - { - f(*first); - detail::for_each_linear(fusion::next(first), last, f, - result_of::equal_to::type, Last>()); - } - - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void - for_each_dispatch(Sequence& seq, F const& f, Tag) - { - detail::for_each_linear( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct for_each_unrolled - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - f(*i1); - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - f(*i2); - typedef typename result_of::next::type I3; - I3 i3(fusion::next(i2)); - f(*i3); - for_each_unrolled::call(fusion::next(i3), f); - } - }; - - template<> - struct for_each_unrolled<3> - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - f(*i1); - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - f(*i2); - } - }; - - template<> - struct for_each_unrolled<2> - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - f(*i1); - } - }; - - template<> - struct for_each_unrolled<1> - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void call(I0 const& i0, F const& f) - { - f(*i0); - } - }; - - template<> - struct for_each_unrolled<0> - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static void call(It const&, F const&) - { - } - }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void - for_each_dispatch(Sequence& seq, F const& f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - for_each_unrolled::type::value>::call(fusion::begin(seq), f); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void - for_each(Sequence& seq, F const& f, mpl::false_) // unsegmented implementation - { - detail::for_each_dispatch(seq, f, typename traits::category_of::type()); - } -}}} - - -#endif - diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp deleted file mode 100644 index c23ba16c2..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp +++ /dev/null @@ -1,189 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void -# else -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type -# endif -namespace boost { namespace fusion -{ - namespace detail - { - template - struct result_of_it_fold - {}; - template - struct result_of_it_fold<0,It,State,F - , typename boost::enable_if_has_type::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , true -# endif - > - { - typedef typename State::type type; - }; - template - struct result_of_it_fold= 1500) - - - - typename boost::disable_if_c::type::type -# else - BOOST_FUSION_FOLD_IMPL_ENABLER(State) -# endif - >::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , false -# endif - > - : result_of_it_fold< - SeqSize-1 - , typename result_of::next::type - , boost::result_of< - F( - typename add_reference::type, - typename fusion::result_of::deref::type - ) - > - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_it_fold< - 0 - , It - , State - , F - >::type - it_fold(mpl::int_<0>, It const&, typename State::type state, F&) - { - return state; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename lazy_enable_if_c< - SeqSize != 0 - , result_of_it_fold< - SeqSize - , It - , State - , F - > - >::type - it_fold(mpl::int_, It const& it, typename State::type state, F& f) - { - return it_fold< - typename result_of::next::type - , boost::result_of< - F( - typename add_reference::type, - typename fusion::result_of::deref::type - ) - > - , F - >( - mpl::int_() - , fusion::next(it) - , f(state, fusion::deref(it)) - , f - ); - } - template::value - , bool = traits::is_segmented::value> - struct result_of_fold - {}; - template - struct result_of_fold - : result_of_it_fold< - result_of::size::value - , typename result_of::begin::type - , add_reference - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_fold::type - fold(Seq& seq, State& state, F& f) - { - return it_fold< - typename result_of::begin::type - , add_reference - , F - >( - typename result_of::size::type() - , fusion::begin(seq) - , state - , f - ); - } - } - namespace result_of - { - template - struct fold - : detail::result_of_fold - {}; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq - , State const - , F - >::type - fold(Seq& seq, State const& state, F f) - { - return detail::fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq const - , State const - , F - >::type - fold(Seq const& seq, State const& state, F f) - { - return detail::fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq - , State - , F - >::type - fold(Seq& seq, State& state, F f) - { - return detail::fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq const - , State - , F - >::type - fold(Seq const& seq, State& state, F f) - { - return detail::fold(seq, state, f); - } -}} diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp deleted file mode 100644 index d49a86856..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp +++ /dev/null @@ -1,188 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void -# else -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type -# endif -namespace boost { namespace fusion -{ - namespace detail - { - template - struct result_of_it_iter_fold - {}; - template - struct result_of_it_iter_fold<0,It,State,F - , typename boost::enable_if_has_type::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , true -# endif - > - { - typedef typename State::type type; - }; - template - struct result_of_it_iter_fold= 1500) - - - - typename boost::disable_if_c::type::type -# else - BOOST_FUSION_FOLD_IMPL_ENABLER(State) -# endif - >::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , false -# endif - > - : result_of_it_iter_fold< - SeqSize-1 - , typename result_of::next::type - , boost::result_of< - F( - typename add_reference::type, - It const& - ) - > - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_it_iter_fold< - 0 - , It - , State - , F - >::type - it_iter_fold(mpl::int_<0>, It const&, typename State::type state, F&) - { - return state; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename lazy_enable_if_c< - SeqSize != 0 - , result_of_it_iter_fold< - SeqSize - , It - , State - , F - > - >::type - it_iter_fold(mpl::int_, It const& it, typename State::type state, F& f) - { - return it_iter_fold< - typename result_of::next::type - , boost::result_of< - F( - typename add_reference::type, - It const& - ) - > - , F - >( - mpl::int_() - , fusion::next(it) - , f(state, it) - , f - ); - } - template::value - , bool = traits::is_segmented::value> - struct result_of_iter_fold - {}; - template - struct result_of_iter_fold - : result_of_it_iter_fold< - result_of::size::value - , typename result_of::begin::type - , add_reference - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_iter_fold::type - iter_fold(Seq& seq, State& state, F& f) - { - return it_iter_fold< - typename result_of::begin::type - , add_reference - , F - >( - typename result_of::size::type() - , fusion::begin(seq) - , state - , f - ); - } - } - namespace result_of - { - template - struct iter_fold - : detail::result_of_iter_fold - {}; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq - , State const - , F - >::type - iter_fold(Seq& seq, State const& state, F f) - { - return detail::iter_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq const - , State const - , F - >::type - iter_fold(Seq const& seq, State const& state, F f) - { - return detail::iter_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq - , State - , F - >::type - iter_fold(Seq& seq, State& state, F f) - { - return detail::iter_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq const - , State - , F - >::type - iter_fold(Seq const& seq, State& state, F f) - { - return detail::iter_fold(seq, state, f); - } -}} diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp deleted file mode 100644 index 4b3b3b1e0..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp +++ /dev/null @@ -1,188 +0,0 @@ -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void -# else -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type -# endif -namespace boost { namespace fusion -{ - namespace detail - { - template - struct result_of_it_reverse_fold - {}; - template - struct result_of_it_reverse_fold<0,It,State,F - , typename boost::enable_if_has_type::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , true -# endif - > - { - typedef typename State::type type; - }; - template - struct result_of_it_reverse_fold= 1500) - - - - typename boost::disable_if_c::type::type -# else - BOOST_FUSION_FOLD_IMPL_ENABLER(State) -# endif - >::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , false -# endif - > - : result_of_it_reverse_fold< - SeqSize-1 - , typename result_of::prior::type - , boost::result_of< - F( - typename add_reference::type, - typename fusion::result_of::deref::type - ) - > - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_it_reverse_fold< - 0 - , It - , State - , F - >::type - it_reverse_fold(mpl::int_<0>, It const&, typename State::type state, F&) - { - return state; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename lazy_enable_if_c< - SeqSize != 0 - , result_of_it_reverse_fold< - SeqSize - , It - , State - , F - > - >::type - it_reverse_fold(mpl::int_, It const& it, typename State::type state, F& f) - { - return it_reverse_fold< - typename result_of::prior::type - , boost::result_of< - F( - typename add_reference::type, - typename fusion::result_of::deref::type - ) - > - , F - >( - mpl::int_() - , fusion::prior(it) - , f(state, fusion::deref(it)) - , f - ); - } - template::value - , bool = traits::is_segmented::value> - struct result_of_reverse_fold - {}; - template - struct result_of_reverse_fold - : result_of_it_reverse_fold< - result_of::size::value - , typename fusion::result_of::prior< typename result_of::end::type >::type - , add_reference - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_reverse_fold::type - reverse_fold(Seq& seq, State& state, F& f) - { - return it_reverse_fold< - typename fusion::result_of::prior< typename result_of::end::type >::type - , add_reference - , F - >( - typename result_of::size::type() - , fusion::prior( fusion::end(seq) ) - , state - , f - ); - } - } - namespace result_of - { - template - struct reverse_fold - : detail::result_of_reverse_fold - {}; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq - , State const - , F - >::type - reverse_fold(Seq& seq, State const& state, F f) - { - return detail::reverse_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq const - , State const - , F - >::type - reverse_fold(Seq const& seq, State const& state, F f) - { - return detail::reverse_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq - , State - , F - >::type - reverse_fold(Seq& seq, State& state, F f) - { - return detail::reverse_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq const - , State - , F - >::type - reverse_fold(Seq const& seq, State& state, F f) - { - return detail::reverse_fold(seq, state, f); - } -}} diff --git a/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp deleted file mode 100644 index 10bd9c7d3..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp +++ /dev/null @@ -1,188 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) void -# else -# define BOOST_FUSION_FOLD_IMPL_ENABLER(T) typename T::type -# endif -namespace boost { namespace fusion -{ - namespace detail - { - template - struct result_of_it_reverse_iter_fold - {}; - template - struct result_of_it_reverse_iter_fold<0,It,State,F - , typename boost::enable_if_has_type::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , true -# endif - > - { - typedef typename State::type type; - }; - template - struct result_of_it_reverse_iter_fold= 1500) - - - - typename boost::disable_if_c::type::type -# else - BOOST_FUSION_FOLD_IMPL_ENABLER(State) -# endif - >::type -# if BOOST_WORKAROUND (BOOST_MSVC, < 1500) - , false -# endif - > - : result_of_it_reverse_iter_fold< - SeqSize-1 - , typename result_of::prior::type - , boost::result_of< - F( - typename add_reference::type, - It const& - ) - > - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_it_reverse_iter_fold< - 0 - , It - , State - , F - >::type - it_reverse_iter_fold(mpl::int_<0>, It const&, typename State::type state, F&) - { - return state; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename lazy_enable_if_c< - SeqSize != 0 - , result_of_it_reverse_iter_fold< - SeqSize - , It - , State - , F - > - >::type - it_reverse_iter_fold(mpl::int_, It const& it, typename State::type state, F& f) - { - return it_reverse_iter_fold< - typename result_of::prior::type - , boost::result_of< - F( - typename add_reference::type, - It const& - ) - > - , F - >( - mpl::int_() - , fusion::prior(it) - , f(state, it) - , f - ); - } - template::value - , bool = traits::is_segmented::value> - struct result_of_reverse_iter_fold - {}; - template - struct result_of_reverse_iter_fold - : result_of_it_reverse_iter_fold< - result_of::size::value - , typename fusion::result_of::prior< typename result_of::end::type >::type - , add_reference - , F - > - {}; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of_reverse_iter_fold::type - reverse_iter_fold(Seq& seq, State& state, F& f) - { - return it_reverse_iter_fold< - typename fusion::result_of::prior< typename result_of::end::type >::type - , add_reference - , F - >( - typename result_of::size::type() - , fusion::prior( fusion::end(seq) ) - , state - , f - ); - } - } - namespace result_of - { - template - struct reverse_iter_fold - : detail::result_of_reverse_iter_fold - {}; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq - , State const - , F - >::type - reverse_iter_fold(Seq& seq, State const& state, F f) - { - return detail::reverse_iter_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq const - , State const - , F - >::type - reverse_iter_fold(Seq const& seq, State const& state, F f) - { - return detail::reverse_iter_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq - , State - , F - >::type - reverse_iter_fold(Seq& seq, State& state, F f) - { - return detail::reverse_iter_fold(seq, state, f); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq const - , State - , F - >::type - reverse_iter_fold(Seq const& seq, State& state, F f) - { - return detail::reverse_iter_fold(seq, state, f); - } -}} diff --git a/external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp b/external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp deleted file mode 100644 index 350bff75b..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_FOLD_S_HPP_INCLUDED) -#define BOOST_FUSION_FOLD_S_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct segmented_fold_fun - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit segmented_fold_fun(Fun const& f) - : fun(f) - {} - - Fun const& fun; - - template - struct apply - { - typedef typename result_of::fold::type type; - typedef mpl::true_ continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State const& state, Context const&, segmented_fold_fun const& fun) - { - return fusion::fold(seq, state, fun.fun); - } - }; - }; - - // The default implementation of this lives in detail/fold.hpp - template - struct result_of_fold; - - template - struct result_of_fold - { - typedef - typename result_of::segmented_fold_until< - Sequence, - State, - segmented_fold_fun - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State& state, Fun& fun) - { - return fusion::segmented_fold_until(seq, state, segmented_fold_fun(fun)); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp b/external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp deleted file mode 100644 index a32d9dad0..000000000 --- a/external/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_FOR_EACH_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct segmented_for_each_fun - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit segmented_for_each_fun(Fun const& f) - : fun(f) - {} - - Fun const& fun; - - template - struct apply - { - typedef void_ type; - typedef mpl::true_ continue_type; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State const&, Context const&, segmented_for_each_fun const& fun) - { - fusion::for_each(seq, fun.fun); - return void_(); - } - }; - }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void - for_each(Sequence& seq, F const& f, mpl::true_) // segmented implementation - { - fusion::segmented_fold_until(seq, void_(), segmented_for_each_fun(f)); - } -}}} - -#endif diff --git a/external/boost/fusion/algorithm/iteration/fold.hpp b/external/boost/fusion/algorithm/iteration/fold.hpp deleted file mode 100644 index 039e01c0c..000000000 --- a/external/boost/fusion/algorithm/iteration/fold.hpp +++ /dev/null @@ -1,59 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - Copyright (c) 2009-2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#include - -#endif diff --git a/external/boost/fusion/algorithm/iteration/fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/fold_fwd.hpp deleted file mode 100644 index 0dbac7618..000000000 --- a/external/boost/fusion/algorithm/iteration/fold_fwd.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_FOLD_FWD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_FWD_HPP - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct fold; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq - , State const - , F - >::type - fold(Seq& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq const - , State const - , F - >::type - fold(Seq const& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq - , State - , F - >::type - fold(Seq& seq, State& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::fold< - Seq const - , State - , F - >::type - fold(Seq const& seq, State& state, F f); -}} - -#endif diff --git a/external/boost/fusion/algorithm/iteration/for_each.hpp b/external/boost/fusion/algorithm/iteration/for_each.hpp deleted file mode 100644 index a523c85eb..000000000 --- a/external/boost/fusion/algorithm/iteration/for_each.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_FOR_EACH_20070527_0943) -#define BOOST_FUSION_FOR_EACH_20070527_0943 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct for_each - { - typedef void type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , void - >::type - for_each(Sequence& seq, F const& f) - { - detail::for_each(seq, f, typename traits::is_segmented::type()); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , void - >::type - for_each(Sequence const& seq, F const& f) - { - detail::for_each(seq, f, typename traits::is_segmented::type()); - } -}} - -#endif diff --git a/external/boost/fusion/algorithm/iteration/for_each_fwd.hpp b/external/boost/fusion/algorithm/iteration/for_each_fwd.hpp deleted file mode 100644 index 13720eada..000000000 --- a/external/boost/fusion/algorithm/iteration/for_each_fwd.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED) -#define BOOST_FUSION_FOR_EACH_FWD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct for_each; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , void - >::type - for_each(Sequence& seq, F const& f); - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , void - >::type - for_each(Sequence const& seq, F const& f); -}} - -#endif diff --git a/external/boost/fusion/algorithm/iteration/iter_fold.hpp b/external/boost/fusion/algorithm/iteration/iter_fold.hpp deleted file mode 100644 index cff5b4edf..000000000 --- a/external/boost/fusion/algorithm/iteration/iter_fold.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_ITER_FOLD - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/iter_fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef BOOST_FUSION_ITER_FOLD - -#endif diff --git a/external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp deleted file mode 100644 index 1d8543ca5..000000000 --- a/external/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_FWD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_ITER_FOLD_FWD_HPP - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct iter_fold; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq - , State const - , F - >::type - iter_fold(Seq& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq const - , State const - , F - >::type - iter_fold(Seq const& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq - , State - , F - >::type - iter_fold(Seq& seq, State& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::iter_fold< - Seq const - , State - , F - >::type - iter_fold(Seq const& seq, State& state, F f); -}} - -#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_fold.hpp b/external/boost/fusion/algorithm/iteration/reverse_fold.hpp deleted file mode 100644 index 252ad3083..000000000 --- a/external/boost/fusion/algorithm/iteration/reverse_fold.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_REVERSE_FOLD - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2009-2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef BOOST_FUSION_REVERSE_FOLD - -#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp deleted file mode 100644 index c5e24b34a..000000000 --- a/external/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_FWD_HPP - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct reverse_fold; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq - , State const - , F - >::type - reverse_fold(Seq& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq const - , State const - , F - >::type - reverse_fold(Seq const& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq - , State - , F - >::type - reverse_fold(Seq& seq, State& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_fold< - Seq const - , State - , F - >::type - reverse_fold(Seq const& seq, State& state, F f); -}} - -#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp b/external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp deleted file mode 100644 index 3276bbde5..000000000 --- a/external/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_FUSION_REVERSE_FOLD -#define BOOST_FUSION_ITER_FOLD - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/reverse_iter_fold.hpp") -#endif - -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -#include - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef BOOST_FUSION_REVERSE_FOLD -#undef BOOST_FUSION_ITER_FOLD - -#endif diff --git a/external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp b/external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp deleted file mode 100644 index 76f018639..000000000 --- a/external/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_FWD_HPP -#define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_FWD_HPP - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct reverse_iter_fold; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq - , State const - , F - >::type - reverse_iter_fold(Seq& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq const - , State const - , F - >::type - reverse_iter_fold(Seq const& seq, State const& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq - , State - , F - >::type - reverse_iter_fold(Seq& seq, State& state, F f); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::reverse_iter_fold< - Seq const - , State - , F - >::type - reverse_iter_fold(Seq const& seq, State& state, F f); -}} - -#endif diff --git a/external/boost/fusion/algorithm/query.hpp b/external/boost/fusion/algorithm/query.hpp deleted file mode 100644 index 1e999b433..000000000 --- a/external/boost/fusion/algorithm/query.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ALGORITHM_QUERY_10022005_0549) -#define FUSION_ALGORITHM_QUERY_10022005_0549 - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/algorithm/query/all.hpp b/external/boost/fusion/algorithm/query/all.hpp deleted file mode 100644 index 5122af582..000000000 --- a/external/boost/fusion/algorithm/query/all.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ALL_05052005_1238) -#define BOOST_FUSION_ALL_05052005_1238 - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct all - { - typedef bool type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - all(Sequence const& seq, F f) - { - return detail::all(seq, f, typename traits::category_of::type()); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/query/any.hpp b/external/boost/fusion/algorithm/query/any.hpp deleted file mode 100644 index e1aad08de..000000000 --- a/external/boost/fusion/algorithm/query/any.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ANY_05052005_1230) -#define FUSION_ANY_05052005_1230 - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct any - { - typedef bool type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - any(Sequence const& seq, F f) - { - return detail::any(seq, f, typename traits::category_of::type()); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/query/count.hpp b/external/boost/fusion/algorithm/query/count.hpp deleted file mode 100644 index 61fc05698..000000000 --- a/external/boost/fusion/algorithm/query/count.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_COUNT_09162005_0150) -#define BOOST_FUSION_COUNT_09162005_0150 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct count - { - typedef int type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , int - >::type - count(Sequence const& seq, T const& x) - { - detail::count_compare f(x); - return fusion::count_if(seq, f); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/query/count_if.hpp b/external/boost/fusion/algorithm/query/count_if.hpp deleted file mode 100644 index 8ef86b016..000000000 --- a/external/boost/fusion/algorithm/query/count_if.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_COUNT_IF_09162005_0137) -#define BOOST_FUSION_COUNT_IF_09162005_0137 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct count_if - { - typedef int type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , int - >::type - count_if(Sequence const& seq, F f) - { - return detail::count_if( - seq, f, typename traits::category_of::type()); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/query/detail/all.hpp b/external/boost/fusion/algorithm/query/detail/all.hpp deleted file mode 100644 index e7e1535d4..000000000 --- a/external/boost/fusion/algorithm/query/detail/all.hpp +++ /dev/null @@ -1,137 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ALL_05052005_1237) -#define FUSION_ALL_05052005_1237 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - linear_all(First const&, Last const&, F const&, mpl::true_) - { - return true; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - linear_all(First const& first, Last const& last, F& f, mpl::false_) - { - typename result_of::deref::type x = *first; - return f(x) && - detail::linear_all( - fusion::next(first) - , last - , f - , result_of::equal_to::type, Last>()); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - all(Sequence const& seq, F f, Tag) - { - return detail::linear_all( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct unrolled_all - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) && - f(*fusion::advance_c<1>(it))&& - f(*fusion::advance_c<2>(it)) && - f(*fusion::advance_c<3>(it)) && - detail::unrolled_all::call(fusion::advance_c<4>(it), f); - } - }; - - template<> - struct unrolled_all<3> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) && - f(*fusion::advance_c<1>(it)) && - f(*fusion::advance_c<2>(it)); - } - }; - - template<> - struct unrolled_all<2> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) && - f(*fusion::advance_c<1>(it)); - } - }; - - template<> - struct unrolled_all<1> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return f(*it); - } - }; - - template<> - struct unrolled_all<0> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& /*it*/, F /*f*/) - { - return true; - } - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - all(Sequence const& seq, F f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - return detail::unrolled_all::type::value>::call( - fusion::begin(seq), f); - } -}}} - -#endif - diff --git a/external/boost/fusion/algorithm/query/detail/any.hpp b/external/boost/fusion/algorithm/query/detail/any.hpp deleted file mode 100644 index 43628eac8..000000000 --- a/external/boost/fusion/algorithm/query/detail/any.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ANY_05052005_1229) -#define FUSION_ANY_05052005_1229 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct random_access_traversal_tag; -namespace detail -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - linear_any(First const&, Last const&, F const&, mpl::true_) - { - return false; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - linear_any(First const& first, Last const& last, F& f, mpl::false_) - { - typename result_of::deref::type x = *first; - return f(x) || - detail::linear_any( - fusion::next(first) - , last - , f - , result_of::equal_to::type, Last>()); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - any(Sequence const& seq, F f, Tag) - { - return detail::linear_any( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct unrolled_any - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) || - f(*fusion::advance_c<1>(it))|| - f(*fusion::advance_c<2>(it)) || - f(*fusion::advance_c<3>(it)) || - detail::unrolled_any::call(fusion::advance_c<4>(it), f); - } - }; - - template<> - struct unrolled_any<3> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) || - f(*fusion::advance_c<1>(it)) || - f(*fusion::advance_c<2>(it)); - } - }; - - template<> - struct unrolled_any<2> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return - f(*it) || - f(*fusion::advance_c<1>(it)); - } - }; - - template<> - struct unrolled_any<1> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const& it, F f) - { - return f(*it); - } - }; - - template<> - struct unrolled_any<0> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool call(It const&, F) - { - return false; - } - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - any(Sequence const& seq, F f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - return detail::unrolled_any::type::value>::call( - fusion::begin(seq), f); - } -}}} - -#endif - diff --git a/external/boost/fusion/algorithm/query/detail/count.hpp b/external/boost/fusion/algorithm/query/detail/count.hpp deleted file mode 100644 index 86714ff74..000000000 --- a/external/boost/fusion/algorithm/query/detail/count.hpp +++ /dev/null @@ -1,83 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_COUNT_09162005_0158) -#define FUSION_COUNT_09162005_0158 - -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct compare_convertible; - - // T1 is convertible to T2 or vice versa - template <> - struct compare_convertible - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(T1 const& x, T2 const& y) - { - return x == y; - } - }; - - // T1 is NOT convertible to T2 NOR vice versa - template <> - struct compare_convertible - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(T1 const&, T2 const&) - { - return false; - } - }; - - template - struct count_compare - { - typedef typename detail::call_param::type param; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - count_compare(param in_x) - : x(in_x) {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - bool - operator()(T2 const& y) const - { - return - compare_convertible< - mpl::or_< - is_convertible - , is_convertible - >::value - >::call(x, y); - } - - param x; - }; -}}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - diff --git a/external/boost/fusion/algorithm/query/detail/count_if.hpp b/external/boost/fusion/algorithm/query/detail/count_if.hpp deleted file mode 100644 index 17c67a0ba..000000000 --- a/external/boost/fusion/algorithm/query/detail/count_if.hpp +++ /dev/null @@ -1,180 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_COUNT_IF_09162005_0141) -#define BOOST_FUSION_COUNT_IF_09162005_0141 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct random_access_traversal_tag; -namespace detail -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline int - linear_count_if(First const&, Last const&, F const&, mpl::true_) - { - return 0; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline int - linear_count_if(First const& first, Last const& last, F& f, mpl::false_) - { - int n = - detail::linear_count_if( - fusion::next(first) - , last - , f - , result_of::equal_to::type, Last>()); - if (f(*first)) - ++n; - return n; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline int - count_if(Sequence const& seq, F f, Tag) - { - return detail::linear_count_if( - fusion::begin(seq) - , fusion::end(seq) - , f - , result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type>()); - } - - template - struct unrolled_count_if - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = unrolled_count_if:: - call(fusion::advance_c<4>(i0), f); - if(f(*i0)) - ++ct; - - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - if(f(*i1)) - ++ct; - - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - if(f(*i2)) - ++ct; - - typedef typename result_of::next::type I3; - I3 i3(fusion::next(i2)); - if(f(*i3)) - ++ct; - - return ct; - } - }; - - template<> - struct unrolled_count_if<3> - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = 0; - if(f(*i0)) - ++ct; - - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - if(f(*i1)) - ++ct; - - typedef typename result_of::next::type I2; - I2 i2(fusion::next(i1)); - if(f(*i2)) - ++ct; - - return ct; - } - }; - - template<> - struct unrolled_count_if<2> - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = 0; - - if(f(*i0)) - ++ct; - - typedef typename result_of::next::type I1; - I1 i1(fusion::next(i0)); - if(f(*i1)) - ++ct; - - return ct; - } - }; - - template<> - struct unrolled_count_if<1> - { - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static int call(I0 const& i0, F f) - { - int ct = 0; - if(f(*i0)) - ++ct; - return ct; - } - }; - - - template<> - struct unrolled_count_if<0> - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static int call(I0 const&, F) - { - return 0; - } - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline int - count_if(Sequence const& seq, F f, random_access_traversal_tag) - { - typedef typename result_of::begin::type begin; - typedef typename result_of::end::type end; - return detail::unrolled_count_if::type::value>:: - call(fusion::begin(seq), f); - } -}}} - -#endif - diff --git a/external/boost/fusion/algorithm/query/detail/find_if.hpp b/external/boost/fusion/algorithm/query/detail/find_if.hpp deleted file mode 100644 index b200794a4..000000000 --- a/external/boost/fusion/algorithm/query/detail/find_if.hpp +++ /dev/null @@ -1,260 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FIND_IF_05052005_1107) -#define FUSION_FIND_IF_05052005_1107 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct random_access_traversal_tag; -namespace detail -{ - template - struct apply_filter - { - typedef typename mpl::apply1< - Pred, Iterator>::type type; - BOOST_STATIC_CONSTANT(int, value = type::value); - }; - - template - struct main_find_if; - - template - struct recursive_find_if - { - typedef typename - main_find_if< - typename result_of::next::type, Last, Pred - >::type - type; - }; - - template - struct main_find_if - { - typedef mpl::or_< - result_of::equal_to - , apply_filter > - filter; - - typedef typename - mpl::eval_if< - filter - , mpl::identity - , recursive_find_if - >::type - type; - }; - - template< - typename First, typename Last, - typename Pred, bool> - struct choose_find_if; - - template - struct choose_find_if - : main_find_if - {}; - - template - struct unroll_again; - - template - struct apply_offset_filter - { - typedef typename result_of::advance_c::type Shifted; - typedef typename - mpl::apply1< - Pred - , Shifted - >::type - type; - BOOST_STATIC_CONSTANT(int, value = type::value); - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - unroll_again< - Iter, - Pred, - n, - 4> > > > >::type type; - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - result_of::advance_c > > >::type type; - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - mpl::eval_if< - apply_offset_filter, - result_of::advance_c, - result_of::advance_c > >::type type; - }; - - template - struct unrolled_find_if - { - typedef typename mpl::eval_if< - apply_filter, - mpl::identity, - result_of::advance_c >::type type; - }; - - template - struct unroll_again - { - typedef typename unrolled_find_if< - typename result_of::advance_c::type, - Pred, - n-unrolling>::type type; - }; - - template - struct unrolled_find_if - { - typedef Iter type; - }; - - template - struct choose_find_if - { - typedef typename result_of::distance::type N; - typedef typename unrolled_find_if::type type; - }; - - template - struct static_find_if - { - typedef typename - choose_find_if< - First - , Last - , typename mpl::lambda::type - , is_base_of::type>::value - >::type - type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - recursive_call(Iterator const& iter, mpl::true_) - { - return iter; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - recursive_call(Iterator const& iter, mpl::false_) - { - return recursive_call(fusion::next(iter)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - recursive_call(Iterator const& iter) - { - typedef result_of::equal_to found; - return recursive_call(iter, found()); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - choose_call(Iterator const& iter, Tag) - { - return recursive_call(iter); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - choose_call(Iterator const& iter, random_access_traversal_tag) - { - typedef typename result_of::distance::type N; - return fusion::advance(iter); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - iter_call(Iterator const& iter) - { - return choose_call(iter, typename traits::category_of::type()); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return iter_call(fusion::begin(seq)); - } - }; - - template - struct result_of_find_if - { - typedef - static_find_if< - typename result_of::begin::type - , typename result_of::end::type - , Pred - > - filter; - - typedef typename filter::type type; - }; -}}} - -#endif diff --git a/external/boost/fusion/algorithm/query/detail/segmented_find.hpp b/external/boost/fusion/algorithm/query/detail/segmented_find.hpp deleted file mode 100644 index d8533afe1..000000000 --- a/external/boost/fusion/algorithm/query/detail/segmented_find.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_FIND_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct segmented_find_fun - { - template - struct apply - { - typedef - typename result_of::find::type - iterator_type; - - typedef - typename result_of::equal_to< - iterator_type - , typename result_of::end::type - >::type - continue_type; - - typedef - typename mpl::eval_if< - continue_type - , mpl::identity - , result_of::make_segmented_iterator< - iterator_type - , Context - > - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State const&state, Context const& context, segmented_find_fun) - { - return call_impl(seq, state, context, continue_type()); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) - { - return state; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) - { - return fusion::make_segmented_iterator(fusion::find(seq), context); - } - }; - }; - - template - struct result_of_segmented_find - { - struct filter - { - typedef - typename result_of::segmented_fold_until< - Sequence - , typename result_of::end::type - , segmented_find_fun - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return fusion::segmented_fold_until( - seq - , fusion::end(seq) - , detail::segmented_find_fun()); - } - }; - - typedef typename filter::type type; - }; -}}} - -#endif diff --git a/external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp b/external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp deleted file mode 100644 index fd527c732..000000000 --- a/external/boost/fusion/algorithm/query/detail/segmented_find_if.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_FIND_IF_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_FIND_IF_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct segmented_find_if_fun - { - template - struct apply - { - typedef - typename result_of::find_if::type - iterator_type; - - typedef - typename result_of::equal_to< - iterator_type - , typename result_of::end::type - >::type - continue_type; - - typedef - typename mpl::eval_if< - continue_type - , mpl::identity - , result_of::make_segmented_iterator< - iterator_type - , Context - > - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State const&state, Context const& context, segmented_find_if_fun) - { - return call_impl(seq, state, context, continue_type()); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) - { - return state; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) - { - return fusion::make_segmented_iterator(fusion::find_if(seq), context); - } - }; - }; - - template - struct result_of_segmented_find_if - { - struct filter - { - typedef - typename result_of::segmented_fold_until< - Sequence - , typename result_of::end::type - , segmented_find_if_fun - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return fusion::segmented_fold_until( - seq - , fusion::end(seq) - , segmented_find_if_fun()); - } - }; - - typedef typename filter::type type; - }; -}}} - -#endif diff --git a/external/boost/fusion/algorithm/query/find.hpp b/external/boost/fusion/algorithm/query/find.hpp deleted file mode 100644 index 41c22fb3d..000000000 --- a/external/boost/fusion/algorithm/query/find.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FIND_05052005_1107) -#define FUSION_FIND_05052005_1107 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct find - : mpl::if_< - traits::is_segmented - , detail::result_of_segmented_find - , detail::result_of_find_if< - Sequence, - is_same< - typename mpl::if_< - traits::is_associative - , key_of - , value_of - >::type - , T - > - > - >::type - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::find - >::type const - find(Sequence& seq) - { - typedef typename result_of::find::filter filter; - return filter::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::find::type const - find(Sequence const& seq) - { - typedef typename result_of::find::filter filter; - return filter::call(seq); - } -}} - -#endif diff --git a/external/boost/fusion/algorithm/query/find_fwd.hpp b/external/boost/fusion/algorithm/query/find_fwd.hpp deleted file mode 100644 index c4fc0a9f1..000000000 --- a/external/boost/fusion/algorithm/query/find_fwd.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_FIND_FWD_HPP_INCLUDED) -#define BOOST_FUSION_FIND_FWD_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct find; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::find - >::type const - find(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::find::type const - find(Sequence const& seq); -}} - -#endif diff --git a/external/boost/fusion/algorithm/query/find_if.hpp b/external/boost/fusion/algorithm/query/find_if.hpp deleted file mode 100644 index 38601ebfc..000000000 --- a/external/boost/fusion/algorithm/query/find_if.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FIND_IF_05052005_1108) -#define FUSION_FIND_IF_05052005_1108 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct find_if - : mpl::if_< - traits::is_segmented - , detail::result_of_segmented_find_if - , detail::result_of_find_if< - Sequence, - mpl::bind1< - typename mpl::lambda::type - , mpl::bind1, mpl::_1> - > - > - >::type - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::find_if - >::type - find_if(Sequence& seq) - { - typedef typename result_of::find_if::filter filter; - return filter::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::find_if::type const - find_if(Sequence const& seq) - { - typedef typename result_of::find_if::filter filter; - return filter::call(seq); - } -}} - -#endif diff --git a/external/boost/fusion/algorithm/query/find_if_fwd.hpp b/external/boost/fusion/algorithm/query/find_if_fwd.hpp deleted file mode 100644 index 5c8abd5be..000000000 --- a/external/boost/fusion/algorithm/query/find_if_fwd.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED) -#define BOOST_FUSION_FIND_IF_FWD_HPP_INCLUDED - -#include -#include -#include - -// Forward declaration of find_if algorithm -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct find_if; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::find_if - >::type - find_if(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::find_if::type const - find_if(Sequence const& seq); -}} - -#endif diff --git a/external/boost/fusion/algorithm/query/none.hpp b/external/boost/fusion/algorithm/query/none.hpp deleted file mode 100644 index 1fecdbfe7..000000000 --- a/external/boost/fusion/algorithm/query/none.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_NONE_07062005_1128) -#define BOOST_FUSION_NONE_07062005_1128 - -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct none - { - typedef bool type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - none(Sequence const& seq, F f) - { - return !fusion::any(seq, f); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation.hpp b/external/boost/fusion/algorithm/transformation.hpp deleted file mode 100644 index b9534e80d..000000000 --- a/external/boost/fusion/algorithm/transformation.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ALGORITHM_TRANSFORMATION_10022005_0551) -#define FUSION_ALGORITHM_TRANSFORMATION_10022005_0551 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/algorithm/transformation/clear.hpp b/external/boost/fusion/algorithm/transformation/clear.hpp deleted file mode 100644 index d2e42fe05..000000000 --- a/external/boost/fusion/algorithm/transformation/clear.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CLEAR_09172005_1127) -#define FUSION_CLEAR_09172005_1127 - -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct clear - { - typedef vector0<> type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::clear::type - clear(Sequence const& /*seq*/) - { - return vector0<>(); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp deleted file mode 100644 index 4a596229d..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_ZIP_SEQUENCES <= 10 -#include -#elif FUSION_MAX_ZIP_SEQUENCES <= 20 -#include -#elif FUSION_MAX_ZIP_SEQUENCES <= 30 -#include -#elif FUSION_MAX_ZIP_SEQUENCES <= 40 -#include -#elif FUSION_MAX_ZIP_SEQUENCES <= 50 -#include -#else -#error "FUSION_MAX_ZIP_SEQUENCES out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp deleted file mode 100644 index b04a7ef16..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp +++ /dev/null @@ -1,216 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template - struct zip; - } - namespace result_of - { - template< typename T0 , typename T1 > - struct zip< T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1) - { - fusion::vector seqs( - t0 , t1); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 > - struct zip< T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2) - { - fusion::vector seqs( - t0 , t1 , t2); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 > - struct zip< T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - { - fusion::vector seqs( - t0 , t1 , t2 , t3); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > - struct zip< T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); - return typename result_of::zip::type( - seqs); - } -}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp deleted file mode 100644 index 506c485c2..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp +++ /dev/null @@ -1,436 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template - struct zip; - } - namespace result_of - { - template< typename T0 , typename T1 > - struct zip< T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1) - { - fusion::vector seqs( - t0 , t1); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 > - struct zip< T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2) - { - fusion::vector seqs( - t0 , t1 , t2); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 > - struct zip< T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - { - fusion::vector seqs( - t0 , t1 , t2 , t3); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > - struct zip< T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); - return typename result_of::zip::type( - seqs); - } -}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp deleted file mode 100644 index 61437f374..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp +++ /dev/null @@ -1,656 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template - struct zip; - } - namespace result_of - { - template< typename T0 , typename T1 > - struct zip< T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1) - { - fusion::vector seqs( - t0 , t1); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 > - struct zip< T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2) - { - fusion::vector seqs( - t0 , t1 , t2); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 > - struct zip< T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - { - fusion::vector seqs( - t0 , t1 , t2 , t3); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > - struct zip< T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29); - return typename result_of::zip::type( - seqs); - } -}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp deleted file mode 100644 index 77dbc9be5..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp +++ /dev/null @@ -1,876 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template - struct zip; - } - namespace result_of - { - template< typename T0 , typename T1 > - struct zip< T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1) - { - fusion::vector seqs( - t0 , t1); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 > - struct zip< T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2) - { - fusion::vector seqs( - t0 , t1 , t2); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 > - struct zip< T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - { - fusion::vector seqs( - t0 , t1 , t2 , t3); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > - struct zip< T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 - , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39); - return typename result_of::zip::type( - seqs); - } -}} diff --git a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp b/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp deleted file mode 100644 index ea4431794..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp +++ /dev/null @@ -1,1096 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template - struct zip; - } - namespace result_of - { - template< typename T0 , typename T1 > - struct zip< T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1) - { - fusion::vector seqs( - t0 , t1); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 > - struct zip< T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2) - { - fusion::vector seqs( - t0 , t1 , t2); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 > - struct zip< T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - { - fusion::vector seqs( - t0 , t1 , t2 , t3); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 > - struct zip< T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 - , void_ , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 - , void_ , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 - , void_ , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 - , void_ , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 - , void_ , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48); - return typename result_of::zip::type( - seqs); - } - namespace result_of - { - template< typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 , typename T32 , typename T33 , typename T34 , typename T35 , typename T36 , typename T37 , typename T38 , typename T39 , typename T40 , typename T41 , typename T42 , typename T43 , typename T44 , typename T45 , typename T46 , typename T47 , typename T48 , typename T49 > - struct zip< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 - , void_ - > - { - typedef mpl::vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) - { - fusion::vector seqs( - t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49); - return typename result_of::zip::type( - seqs); - } -}} diff --git a/external/boost/fusion/algorithm/transformation/detail/replace.hpp b/external/boost/fusion/algorithm/transformation/detail/replace.hpp deleted file mode 100644 index 88c4faab0..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/replace.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REPLACE_08182005_0841) -#define FUSION_REPLACE_08182005_0841 - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct replacer_helper; - - template <> - struct replacer_helper - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static U& - call(U& x, T const&, T const&) - { - return x; - } - }; - - template <> - struct replacer_helper - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static U - call(U& x, T const& old_value, T const& new_value) - { - return (x == old_value) ? new_value : x; - } - }; - - template - struct replacer - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - replacer(T const& in_old_value, T const& in_new_value) - : old_value(in_old_value), new_value(in_new_value) {} - - template - struct result; - - template - struct result(U2)> - { - typedef typename remove_reference::type value; - typedef typename - mpl::if_, value, value const&>::type - type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(U const& x) const - { - return replacer_helper::value>:: - call(x, old_value, new_value); - } - - T old_value; - T new_value; - }; -}}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/detail/replace_if.hpp b/external/boost/fusion/algorithm/transformation/detail/replace_if.hpp deleted file mode 100644 index 2ecff6824..000000000 --- a/external/boost/fusion/algorithm/transformation/detail/replace_if.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REPLACE_IF_08182005_0946) -#define FUSION_REPLACE_IF_08182005_0946 - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct replacer_if_helper; - - template <> - struct replacer_if_helper - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static U& - call(U& x, F&, T const&) - { - return x; - } - }; - - template <> - struct replacer_if_helper - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static U - call(U& x, F& f, T const& new_value) - { - return f(x) ? new_value : x; - } - }; - - template - struct replacer_if - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - replacer_if(F in_f, T const& in_new_value) - : f(in_f), new_value(in_new_value) {} - - template - struct result; - - template - struct result(U)> - { - typedef typename remove_reference::type value; - typedef typename - mpl::if_, value, value const&>::type - type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(U const& x) const - { - return replacer_if_helper::value>:: - call(x, f, new_value); - } - - F f; - T new_value; - }; -}}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/erase.hpp b/external/boost/fusion/algorithm/transformation/erase.hpp deleted file mode 100644 index 8eebc357b..000000000 --- a/external/boost/fusion/algorithm/transformation/erase.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ERASE_07232005_0534) -#define FUSION_ERASE_07232005_0534 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct compute_erase_last // put this in detail!!! - { - typedef typename result_of::end::type seq_last_type; - typedef typename convert_iterator::type first_type; - typedef typename - mpl::if_< - result_of::equal_to - , first_type - , typename result_of::next::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& first, mpl::false_) - { - return fusion::next(convert_iterator::call(first)); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& first, mpl::true_) - { - return convert_iterator::call(first); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& first) - { - return call(first, result_of::equal_to()); - } - }; - - struct use_default; - - template - struct fusion_default_help - : mpl::if_< - is_same - , Default - , T - > - { - }; - - template < - typename Sequence - , typename First - , typename Last = use_default> - struct erase - { - typedef typename result_of::begin::type seq_first_type; - typedef typename result_of::end::type seq_last_type; - BOOST_STATIC_ASSERT((!result_of::equal_to::value)); - - typedef First FirstType; - typedef typename - fusion_default_help< - Last - , typename compute_erase_last::type - >::type - LastType; - - typedef typename convert_iterator::type first_type; - typedef typename convert_iterator::type last_type; - typedef iterator_range left_type; - typedef iterator_range right_type; - typedef joint_view type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , typename result_of::erase - >::type - erase(Sequence const& seq, First const& first) - { - typedef result_of::erase result_of; - typedef typename result_of::left_type left_type; - typedef typename result_of::right_type right_type; - typedef typename result_of::type result_type; - - left_type left( - fusion::begin(seq) - , convert_iterator::call(first)); - right_type right( - fusion::result_of::compute_erase_last::call(first) - , fusion::end(seq)); - return result_type(left, right); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::erase::type - erase(Sequence const& seq, First const& first, Last const& last) - { - typedef result_of::erase result_of; - typedef typename result_of::left_type left_type; - typedef typename result_of::right_type right_type; - typedef typename result_of::type result_type; - - left_type left(fusion::begin(seq), first); - right_type right(last, fusion::end(seq)); - return result_type(left, right); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/erase_key.hpp b/external/boost/fusion/algorithm/transformation/erase_key.hpp deleted file mode 100644 index 3757f46f8..000000000 --- a/external/boost/fusion/algorithm/transformation/erase_key.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ERASE_KEY_10022005_1851) -#define FUSION_ERASE_KEY_10022005_1851 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct erase_key - : erase::type> - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::erase_key::type - erase_key(Sequence const& seq) - { - return erase(seq, find(seq)); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/filter.hpp b/external/boost/fusion/algorithm/transformation/filter.hpp deleted file mode 100644 index 2fc627209..000000000 --- a/external/boost/fusion/algorithm/transformation/filter.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FILTER_02122005_1839) -#define FUSION_FILTER_02122005_1839 - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct filter - { - typedef filter_view > type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::filter::type - filter(Sequence const& seq) - { - return filter_view >(seq); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/filter_if.hpp b/external/boost/fusion/algorithm/transformation/filter_if.hpp deleted file mode 100644 index ca28e0e8a..000000000 --- a/external/boost/fusion/algorithm/transformation/filter_if.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FILTER_IF_07172005_0818) -#define FUSION_FILTER_IF_07172005_0818 - -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct filter_if - { - typedef filter_view type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::filter_if::type - filter_if(Sequence const& seq) - { - return filter_view(seq); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/flatten.hpp b/external/boost/fusion/algorithm/transformation/flatten.hpp deleted file mode 100644 index 43ac34dfe..000000000 --- a/external/boost/fusion/algorithm/transformation/flatten.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================== - Copyright (c) 2013 Jamboree - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED -#define BOOST_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED - - -#include -#include -#include - - -namespace boost { namespace fusion { namespace result_of -{ - template - struct flatten - { - typedef flatten_view type; - }; -}}} - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::flatten::type - flatten(Sequence& view) - { - return flatten_view(view); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::flatten::type - flatten(Sequence const& view) - { - return flatten_view(view); - } -}} - - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/insert.hpp b/external/boost/fusion/algorithm/transformation/insert.hpp deleted file mode 100644 index c6d5219d6..000000000 --- a/external/boost/fusion/algorithm/transformation/insert.hpp +++ /dev/null @@ -1,69 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INSERT_07222005_0730) -#define FUSION_INSERT_07222005_0730 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct insert - { - typedef typename detail::as_fusion_element::type element_type; - typedef typename convert_iterator::type pos_type; - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - - typedef iterator_range left_type; - typedef iterator_range right_type; - typedef fusion::single_view single_view; - typedef joint_view left_insert_type; - typedef joint_view type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::insert - >::type - insert(Sequence const& seq, Position const& pos, T const& x) - { - typedef result_of::insert< - Sequence const, Position, T> - result_of; - typedef typename result_of::left_type left_type; - typedef typename result_of::right_type right_type; - typedef typename result_of::single_view single_view; - typedef typename result_of::left_insert_type left_insert_type; - typedef typename result_of::type result; - - left_type left(fusion::begin(seq), convert_iterator::call(pos)); - right_type right(convert_iterator::call(pos), fusion::end(seq)); - single_view insert(x); - left_insert_type left_insert(left, insert); - return result(left_insert, right); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/insert_range.hpp b/external/boost/fusion/algorithm/transformation/insert_range.hpp deleted file mode 100644 index 57878309a..000000000 --- a/external/boost/fusion/algorithm/transformation/insert_range.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INSERT_RANGE_009172005_1147) -#define FUSION_INSERT_RANGE_009172005_1147 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct insert_range - { - typedef typename convert_iterator::type pos_type; - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - - typedef iterator_range left_type; - typedef iterator_range right_type; - typedef joint_view left_insert_type; - typedef joint_view type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::insert_range::type - insert_range(Sequence const& seq, Position const& pos, Range const& range) - { - typedef result_of::insert_range result_of; - typedef typename result_of::left_type left_type; - typedef typename result_of::right_type right_type; - typedef typename result_of::left_insert_type left_insert_type; - typedef typename result_of::type result; - - left_type left(fusion::begin(seq), convert_iterator::call(pos)); - right_type right(convert_iterator::call(pos), fusion::end(seq)); - left_insert_type left_insert(left, range); - return result(left_insert, right); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/join.hpp b/external/boost/fusion/algorithm/transformation/join.hpp deleted file mode 100644 index 8be492240..000000000 --- a/external/boost/fusion/algorithm/transformation/join.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_JOIN_200601222109) -#define FUSION_JOIN_200601222109 - -#include -#include - -namespace boost { namespace fusion { - - namespace result_of - { - template - struct join - { - typedef joint_view type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::join::type - join(LhSequence const& lhs, RhSequence const& rhs) - { - return typename result_of::join::type( - lhs, rhs); - } -}} - -#endif diff --git a/external/boost/fusion/algorithm/transformation/pop_back.hpp b/external/boost/fusion/algorithm/transformation/pop_back.hpp deleted file mode 100644 index 2f55fa5e7..000000000 --- a/external/boost/fusion/algorithm/transformation/pop_back.hpp +++ /dev/null @@ -1,172 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_POP_BACK_09172005_1038) -#define FUSION_POP_BACK_09172005_1038 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct pop_back_iterator - : iterator_adapter< - pop_back_iterator - , Iterator_> - { - typedef iterator_adapter< - pop_back_iterator - , Iterator_> - base_type; - - static bool const is_last = IsLast; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pop_back_iterator(Iterator_ const& iterator_base) - : base_type(iterator_base) {} - - template - struct make - { - typedef pop_back_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(BaseIterator const& i) - { - return type(i); - } - }; - - template - struct equal_to_helper - : mpl::identity - {}; - - template - struct equal_to_helper - : result_of::next< - typename I::iterator_base_type> - {}; - - template - struct equal_to - : result_of::equal_to< - typename equal_to_helper::type - , typename equal_to_helper::type - > - {}; - - template - struct distance - : mpl::minus< - typename result_of::distance< - typename First::iterator_base_type - , typename Last::iterator_base_type - >::type - , mpl::int_<(Last::is_last?1:0)> - >::type - {}; - - - template - struct prior_impl - { - typedef typename Iterator::iterator_base_type base_type; - - typedef typename - result_of::prior::type - base_prior; - - typedef pop_back_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::prior(i.iterator_base)); - } - }; - - template - struct prior_impl - { - // If this is the last iterator, we'll have to double back - typedef typename Iterator::iterator_base_type base_type; - - typedef typename - result_of::prior< - typename result_of::prior::type - >::type - base_prior; - - typedef pop_back_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::prior( - fusion::prior(i.iterator_base))); - } - }; - - template - struct prior : prior_impl - {}; - }; - - namespace result_of - { - template - struct pop_back - { - BOOST_MPL_ASSERT_NOT((result_of::empty)); - - typedef pop_back_iterator< - typename begin::type, false> - begin_type; - - typedef pop_back_iterator< - typename end::type, true> - end_type; - - typedef - iterator_range - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::pop_back::type - pop_back(Sequence const& seq) - { - typedef result_of::pop_back comp; - typedef typename comp::begin_type begin_type; - typedef typename comp::end_type end_type; - typedef typename comp::type result; - - return result( - begin_type(fusion::begin(seq)) - , end_type(fusion::end(seq)) - ); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/pop_front.hpp b/external/boost/fusion/algorithm/transformation/pop_front.hpp deleted file mode 100644 index 11b7f6ee1..000000000 --- a/external/boost/fusion/algorithm/transformation/pop_front.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_POP_FRONT_09172005_1115) -#define FUSION_POP_FRONT_09172005_1115 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct pop_front - { - typedef - iterator_range< - typename next< - typename begin::type - >::type - , typename end::type - > - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::pop_front::type - pop_front(Sequence const& seq) - { - typedef typename result_of::pop_front::type result; - return result(fusion::next(fusion::begin(seq)), fusion::end(seq)); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/push_back.hpp b/external/boost/fusion/algorithm/transformation/push_back.hpp deleted file mode 100644 index 51c2569d2..000000000 --- a/external/boost/fusion/algorithm/transformation/push_back.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PUSH_BACK_07162005_0235) -#define FUSION_PUSH_BACK_07162005_0235 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct push_back - { - typedef fusion::single_view::type> single_view; - typedef joint_view type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::push_back - >::type - push_back(Sequence const& seq, T const& x) - { - typedef typename result_of::push_back push_back; - typedef typename push_back::single_view single_view; - typedef typename push_back::type result; - single_view x_(x); - return result(seq, x_); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/push_front.hpp b/external/boost/fusion/algorithm/transformation/push_front.hpp deleted file mode 100644 index a1b7b390c..000000000 --- a/external/boost/fusion/algorithm/transformation/push_front.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PUSH_FRONT_07162005_0749) -#define FUSION_PUSH_FRONT_07162005_0749 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct push_front - { - typedef fusion::single_view::type> single_view; - typedef joint_view type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::push_front - >::type - push_front(Sequence const& seq, T const& x) - { - typedef typename result_of::push_front push_front; - typedef typename push_front::single_view single_view; - typedef typename push_front::type result; - single_view x_(x); - return result(x_, seq); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/remove.hpp b/external/boost/fusion/algorithm/transformation/remove.hpp deleted file mode 100644 index f8bebf709..000000000 --- a/external/boost/fusion/algorithm/transformation/remove.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REMOVE_07162005_0818) -#define FUSION_REMOVE_07162005_0818 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct remove - { - typedef filter_view > > type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::remove::type - remove(Sequence const& seq) - { - typedef typename result_of::remove::type result_type; - return result_type(seq); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/remove_if.hpp b/external/boost/fusion/algorithm/transformation/remove_if.hpp deleted file mode 100644 index 5497e3a37..000000000 --- a/external/boost/fusion/algorithm/transformation/remove_if.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REMOVE_IF_07162005_0818) -#define FUSION_REMOVE_IF_07162005_0818 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct remove_if - { - typedef filter_view > type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::remove_if::type - remove_if(Sequence const& seq) - { - typedef typename result_of::remove_if::type result_type; - return result_type(seq); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/replace.hpp b/external/boost/fusion/algorithm/transformation/replace.hpp deleted file mode 100644 index 4d754cc0f..000000000 --- a/external/boost/fusion/algorithm/transformation/replace.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REPLACE_08182005_0830) -#define FUSION_REPLACE_08182005_0830 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct replace - { - typedef transform_view > type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , typename result_of::replace::type - >::type - replace(Sequence const& seq, T const& old_value, T const& new_value) - { - typedef typename result_of::replace::type result; - detail::replacer f(old_value, new_value); - return result(seq, f); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/replace_if.hpp b/external/boost/fusion/algorithm/transformation/replace_if.hpp deleted file mode 100644 index 8a2bddc6e..000000000 --- a/external/boost/fusion/algorithm/transformation/replace_if.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REPLACE_IF_08182005_0939) -#define FUSION_REPLACE_IF_08182005_0939 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct replace_if - { - typedef transform_view > type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , typename result_of::replace_if::type - >::type - replace_if(Sequence const& seq, F pred, T const& new_value) - { - typedef typename result_of::replace_if::type result; - detail::replacer_if f(pred, new_value); - return result(seq, f); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/reverse.hpp b/external/boost/fusion/algorithm/transformation/reverse.hpp deleted file mode 100644 index 53de417a1..000000000 --- a/external/boost/fusion/algorithm/transformation/reverse.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REVERSE_07212005_1230) -#define FUSION_REVERSE_07212005_1230 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct reverse - { - typedef reverse_view type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - enable_if< - traits::is_sequence - , reverse_view - >::type - reverse(Sequence const& view) - { - return reverse_view(view); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/transform.hpp b/external/boost/fusion/algorithm/transformation/transform.hpp deleted file mode 100644 index 6a487ccc8..000000000 --- a/external/boost/fusion/algorithm/transformation/transform.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TRANSFORM_07052005_1057) -#define FUSION_TRANSFORM_07052005_1057 - -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template - struct transform - { - typedef transform_view type; - }; - - template -#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) - struct transform -#else - struct transform -#endif - { - typedef transform_view type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::transform::type - transform(Sequence const& seq, F f) - { - return transform_view(seq, f); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::transform::type - transform(Sequence1 const& seq1, Sequence2 const& seq2, F f) - { - return transform_view(seq1, seq2, f); - } -}} - -#endif - diff --git a/external/boost/fusion/algorithm/transformation/zip.hpp b/external/boost/fusion/algorithm/transformation/zip.hpp deleted file mode 100644 index 0775a4294..000000000 --- a/external/boost/fusion/algorithm/transformation/zip.hpp +++ /dev/null @@ -1,118 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_ZIP_HPP_20060125_2058) -#define FUSION_ZIP_HPP_20060125_2058 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(FUSION_MAX_ZIP_SEQUENCES) -#define FUSION_MAX_ZIP_SEQUENCES 10 -#endif - -#define FUSION_MAX_ZIP_SEQUENCES_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_ZIP_SEQUENCES)) - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/zip" FUSION_MAX_ZIP_SEQUENCES_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template - struct zip; - } - -#define FUSION_TEXT(z, n, text) , text - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_ZIP_SEQUENCES) -#include BOOST_PP_ITERATE() - -#undef FUSION_TEXT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - -#else - -#define ZIP_ITERATION BOOST_PP_ITERATION() - - namespace result_of - { - template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T) > - struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) - BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, FUSION_TEXT, void_) - > - { - typedef mpl::vector< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > sequences; - typedef typename mpl::transform >::type ref_params; - typedef zip_view::type> type; - }; - } - -#define FUSION_REF_PARAM(z, n, data) const T ## n& - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::zip::type - zip(BOOST_PP_ENUM_BINARY_PARAMS(ZIP_ITERATION, T, const& t)) - { - fusion::vector seqs( - BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, t)); - return typename result_of::zip::type( - seqs); - } - -#undef FUSION_REF_PARAM -#undef ZIP_ITERATION - -#endif diff --git a/external/boost/fusion/container.hpp b/external/boost/fusion/container.hpp deleted file mode 100644 index ab19e2cd1..000000000 --- a/external/boost/fusion/container.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CLASS_10022005_0614) -#define FUSION_SEQUENCE_CLASS_10022005_0614 - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/container/deque.hpp b/external/boost/fusion/container/deque.hpp deleted file mode 100644 index c07de0304..000000000 --- a/external/boost/fusion/container/deque.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036) -#define BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036 - -#include -#include -#include -#include - -#endif - diff --git a/external/boost/fusion/container/deque/back_extended_deque.hpp b/external/boost/fusion/container/deque/back_extended_deque.hpp deleted file mode 100644 index 04b1d41f2..000000000 --- a/external/boost/fusion/container/deque/back_extended_deque.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209) -#define BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209 - -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct back_extended_deque - : detail::keyed_element - , sequence_base > - { - typedef detail::keyed_element base; - typedef typename Deque::next_down next_down; - typedef mpl::int_<(Deque::next_up::value + 1)> next_up; - typedef mpl::int_<(result_of::size::value + 1)> size; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - back_extended_deque(Deque const& deque, Arg const& val) - : base(val, deque) - {} - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - back_extended_deque(Deque const& deque, Arg& val) - : base(val, deque) - {} -#else - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - back_extended_deque(Deque const& deque, Arg&& val) - : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) - {} -#endif - }; -}} - -#endif diff --git a/external/boost/fusion/container/deque/convert.hpp b/external/boost/fusion/container/deque/convert.hpp deleted file mode 100644 index 9a4bf01af..000000000 --- a/external/boost/fusion/container/deque/convert.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_20061213_2207) -#define FUSION_CONVERT_20061213_2207 - -#include -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -/////////////////////////////////////////////////////////////////////////////// -// C++03 (non-variadic) implementation -/////////////////////////////////////////////////////////////////////////////// -#include - -#else -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic implementation -/////////////////////////////////////////////////////////////////////////////// -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_deque : - detail::build_deque< - typename result_of::begin::type - , typename result_of::end::type - > - { - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence& seq) - { - typedef result_of::as_deque gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence const& seq) - { - typedef result_of::as_deque gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } -}} - -#endif -#endif diff --git a/external/boost/fusion/container/deque/deque.hpp b/external/boost/fusion/container/deque/deque.hpp deleted file mode 100644 index a282a7012..000000000 --- a/external/boost/fusion/container/deque/deque.hpp +++ /dev/null @@ -1,189 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_26112006_1649) -#define BOOST_FUSION_DEQUE_26112006_1649 - -# include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - template - struct deque : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty>, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() BOOST_NOEXCEPT {} - }; - - template - struct deque - : detail::deque_keyed_values::type - , sequence_base> - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef mpl::int_<(sizeof ...(Tail) + 1)> size; - typedef mpl::int_ next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() - {} - - template >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - - template >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(deque& seq) - : base(seq) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template >::type - > - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) - {} -#endif - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward(seq)) - {} -#endif - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(typename detail::call_param::type head - , typename detail::call_param::type... tail) - : base(detail::deque_keyed_values::construct(head, tail...)) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template >::type - > - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(Head_&& head, Tail_&&... tail) - : base(detail::deque_keyed_values - ::forward_(BOOST_FUSION_FWD_ELEM(Head_, head), BOOST_FUSION_FWD_ELEM(Tail_, tail)...)) - {} -#else - template >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(Head_ const& head, Tail_ const&... tail) - : base(detail::deque_keyed_values::construct(head, tail...)) - {} -#endif - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(Sequence const& seq - , typename disable_if, detail::enabler_>::type = detail::enabler - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base(base::from_iterator(fusion::begin(seq))) - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& operator=(deque const& rhs) - { - base::operator=(rhs); - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& operator=(T&& rhs) - { - base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); - return *this; - } -#endif - - }; -}} - -#endif -#endif diff --git a/external/boost/fusion/container/deque/deque_fwd.hpp b/external/boost/fusion/container/deque/deque_fwd.hpp deleted file mode 100644 index 5b8ea56fc..000000000 --- a/external/boost/fusion/container/deque/deque_fwd.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEQUE_FORWARD_02092007_0749) -#define FUSION_DEQUE_FORWARD_02092007_0749 - -#include -#include - -#if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ - || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)) \ - || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# undef BOOST_FUSION_HAS_VARIADIC_DEQUE -# endif -#else -# if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# define BOOST_FUSION_HAS_VARIADIC_DEQUE -# endif -#endif - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1910) -# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# undef BOOST_FUSION_HAS_VARIADIC_DEQUE -# endif -#endif - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion -{ - template - struct deque; -}} - -#endif -#endif diff --git a/external/boost/fusion/container/deque/deque_iterator.hpp b/external/boost/fusion/container/deque/deque_iterator.hpp deleted file mode 100644 index c2203796f..000000000 --- a/external/boost/fusion/container/deque/deque_iterator.hpp +++ /dev/null @@ -1,130 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_ITERATOR_26112006_2154) -#define BOOST_FUSION_DEQUE_ITERATOR_26112006_2154 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct bidirectional_traversal_tag; - - template - struct deque_iterator - : iterator_facade, bidirectional_traversal_tag> - { - typedef Seq sequence; - typedef mpl::int_ index; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque_iterator(Seq& seq) - : seq_(seq) - {} - - template - struct value_of - : detail::keyed_element_value_at< - typename Iterator::sequence, typename Iterator::index> - {}; - - template - struct deref - { - typedef typename detail::keyed_element_value_at< - typename Iterator::sequence, typename Iterator::index>::type element_type; - - typedef typename add_reference< - typename mpl::eval_if< - is_const, - add_const, - mpl::identity >::type>::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return it.seq_.get(typename Iterator::index()); - } - }; - - template - struct advance - { - typedef typename Iterator::index index; - typedef typename Iterator::sequence sequence; - typedef deque_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq_); - } - }; - - template - struct next - : advance > - {}; - - template - struct prior - : advance > - {}; - - template - struct distance : mpl::minus - { - typedef typename - mpl::minus< - typename I2::index, typename I1::index - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(I1 const&, I2 const&) - { - return type(); - } - }; - - template - struct equal_to - : mpl::equal_to - {}; - - Seq& seq_; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - deque_iterator& operator= (deque_iterator const&); - }; - -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::deque_iterator > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/container/deque/detail/at_impl.hpp b/external/boost/fusion/container/deque/detail/at_impl.hpp deleted file mode 100644 index 3edf48293..000000000 --- a/external/boost/fusion/container/deque/detail/at_impl.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017) -#define BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017 - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Sequence::next_up next_up; - typedef typename Sequence::next_down next_down; - BOOST_MPL_ASSERT_RELATION(next_down::value, !=, next_up::value); - - static int const offset = next_down::value + 1; - typedef mpl::int_<(N::value + offset)> adjusted_index; - typedef typename - detail::keyed_element_value_at::type - element_type; - - typedef typename - add_reference< - typename mpl::eval_if< - is_const, - add_const, - mpl::identity >::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return seq.get(adjusted_index()); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/begin_impl.hpp b/external/boost/fusion/container/deque/detail/begin_impl.hpp deleted file mode 100644 index 27b4f41b9..000000000 --- a/external/boost/fusion/container/deque/detail/begin_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034) -#define BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034 - -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef - deque_iterator - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/build_deque.hpp b/external/boost/fusion/container/deque/detail/build_deque.hpp deleted file mode 100644 index 4dd990aea..000000000 --- a/external/boost/fusion/container/deque/detail/build_deque.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BUILD_DEQUE_02032013_1921) -#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template ::value> - struct build_deque; - - template - struct build_deque - { - typedef deque<> type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - - template - struct push_front_deque; - - template - struct push_front_deque> - { - typedef deque type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(T const& first, deque const& rest) - { - return type(front_extended_deque, T>(rest, first)); - } - }; - - template - struct build_deque - { - typedef - build_deque::type, Last> - next_build_deque; - - typedef push_front_deque< - typename result_of::value_of::type - , typename next_build_deque::type> - push_front; - - typedef typename push_front::type type; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& f, Last const& l) - { - typename result_of::value_of::type v = *f; - return push_front::call( - v, next_build_deque::call(fusion::next(f), l)); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/convert_impl.hpp b/external/boost/fusion/container/deque/detail/convert_impl.hpp deleted file mode 100644 index ede0cc48f..000000000 --- a/external/boost/fusion/container/deque/detail/convert_impl.hpp +++ /dev/null @@ -1,56 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_IMPL_20061213_2207) -#define FUSION_CONVERT_IMPL_20061213_2207 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace result_of - { - template - struct as_deque; - } - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef result_of::as_deque gen; - typedef typename gen::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(fusion::begin(seq) -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) - , fusion::end(seq) -#endif - ); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp deleted file mode 100644 index e95daf3a1..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/as_deque.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_AS_DEQUE_20061213_2210) -#define FUSION_AS_DEQUE_20061213_2210 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - - template - struct as_deque; - - template <> - struct as_deque<0> - { - template - struct apply - { - typedef deque<> type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return deque<>(); - } - }; - -BOOST_FUSION_BARRIER_END -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::value_of::type \ - BOOST_PP_CAT(T, n); - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_VALUE_OF_ITERATOR - -BOOST_FUSION_BARRIER_END -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template <> - struct as_deque - { - template - struct apply - { - BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) - typedef deque type; - }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM_PARAMS(N, *i)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp deleted file mode 100644 index 587aa3b06..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/build_deque.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BUILD_DEQUE_02032013_1921) -#define BOOST_FUSION_BUILD_DEQUE_02032013_1921 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_deque - : detail::as_deque::value> - { - typedef typename - detail::as_deque::value> - gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence& seq) - { - typedef typename result_of::as_deque::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_deque::type - as_deque(Sequence const& seq) - { - typedef typename result_of::as_deque::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque.hpp deleted file mode 100644 index 9a130ecbd..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/deque.hpp +++ /dev/null @@ -1,207 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_PP_FUSION_DEQUE_26112006_1649) -#define BOOST_PP_FUSION_DEQUE_26112006_1649 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -#define FUSION_HASH # - -namespace boost { namespace fusion { - - struct deque_tag; - - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - -#include - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(typename detail::call_param::type t0) - : base(t0, detail::nil_keyed_element()) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq - , typename disable_if, detail::enabler_>::type = detail::enabler - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base(base::from_iterator(fusion::begin(seq))) - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if, detail::enabler_>::type = detail::enabler - , typename disable_if_c< - boost::is_same::type const>::value - , detail::enabler_ - >::type = detail::enabler - ) - : base(BOOST_FUSION_FWD_ELEM(T0_, t0), detail::nil_keyed_element()) - {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq - , typename disable_if< - is_convertible, T0> - , detail::enabler_ - >::type = detail::enabler) - : base(std::forward>(seq)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); - return *this; - } - // This copy op= is required because move ctor deletes copy op=. - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(static_cast(rhs)); - return *this; - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - - }; - - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() BOOST_NOEXCEPT {} - }; - -}} - -#undef FUSION_HASH - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp deleted file mode 100644 index eeaa29ffb..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp +++ /dev/null @@ -1,69 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_PP_IS_ITERATING) -#if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212) -#define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_FORWARD_CTOR_04122006_2212 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#define FUSION_DEQUE_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(T_##n, t##n) - -#include -#include -#include - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_DEQUE_SIZE) -#include BOOST_PP_ITERATE() - -#undef FUSION_DEQUE_FORWARD_CTOR_FORWARD -#endif -#else - -#define N BOOST_PP_ITERATION() - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) - : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) -{} -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& t)) - : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) -{} - -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) - : base(detail::deque_keyed_values:: - forward_(BOOST_PP_ENUM(N, FUSION_DEQUE_FORWARD_CTOR_FORWARD, _))) -{} -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - -#undef N -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp deleted file mode 100644 index 0da8bd224..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/deque_fwd.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PP_DEQUE_FORWARD_02092007_0749) -#define FUSION_PP_DEQUE_FORWARD_02092007_0749 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque" FUSION_MAX_DEQUE_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template< - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_DEQUE_SIZE, typename T, void_)> - struct deque; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp deleted file mode 100644 index 5ac245d95..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/deque_initial_size.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139) -#define BOOST_FUSION_DEQUE_DETAIL_DEQUE_INITIAL_SIZE_26112006_2139 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_initial_size" FUSION_MAX_DEQUE_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct deque_initial_size - { - typedef mpl::vector args; - typedef typename mpl::find::type first_void; - typedef typename mpl::distance::type, first_void>::type type; - }; -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp deleted file mode 100644 index fcbd74a7e..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp +++ /dev/null @@ -1,112 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330) -#define BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include - -#define FUSION_VOID(z, n, _) void_ - -namespace boost { namespace fusion -{ - struct void_; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_keyed_values" FUSION_MAX_DEQUE_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - - struct nil_keyed_element; - - template - struct deque_keyed_values_impl; - - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - - typedef typename deque_keyed_values_impl< - next_index, - BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_DEQUE_SIZE, T)>::type tail; - typedef keyed_element type; - -#include - - }; - - template - struct deque_keyed_values - : deque_keyed_values_impl, BOOST_PP_ENUM_PARAMS(FUSION_MAX_DEQUE_SIZE, T)> - {}; - -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_VOID - -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp b/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp deleted file mode 100644 index 87f3714b5..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_PP_IS_ITERATING) -#if !defined(BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211) -#define BOOST_FUSION_SEQUENCE_DEQUE_DETAIL_DEQUE_KEYED_VALUES_CALL_04122006_2211 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include -#include -#include -#include - -#define FUSION_HASH # -#define FUSION_DEQUE_KEYED_VALUES_FORWARD(z, n, _) \ - BOOST_FUSION_FWD_ELEM(BOOST_PP_CAT(T_, n), BOOST_PP_CAT(t, n)) - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) -#include BOOST_PP_ITERATE() - -#undef FUSION_DEQUE_KEYED_VALUES_FORWARD -#undef FUSION_HASH -#endif -#else - -#define N BOOST_PP_ITERATION() - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) - { - return type(t0, - deque_keyed_values_impl< - next_index - #if N > 1 - , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T) - #endif - >::construct(BOOST_PP_ENUM_SHIFTED_PARAMS(N, t))); - } - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) - { - return type(BOOST_FUSION_FWD_ELEM(T_0, t0), - deque_keyed_values_impl< - next_index - #if N > 1 - , BOOST_PP_ENUM_SHIFTED_PARAMS(N, T_) - #endif - >::forward_(BOOST_PP_ENUM_SHIFTED(N, FUSION_DEQUE_KEYED_VALUES_FORWARD, _))); - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - -#undef N -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/limits.hpp b/external/boost/fusion/container/deque/detail/cpp03/limits.hpp deleted file mode 100644 index 16e25fa08..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/limits.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_LIMITS_26112006_1737) -#define BOOST_FUSION_DEQUE_LIMITS_26112006_1737 - -#if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -#error "C++03 only! This file should not have been included" -#endif - -#include - -#if !defined(FUSION_MAX_DEQUE_SIZE) -# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE -#else -# if FUSION_MAX_DEQUE_SIZE < 3 -# undef FUSION_MAX_DEQUE_SIZE -# if (FUSION_MAX_VECTOR_SIZE > 10) -# define FUSION_MAX_DEQUE_SIZE 10 -# else -# define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE -# endif -# endif -#endif - -#define FUSION_MAX_DEQUE_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_DEQUE_SIZE)) - -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp deleted file mode 100644 index abc2890a2..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_DEQUE_SIZE <= 10 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 20 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 30 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 40 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 50 -#include -#else -#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp deleted file mode 100644 index 3faf4be22..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp +++ /dev/null @@ -1,223 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_deque<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_deque<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_deque<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_deque<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_deque<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_deque<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_deque<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_deque<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_deque<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_deque<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp deleted file mode 100644 index 81faaa0f3..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp +++ /dev/null @@ -1,433 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_deque<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_deque<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_deque<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_deque<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_deque<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_deque<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_deque<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_deque<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_deque<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_deque<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_deque<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_deque<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_deque<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_deque<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_deque<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_deque<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_deque<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_deque<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_deque<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_deque<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp deleted file mode 100644 index ce2b7b0ae..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp +++ /dev/null @@ -1,643 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_deque<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_deque<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_deque<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_deque<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_deque<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_deque<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_deque<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_deque<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_deque<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_deque<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_deque<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_deque<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_deque<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_deque<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_deque<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_deque<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_deque<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_deque<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_deque<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_deque<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_deque<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_deque<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_deque<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_deque<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_deque<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_deque<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_deque<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_deque<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_deque<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_deque<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp deleted file mode 100644 index 41a5cd079..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp +++ /dev/null @@ -1,853 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_deque<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_deque<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_deque<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_deque<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_deque<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_deque<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_deque<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_deque<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_deque<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_deque<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_deque<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_deque<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_deque<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_deque<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_deque<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_deque<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_deque<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_deque<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_deque<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_deque<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_deque<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_deque<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_deque<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_deque<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_deque<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_deque<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_deque<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_deque<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_deque<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_deque<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; - template <> - struct as_deque<31> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - }; - template <> - struct as_deque<32> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - }; - template <> - struct as_deque<33> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - }; - template <> - struct as_deque<34> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - }; - template <> - struct as_deque<35> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - }; - template <> - struct as_deque<36> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - }; - template <> - struct as_deque<37> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - }; - template <> - struct as_deque<38> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - }; - template <> - struct as_deque<39> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - }; - template <> - struct as_deque<40> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp deleted file mode 100644 index d93ba945d..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp +++ /dev/null @@ -1,1063 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_deque<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_deque<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_deque<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_deque<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_deque<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_deque<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_deque<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_deque<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_deque<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_deque<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_deque<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_deque<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_deque<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_deque<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_deque<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_deque<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_deque<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_deque<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_deque<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_deque<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_deque<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_deque<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_deque<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_deque<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_deque<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_deque<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_deque<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_deque<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_deque<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_deque<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; - template <> - struct as_deque<31> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - }; - template <> - struct as_deque<32> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - }; - template <> - struct as_deque<33> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - }; - template <> - struct as_deque<34> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - }; - template <> - struct as_deque<35> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - }; - template <> - struct as_deque<36> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - }; - template <> - struct as_deque<37> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - }; - template <> - struct as_deque<38> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - }; - template <> - struct as_deque<39> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - }; - template <> - struct as_deque<40> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - }; - template <> - struct as_deque<41> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); - } - }; - template <> - struct as_deque<42> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); - } - }; - template <> - struct as_deque<43> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); - } - }; - template <> - struct as_deque<44> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); - } - }; - template <> - struct as_deque<45> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); - } - }; - template <> - struct as_deque<46> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); - } - }; - template <> - struct as_deque<47> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); - } - }; - template <> - struct as_deque<48> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); - } - }; - template <> - struct as_deque<49> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); - } - }; - template <> - struct as_deque<50> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; - typedef deque type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp deleted file mode 100644 index 3a5a21e25..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_DEQUE_SIZE <= 10 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 20 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 30 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 40 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 50 -#include -#else -#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp deleted file mode 100644 index 3eee06361..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp +++ /dev/null @@ -1,280 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { - struct deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) -{} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(typename detail::call_param::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq - , typename disable_if, detail::enabler_>::type = detail::enabler - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if, detail::enabler_>::type = detail::enabler - , typename disable_if_c< - boost::is_same::type const>::value - , detail::enabler_ - >::type = detail::enabler - ) - : base(std::forward( t0), detail::nil_keyed_element()) - {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq - , typename disable_if< - is_convertible, T0> - , detail::enabler_ - >::type = detail::enabler) - : base(std::forward>(seq)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward( rhs)); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(static_cast(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() BOOST_NOEXCEPT {} - }; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp deleted file mode 100644 index 4752e9643..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10_fwd.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template< - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_> - struct deque; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp deleted file mode 100644 index c2359e84c..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp +++ /dev/null @@ -1,460 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { - struct deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) -{} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(typename detail::call_param::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq - , typename disable_if, detail::enabler_>::type = detail::enabler - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if, detail::enabler_>::type = detail::enabler - , typename disable_if_c< - boost::is_same::type const>::value - , detail::enabler_ - >::type = detail::enabler - ) - : base(std::forward( t0), detail::nil_keyed_element()) - {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq - , typename disable_if< - is_convertible, T0> - , detail::enabler_ - >::type = detail::enabler) - : base(std::forward>(seq)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward( rhs)); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(static_cast(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() BOOST_NOEXCEPT {} - }; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp deleted file mode 100644 index c53618811..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20_fwd.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template< - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_> - struct deque; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp deleted file mode 100644 index 40f05f302..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp +++ /dev/null @@ -1,640 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { - struct deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) -{} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(typename detail::call_param::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq - , typename disable_if, detail::enabler_>::type = detail::enabler - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if, detail::enabler_>::type = detail::enabler - , typename disable_if_c< - boost::is_same::type const>::value - , detail::enabler_ - >::type = detail::enabler - ) - : base(std::forward( t0), detail::nil_keyed_element()) - {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq - , typename disable_if< - is_convertible, T0> - , detail::enabler_ - >::type = detail::enabler) - : base(std::forward>(seq)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward( rhs)); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(static_cast(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() BOOST_NOEXCEPT {} - }; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp deleted file mode 100644 index d7abffcb8..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30_fwd.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template< - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_> - struct deque; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp deleted file mode 100644 index 9df30bf3c..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp +++ /dev/null @@ -1,820 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { - struct deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) -{} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(typename detail::call_param::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq - , typename disable_if, detail::enabler_>::type = detail::enabler - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if, detail::enabler_>::type = detail::enabler - , typename disable_if_c< - boost::is_same::type const>::value - , detail::enabler_ - >::type = detail::enabler - ) - : base(std::forward( t0), detail::nil_keyed_element()) - {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq - , typename disable_if< - is_convertible, T0> - , detail::enabler_ - >::type = detail::enabler) - : base(std::forward>(seq)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward( rhs)); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(static_cast(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() BOOST_NOEXCEPT {} - }; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp deleted file mode 100644 index 72f2b9c24..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40_fwd.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template< - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_> - struct deque; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp deleted file mode 100644 index d4a62206a..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp +++ /dev/null @@ -1,1000 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { - struct deque_tag; - template - struct deque - : - detail::deque_keyed_values::type, - sequence_base > - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef typename detail::deque_keyed_values::type base; - typedef typename detail::deque_initial_size::type size; - typedef mpl::int_ next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1) - : base(detail::deque_keyed_values::construct(t0 , t1)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))) -{} -# endif -# if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) -{} -# endif -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) - : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) -{} -template -BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED -deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) - : base(detail::deque_keyed_values:: - forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))) -{} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(typename detail::call_param::type t0) - : base(t0, detail::nil_keyed_element()) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque const& rhs) - : base(rhs) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) - : base(seq) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(Sequence const& seq - , typename disable_if, detail::enabler_>::type = detail::enabler - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base(base::from_iterator(fusion::begin(seq))) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T const& rhs) - { - base::operator=(rhs); - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit deque(T0_&& t0 - , typename enable_if, detail::enabler_>::type = detail::enabler - , typename disable_if_c< - boost::is_same::type const>::value - , detail::enabler_ - >::type = detail::enabler - ) - : base(std::forward( t0), detail::nil_keyed_element()) - {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit deque(deque&& rhs) - : base(std::forward(rhs)) - {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq - , typename disable_if< - is_convertible, T0> - , detail::enabler_ - >::type = detail::enabler) - : base(std::forward>(seq)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(T&& rhs) - { - base::operator=(std::forward( rhs)); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque& - operator=(deque const& rhs) - { - base::operator=(static_cast(rhs)); - return *this; - } -# endif - }; - template <> - struct deque<> : detail::nil_keyed_element - { - typedef deque_tag fusion_tag; - typedef bidirectional_traversal_tag category; - typedef mpl::int_<0> size; - typedef mpl::int_<0> next_up; - typedef mpl::int_<-1> next_down; - typedef mpl::false_ is_view; - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque(Sequence const&, - typename enable_if< - mpl::and_< - traits::is_sequence - , result_of::empty >, detail::enabler_>::type = detail::enabler) BOOST_NOEXCEPT - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - deque() BOOST_NOEXCEPT {} - }; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp deleted file mode 100644 index d46a2c758..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50_fwd.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template< - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_> - struct deque; -}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp deleted file mode 100644 index 9a770b9ef..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_fwd.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_DEQUE_SIZE <= 10 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 20 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 30 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 40 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 50 -#include -#else -#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp deleted file mode 100644 index 9431abe2b..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_DEQUE_SIZE <= 10 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 20 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 30 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 40 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 50 -#include -#else -#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp deleted file mode 100644 index 5bf08d560..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size10.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct deque_initial_size - { - typedef mpl::vector args; - typedef typename mpl::find::type first_void; - typedef typename mpl::distance::type, first_void>::type type; - }; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp deleted file mode 100644 index a48c33ac4..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size20.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct deque_initial_size - { - typedef mpl::vector args; - typedef typename mpl::find::type first_void; - typedef typename mpl::distance::type, first_void>::type type; - }; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp deleted file mode 100644 index 53e805201..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size30.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct deque_initial_size - { - typedef mpl::vector args; - typedef typename mpl::find::type first_void; - typedef typename mpl::distance::type, first_void>::type type; - }; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp deleted file mode 100644 index 3a613b8f7..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size40.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct deque_initial_size - { - typedef mpl::vector args; - typedef typename mpl::find::type first_void; - typedef typename mpl::distance::type, first_void>::type type; - }; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp deleted file mode 100644 index 2a31a72bd..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_initial_size50.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct deque_initial_size - { - typedef mpl::vector args; - typedef typename mpl::find::type first_void; - typedef typename mpl::distance::type, first_void>::type type; - }; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp deleted file mode 100644 index 6e7968654..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_DEQUE_SIZE <= 10 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 20 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 30 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 40 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 50 -#include -#else -#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp deleted file mode 100644 index 69bdca038..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp +++ /dev/null @@ -1,252 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail; - typedef keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward( t1))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward( t1) , std::forward( t2))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - {}; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp deleted file mode 100644 index 912811e1b..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp +++ /dev/null @@ -1,462 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type tail; - typedef keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward( t1))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward( t1) , std::forward( t2))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - {}; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp deleted file mode 100644 index f000f3917..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp +++ /dev/null @@ -1,672 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type tail; - typedef keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward( t1))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward( t1) , std::forward( t2))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> - {}; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp deleted file mode 100644 index a2da8fb58..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp +++ /dev/null @@ -1,882 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type tail; - typedef keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward( t1))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward( t1) , std::forward( t2))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> - {}; -}}} diff --git a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp b/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp deleted file mode 100644 index e4ff69bf9..000000000 --- a/external/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp +++ /dev/null @@ -1,1092 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - struct nil_keyed_element; - template - struct deque_keyed_values_impl; - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct() - { - return type(); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_() - { - return type(); - } - }; - template - struct deque_keyed_values_impl - { - typedef mpl::int_ >::value> next_index; - typedef typename deque_keyed_values_impl< - next_index, - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type tail; - typedef keyed_element type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0) - { - return type(t0, - deque_keyed_values_impl< - next_index - >::construct()); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - >::forward_()); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 - >::construct(t1)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 - >::forward_(std::forward( t1))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 - >::construct(t1 , t2)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 - >::forward_(std::forward( t1) , std::forward( t2))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 - >::construct(t1 , t2 , t3)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 - >::construct(t1 , t2 , t3 , t4)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 - >::construct(t1 , t2 , t3 , t4 , t5)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 - >::construct(t1 , t2 , t3 , t4 , t5 , t6)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))); - } -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) - { - return type(t0, - deque_keyed_values_impl< - next_index - , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 - >::construct(t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)); - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) - { - return type(std::forward( t0), - deque_keyed_values_impl< - next_index - , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 , T_49 - >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))); - } -# endif - }; - template - struct deque_keyed_values - : deque_keyed_values_impl, T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> - {}; -}}} diff --git a/external/boost/fusion/container/deque/detail/deque_keyed_values.hpp b/external/boost/fusion/container/deque/detail/deque_keyed_values.hpp deleted file mode 100644 index 7c6df7b67..000000000 --- a/external/boost/fusion/container/deque/detail/deque_keyed_values.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901) -#define BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901 - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct keyed_element; - - template - struct deque_keyed_values_impl; - - template - struct deque_keyed_values_impl - { - typedef mpl::int_<(N::value + 1)> next_index; - typedef typename deque_keyed_values_impl::type tail; - typedef keyed_element type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct( - typename detail::call_param::type head - , typename detail::call_param::type... tail) - { - return type( - head - , deque_keyed_values_impl::construct(tail...) - ); - } -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_(Head_&& head, Tail_&&... tail) - { - return type( - BOOST_FUSION_FWD_ELEM(Head_, head) - , deque_keyed_values_impl:: - forward_(BOOST_FUSION_FWD_ELEM(Tail_, tail)...) - ); - } -#endif - }; - - struct nil_keyed_element; - - template - struct deque_keyed_values_impl - { - typedef nil_keyed_element type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type construct() { return type(); } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type forward_() { return type(); } -#endif - }; - - template - struct deque_keyed_values - : deque_keyed_values_impl, Elements...> {}; -}}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/end_impl.hpp b/external/boost/fusion/container/deque/detail/end_impl.hpp deleted file mode 100644 index 8f67ff4af..000000000 --- a/external/boost/fusion/container/deque/detail/end_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_END_IMPL_09122006_2034) -#define BOOST_FUSION_DEQUE_END_IMPL_09122006_2034 - -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef - deque_iterator - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/is_sequence_impl.hpp b/external/boost/fusion/container/deque/detail/is_sequence_impl.hpp deleted file mode 100644 index b4b9138cd..000000000 --- a/external/boost/fusion/container/deque/detail/is_sequence_impl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP -#define BOOST_FUSION_CONTAINER_DEQUE_DETAIL_IS_SEQUENCE_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct is_sequence_impl; - - template<> - struct is_sequence_impl - { - template - struct apply : mpl::true_ {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/keyed_element.hpp b/external/boost/fusion/container/deque/detail/keyed_element.hpp deleted file mode 100644 index 15b686671..000000000 --- a/external/boost/fusion/container/deque/detail/keyed_element.hpp +++ /dev/null @@ -1,171 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330) -#define BOOST_FUSION_DEQUE_DETAIL_KEYED_ELEMENT_26112006_1330 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; -}} - -namespace boost { namespace fusion { namespace detail -{ - struct nil_keyed_element - { - typedef fusion_sequence_tag tag; - BOOST_FUSION_GPU_ENABLED - void get(); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static nil_keyed_element - from_iterator(It const&) - { - return nil_keyed_element(); - } - }; - - template - struct keyed_element : Rest - { - typedef Rest base; - typedef fusion_sequence_tag tag; - using Rest::get; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static keyed_element - from_iterator(It const& it) - { - return keyed_element( - *it, base::from_iterator(fusion::next(it))); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element(keyed_element const& rhs) - : Rest(rhs.get_base()), value_(rhs.value_) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element(keyed_element&& rhs) - : Rest(rhs.forward_base()) - , value_(BOOST_FUSION_FWD_ELEM(Value, rhs.value_)) - {} -#endif - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element(keyed_element const& rhs - , typename enable_if >::type* = 0) - : Rest(rhs.get_base()), value_(rhs.value_) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - Rest& get_base() BOOST_NOEXCEPT - { - return *this; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - Rest const& get_base() const BOOST_NOEXCEPT - { - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - Rest&& forward_base() BOOST_NOEXCEPT - { - return std::move(*static_cast(this)); - } -#endif - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename cref_result::type get(Key) const - { - return value_; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename ref_result::type get(Key) - { - return value_; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element( - typename detail::call_param::type value - , Rest const& rest) - : Rest(rest), value_(value) - {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element(Value&& value, Rest&& rest) - : Rest(std::move(rest)) - , value_(BOOST_FUSION_FWD_ELEM(Value, value)) - {} -#endif - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element() - : Rest(), value_() - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element& operator=(keyed_element const& rhs) - { - base::operator=(static_cast(rhs)); // cast for msvc-7.1 - value_ = rhs.value_; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element& operator=(keyed_element const& rhs) - { - base::operator=(rhs); - value_ = rhs.value_; - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - keyed_element& operator=(keyed_element&& rhs) - { - base::operator=(rhs.forward_base()); - value_ = std::move(rhs.value_); - return *this; - } -#endif - - Value value_; - }; - - template - struct keyed_element_value_at - : keyed_element_value_at - {}; - - template - struct keyed_element_value_at, Key> - { - typedef Value type; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/deque/detail/value_at_impl.hpp b/external/boost/fusion/container/deque/detail/value_at_impl.hpp deleted file mode 100644 index f15dee01f..000000000 --- a/external/boost/fusion/container/deque/detail/value_at_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756) -#define BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756 - -#include -#include - -#include -#include - -namespace boost { namespace fusion -{ - struct deque_tag; - - namespace extension - { - template - struct value_at_impl; - - template<> - struct value_at_impl - { - template - struct apply - { - typedef typename Sequence::next_up next_up; - typedef typename Sequence::next_down next_down; - BOOST_MPL_ASSERT_RELATION(next_down::value, !=, next_up::value); - - static int const offset = next_down::value + 1; - typedef mpl::int_<(N::value + offset)> adjusted_index; - typedef typename - detail::keyed_element_value_at::type - type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/deque/front_extended_deque.hpp b/external/boost/fusion/container/deque/front_extended_deque.hpp deleted file mode 100644 index ab4cdf7ca..000000000 --- a/external/boost/fusion/container/deque/front_extended_deque.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2012 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209) -#define BOOST_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct front_extended_deque - : detail::keyed_element - , sequence_base > - { - typedef detail::keyed_element base; - typedef mpl::int_<(Deque::next_down::value - 1)> next_down; - typedef typename Deque::next_up next_up; - typedef mpl::int_<(result_of::size::value + 1)> size; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - front_extended_deque(Deque const& deque, Arg const& val) - : base(val, deque) - {} - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - front_extended_deque(Deque const& deque, Arg& val) - : base(val, deque) - {} -#else - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - front_extended_deque(Deque const& deque, Arg&& val) - : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) - {} -#endif - }; -}} - -#endif diff --git a/external/boost/fusion/container/generation.hpp b/external/boost/fusion/container/generation.hpp deleted file mode 100644 index 98e0298b4..000000000 --- a/external/boost/fusion/container/generation.hpp +++ /dev/null @@ -1,24 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_GENERATION_10022005_0615) -#define FUSION_SEQUENCE_GENERATION_10022005_0615 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/container/generation/cons_tie.hpp b/external/boost/fusion/container/generation/cons_tie.hpp deleted file mode 100644 index 2058ebf54..000000000 --- a/external/boost/fusion/container/generation/cons_tie.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONS_TIE_07182005_0854) -#define FUSION_CONS_TIE_07182005_0854 - -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - namespace result_of - { - template - struct cons_tie - { - typedef cons type; - }; - } - - // $$$ do we really want a cons_tie? $$$ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline cons - cons_tie(Car& car) - { - return cons(car); - } - - // $$$ do we really want a cons_tie? $$$ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline cons - cons_tie(Car& car, Cdr const& cdr) - { - return cons(car, cdr); - } -}} - -#endif - diff --git a/external/boost/fusion/container/generation/deque_tie.hpp b/external/boost/fusion/container/generation/deque_tie.hpp deleted file mode 100644 index 8b6b9e7b3..000000000 --- a/external/boost/fusion/container/generation/deque_tie.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEQUE_TIE_01272013_1401) -#define FUSION_DEQUE_TIE_01272013_1401 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// - -#include - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template - struct deque_tie - { - typedef deque type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T&... arg) - { - return deque(arg...); - } - }} - -#endif -#endif - diff --git a/external/boost/fusion/container/generation/detail/pp_deque_tie.hpp b/external/boost/fusion/container/generation/detail/pp_deque_tie.hpp deleted file mode 100644 index 9146118ec..000000000 --- a/external/boost/fusion/container/generation/detail/pp_deque_tie.hpp +++ /dev/null @@ -1,102 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_PP_DEQUE_TIE_07192005_1242) -#define FUSION_PP_DEQUE_TIE_07192005_1242 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/deque_tie" FUSION_MAX_DEQUE_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_DEQUE_SIZE, typename T, void_) - , typename Extra = void_ - > - struct deque_tie; - } - -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct deque_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > - #undef TEXT - { - typedef deque type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) - { - return deque( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_list_tie.hpp b/external/boost/fusion/container/generation/detail/pp_list_tie.hpp deleted file mode 100644 index be25627ae..000000000 --- a/external/boost/fusion/container/generation/detail/pp_list_tie.hpp +++ /dev/null @@ -1,102 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_PP_LIST_TIE_07192005_0109) -#define FUSION_PP_LIST_TIE_07192005_0109 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_tie" FUSION_MAX_LIST_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - , typename Extra = void_ - > - struct list_tie; - } - -// $$$ shouldn't we remove_reference first to allow references? $$$ -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > - #undef TEXT - { - typedef list type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) - { - return list( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_make_deque.hpp b/external/boost/fusion/container/generation/detail/pp_make_deque.hpp deleted file mode 100644 index 5635c73c0..000000000 --- a/external/boost/fusion/container/generation/detail/pp_make_deque.hpp +++ /dev/null @@ -1,116 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_PP_MAKE_DEQUE_07162005_0243) -#define FUSION_MAKE_PP_DEQUE_07162005_0243 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_deque" FUSION_MAX_DEQUE_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_DEQUE_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_deque; - - template <> - struct make_deque<> - { - typedef deque<> type; - }; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque<> - make_deque() - { - return deque<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_deque< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > - #undef TEXT - { - typedef deque type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - make_deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) - { - return deque( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_make_list.hpp b/external/boost/fusion/container/generation/detail/pp_make_list.hpp deleted file mode 100644 index 989bf36bd..000000000 --- a/external/boost/fusion/container/generation/detail/pp_make_list.hpp +++ /dev/null @@ -1,115 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_PP_MAKE_LIST_07192005_1239) -#define FUSION_PP_MAKE_LIST_07192005_1239 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_list" FUSION_MAX_LIST_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_list; - - template <> - struct make_list<> - { - typedef list<> type; - }; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list<> - make_list() - { - return list<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > - #undef TEXT - { - typedef list type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - make_list(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) - { - return list( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_make_map.hpp b/external/boost/fusion/container/generation/detail/pp_make_map.hpp deleted file mode 100644 index ad20cd4dd..000000000 --- a/external/boost/fusion/container/generation/detail/pp_make_map.hpp +++ /dev/null @@ -1,130 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_PP_MAKE_MAP_07222005_1247) -#define FUSION_PP_MAKE_MAP_07222005_1247 - -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_map" FUSION_MAX_MAP_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename K, void_) - , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename D, void_) - , typename Extra = void_ - > - struct make_map; - - template <> - struct make_map<> - { - typedef map<> type; - }; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - make_map() - { - return map<>(); - } - -#define BOOST_FUSION_PAIR(z, n, data) \ - fusion::pair< \ - BOOST_PP_CAT(K, n) \ - , typename detail::as_fusion_element::type> - -#define BOOST_FUSION_MAKE_PAIR(z, n, _) \ - fusion::make_pair(BOOST_PP_CAT(_, n)) \ - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_PAIR -#undef BOOST_FUSION_MAKE_PAIR - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS(N, typename K) - , BOOST_PP_ENUM_PARAMS(N, typename D) - > - #define TEXT(z, n, text) , text - struct make_map - #undef TEXT - { - typedef map type; - }; - } - - template < - BOOST_PP_ENUM_PARAMS(N, typename K) - , BOOST_PP_ENUM_PARAMS(N, typename D) - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map - make_map(BOOST_PP_ENUM_BINARY_PARAMS(N, D, const& arg)) - { - return map( - BOOST_PP_ENUM(N, BOOST_FUSION_MAKE_PAIR, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_make_set.hpp b/external/boost/fusion/container/generation/detail/pp_make_set.hpp deleted file mode 100644 index f3f9a9e8f..000000000 --- a/external/boost/fusion/container/generation/detail/pp_make_set.hpp +++ /dev/null @@ -1,134 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_MAKE_SET_09162005_1125) -#define FUSION_MAKE_SET_09162005_1125 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_set" FUSION_MAX_SET_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#define FUSION_HASH # -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_set; - - template <> - struct make_set<> - { - typedef set<> type; - }; - } - - // XXX: -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH else - BOOST_CONSTEXPR -FUSION_HASH endif -#else -#if defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#else - BOOST_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - inline set<> - make_set() - { - return set<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_ELEMENT -#undef BOOST_FUSION_AS_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#undef FUSION_HASH -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) > - #undef TEXT - { - typedef set type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set - make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) - { - return set( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_make_vector.hpp b/external/boost/fusion/container/generation/detail/pp_make_vector.hpp deleted file mode 100644 index b19cf3545..000000000 --- a/external/boost/fusion/container/generation/detail/pp_make_vector.hpp +++ /dev/null @@ -1,115 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_MAKE_VECTOR_07162005_0243) -#define FUSION_MAKE_VECTOR_07162005_0243 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_vector" FUSION_MAX_VECTOR_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_vector; - - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector0<> - make_vector() - { - return vector0<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > - #undef TEXT - { - typedef BOOST_PP_CAT(vector, N) type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline BOOST_PP_CAT(vector, N) - make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) - { - return BOOST_PP_CAT(vector, N)( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_map_tie.hpp b/external/boost/fusion/container/generation/detail/pp_map_tie.hpp deleted file mode 100644 index 1a53c9193..000000000 --- a/external/boost/fusion/container/generation/detail/pp_map_tie.hpp +++ /dev/null @@ -1,133 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_PP_MAP_TIE_20060814_1116) -#define FUSION_PP_MAP_TIE_20060814_1116 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map_tie" FUSION_MAX_MAP_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_MAP_SIZE, typename K, void_) - , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_MAP_SIZE, typename D, void_) - , typename Extra = void_ - > - struct map_tie; - - template <> - struct map_tie<> - { - typedef map<> type; - }; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - map_tie() - { - return map<>(); - } - -#define BOOST_FUSION_TIED_PAIR(z, n, data) \ - fusion::pair< \ - BOOST_PP_CAT(K, n) \ - , typename add_reference::type> - -#define BOOST_FUSION_PAIR_TIE(z, n, _) \ - fusion::pair_tie(BOOST_PP_CAT(_, n)) \ - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_PAIR -#undef BOOST_FUSION_MAKE_PAIR - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS(N, typename K) - , BOOST_PP_ENUM_PARAMS(N, typename D) - > - #define TEXT(z, n, text) , text - struct map_tie - #undef TEXT - { - typedef map type; - }; - } - - template < - BOOST_PP_ENUM_PARAMS(N, typename K) - , BOOST_PP_ENUM_PARAMS(N, typename D) - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map - map_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, D, & arg)) - { - return map( - BOOST_PP_ENUM(N, BOOST_FUSION_PAIR_TIE, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/pp_vector_tie.hpp b/external/boost/fusion/container/generation/detail/pp_vector_tie.hpp deleted file mode 100644 index 132c38afe..000000000 --- a/external/boost/fusion/container/generation/detail/pp_vector_tie.hpp +++ /dev/null @@ -1,100 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_VECTOR_TIE_07192005_1242) -#define FUSION_VECTOR_TIE_07192005_1242 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_tie" FUSION_MAX_VECTOR_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct vector_tie; - } - -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > - #undef TEXT - { - typedef vector type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) - { - return vector( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp deleted file mode 100644 index 7df3c52f0..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_DEQUE_SIZE <= 10 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 20 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 30 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 40 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 50 -#include -#else -#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp deleted file mode 100644 index 7b50f3373..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp +++ /dev/null @@ -1,180 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - , typename Extra = void_ - > - struct deque_tie; - } - namespace result_of - { - template - struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0) - { - return deque( - arg0); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1) - { - return deque( - arg0 , arg1); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return deque( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return deque( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp deleted file mode 100644 index fec7cec9a..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp +++ /dev/null @@ -1,340 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - , typename Extra = void_ - > - struct deque_tie; - } - namespace result_of - { - template - struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0) - { - return deque( - arg0); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1) - { - return deque( - arg0 , arg1); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return deque( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return deque( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp deleted file mode 100644 index 701bba533..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp +++ /dev/null @@ -1,500 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - , typename Extra = void_ - > - struct deque_tie; - } - namespace result_of - { - template - struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0) - { - return deque( - arg0); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1) - { - return deque( - arg0 , arg1); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return deque( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return deque( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp deleted file mode 100644 index 37c7297b1..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp +++ /dev/null @@ -1,660 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - , typename Extra = void_ - > - struct deque_tie; - } - namespace result_of - { - template - struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0) - { - return deque( - arg0); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1) - { - return deque( - arg0 , arg1); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return deque( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return deque( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp deleted file mode 100644 index c8ecd9f31..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp +++ /dev/null @@ -1,820 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - , typename Extra = void_ - > - struct deque_tie; - } - namespace result_of - { - template - struct deque_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0) - { - return deque( - arg0); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1) - { - return deque( - arg0 , arg1); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return deque( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return deque( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - namespace result_of - { - template - struct deque_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > - { - typedef deque type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque - deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) - { - return deque( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp deleted file mode 100644 index 22d3e45af..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/list_tie.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_LIST_SIZE <= 10 -#include -#elif FUSION_MAX_LIST_SIZE <= 20 -#include -#elif FUSION_MAX_LIST_SIZE <= 30 -#include -#elif FUSION_MAX_LIST_SIZE <= 40 -#include -#elif FUSION_MAX_LIST_SIZE <= 50 -#include -#else -#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp deleted file mode 100644 index 31d424f77..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp +++ /dev/null @@ -1,180 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - , typename Extra = void_ - > - struct list_tie; - } - namespace result_of - { - template - struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0) - { - return list( - arg0); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1) - { - return list( - arg0 , arg1); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return list( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return list( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp deleted file mode 100644 index 533579e11..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp +++ /dev/null @@ -1,340 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - , typename Extra = void_ - > - struct list_tie; - } - namespace result_of - { - template - struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0) - { - return list( - arg0); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1) - { - return list( - arg0 , arg1); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return list( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return list( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp deleted file mode 100644 index 3ba4c743d..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp +++ /dev/null @@ -1,500 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - , typename Extra = void_ - > - struct list_tie; - } - namespace result_of - { - template - struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0) - { - return list( - arg0); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1) - { - return list( - arg0 , arg1); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return list( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return list( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp deleted file mode 100644 index d73997dec..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp +++ /dev/null @@ -1,660 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - , typename Extra = void_ - > - struct list_tie; - } - namespace result_of - { - template - struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0) - { - return list( - arg0); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1) - { - return list( - arg0 , arg1); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return list( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return list( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp deleted file mode 100644 index 96a36b3af..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp +++ /dev/null @@ -1,820 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - , typename Extra = void_ - > - struct list_tie; - } - namespace result_of - { - template - struct list_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0) - { - return list( - arg0); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1) - { - return list( - arg0 , arg1); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return list( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return list( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - namespace result_of - { - template - struct list_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > - { - typedef list type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) - { - return list( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp deleted file mode 100644 index 64cd623ac..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_deque.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_DEQUE_SIZE <= 10 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 20 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 30 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 40 -#include -#elif FUSION_MAX_DEQUE_SIZE <= 50 -#include -#else -#error "FUSION_MAX_DEQUE_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp deleted file mode 100644 index c355cd633..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp +++ /dev/null @@ -1,191 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - , typename Extra = void_ - > - struct make_deque; - template <> - struct make_deque<> - { - typedef deque<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque<> - make_deque() - { - return deque<>(); - } - namespace result_of - { - template - struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type> - make_deque(T0 const& arg0) - { - return deque::type>( - arg0); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1) - { - return deque::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp deleted file mode 100644 index 2f09da5d5..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp +++ /dev/null @@ -1,351 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - , typename Extra = void_ - > - struct make_deque; - template <> - struct make_deque<> - { - typedef deque<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque<> - make_deque() - { - return deque<>(); - } - namespace result_of - { - template - struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type> - make_deque(T0 const& arg0) - { - return deque::type>( - arg0); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1) - { - return deque::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp deleted file mode 100644 index 1880f318a..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp +++ /dev/null @@ -1,511 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - , typename Extra = void_ - > - struct make_deque; - template <> - struct make_deque<> - { - typedef deque<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque<> - make_deque() - { - return deque<>(); - } - namespace result_of - { - template - struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type> - make_deque(T0 const& arg0) - { - return deque::type>( - arg0); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1) - { - return deque::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp deleted file mode 100644 index d957025ca..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp +++ /dev/null @@ -1,671 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - , typename Extra = void_ - > - struct make_deque; - template <> - struct make_deque<> - { - typedef deque<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque<> - make_deque() - { - return deque<>(); - } - namespace result_of - { - template - struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type> - make_deque(T0 const& arg0) - { - return deque::type>( - arg0); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1) - { - return deque::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp deleted file mode 100644 index 45e40c8be..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp +++ /dev/null @@ -1,831 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - , typename Extra = void_ - > - struct make_deque; - template <> - struct make_deque<> - { - typedef deque<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque<> - make_deque() - { - return deque<>(); - } - namespace result_of - { - template - struct make_deque< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type> - make_deque(T0 const& arg0) - { - return deque::type>( - arg0); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1) - { - return deque::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - namespace result_of - { - template - struct make_deque< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > - { - typedef deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) - { - return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp deleted file mode 100644 index 9940ffbbe..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_list.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_LIST_SIZE <= 10 -#include -#elif FUSION_MAX_LIST_SIZE <= 20 -#include -#elif FUSION_MAX_LIST_SIZE <= 30 -#include -#elif FUSION_MAX_LIST_SIZE <= 40 -#include -#elif FUSION_MAX_LIST_SIZE <= 50 -#include -#else -#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp deleted file mode 100644 index afbc68cd3..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp +++ /dev/null @@ -1,191 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - , typename Extra = void_ - > - struct make_list; - template <> - struct make_list<> - { - typedef list<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list<> - make_list() - { - return list<>(); - } - namespace result_of - { - template - struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type> - make_list(T0 const& arg0) - { - return list::type>( - arg0); - } - namespace result_of - { - template - struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1) - { - return list::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp deleted file mode 100644 index 8e7363fe0..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp +++ /dev/null @@ -1,351 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - , typename Extra = void_ - > - struct make_list; - template <> - struct make_list<> - { - typedef list<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list<> - make_list() - { - return list<>(); - } - namespace result_of - { - template - struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type> - make_list(T0 const& arg0) - { - return list::type>( - arg0); - } - namespace result_of - { - template - struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1) - { - return list::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp deleted file mode 100644 index dfbb35f17..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp +++ /dev/null @@ -1,511 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - , typename Extra = void_ - > - struct make_list; - template <> - struct make_list<> - { - typedef list<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list<> - make_list() - { - return list<>(); - } - namespace result_of - { - template - struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type> - make_list(T0 const& arg0) - { - return list::type>( - arg0); - } - namespace result_of - { - template - struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1) - { - return list::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp deleted file mode 100644 index 159bab215..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp +++ /dev/null @@ -1,671 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - , typename Extra = void_ - > - struct make_list; - template <> - struct make_list<> - { - typedef list<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list<> - make_list() - { - return list<>(); - } - namespace result_of - { - template - struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type> - make_list(T0 const& arg0) - { - return list::type>( - arg0); - } - namespace result_of - { - template - struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1) - { - return list::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp deleted file mode 100644 index cf77330b4..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp +++ /dev/null @@ -1,831 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - , typename Extra = void_ - > - struct make_list; - template <> - struct make_list<> - { - typedef list<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list<> - make_list() - { - return list<>(); - } - namespace result_of - { - template - struct make_list< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type> - make_list(T0 const& arg0) - { - return list::type>( - arg0); - } - namespace result_of - { - template - struct make_list< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1) - { - return list::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - namespace result_of - { - template - struct make_list< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > - { - typedef list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) - { - return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp deleted file mode 100644 index d3068b927..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_map.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_MAP_SIZE <= 10 -#include -#elif FUSION_MAX_MAP_SIZE <= 20 -#include -#elif FUSION_MAX_MAP_SIZE <= 30 -#include -#elif FUSION_MAX_MAP_SIZE <= 40 -#include -#elif FUSION_MAX_MAP_SIZE <= 50 -#include -#else -#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp deleted file mode 100644 index f1da686e1..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp +++ /dev/null @@ -1,252 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ - , typename Extra = void_ - > - struct make_map; - template <> - struct make_map<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - make_map() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct make_map - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - make_map(D0 const& arg0) - { - return map::type> >( - fusion::make_pair(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp deleted file mode 100644 index f7d765f10..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp +++ /dev/null @@ -1,472 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ - , typename Extra = void_ - > - struct make_map; - template <> - struct make_map<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - make_map() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct make_map - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - make_map(D0 const& arg0) - { - return map::type> >( - fusion::make_pair(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp deleted file mode 100644 index 64dfe29b8..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp +++ /dev/null @@ -1,692 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ - , typename Extra = void_ - > - struct make_map; - template <> - struct make_map<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - make_map() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct make_map - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - make_map(D0 const& arg0) - { - return map::type> >( - fusion::make_pair(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp deleted file mode 100644 index f424561f4..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp +++ /dev/null @@ -1,912 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ - , typename Extra = void_ - > - struct make_map; - template <> - struct make_map<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - make_map() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct make_map - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - make_map(D0 const& arg0) - { - return map::type> >( - fusion::make_pair(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp deleted file mode 100644 index 0f30e2111..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp +++ /dev/null @@ -1,1132 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ - , typename Extra = void_ - > - struct make_map; - template <> - struct make_map<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - make_map() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct make_map - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - make_map(D0 const& arg0) - { - return map::type> >( - fusion::make_pair(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 - > - struct make_map - { - typedef map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > - make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48 , D49 const& arg49) - { - return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> >( - fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48) , fusion::make_pair(arg49)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp deleted file mode 100644 index 1a6937132..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_set.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_SET_SIZE <= 10 -#include -#elif FUSION_MAX_SET_SIZE <= 20 -#include -#elif FUSION_MAX_SET_SIZE <= 30 -#include -#elif FUSION_MAX_SET_SIZE <= 40 -#include -#elif FUSION_MAX_SET_SIZE <= 50 -#include -#else -#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp deleted file mode 100644 index 361ec7302..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp +++ /dev/null @@ -1,197 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - , typename Extra = void_ - > - struct make_set; - template <> - struct make_set<> - { - typedef set<> type; - }; - } - -# if defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# else - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - inline set<> - make_set() - { - return set<>(); - } - namespace result_of - { - template - struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type> - make_set(T0 const& arg0) - { - return set::type>( - arg0); - } - namespace result_of - { - template - struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1) - { - return set::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp deleted file mode 100644 index 22a3f2e0f..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp +++ /dev/null @@ -1,357 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - , typename Extra = void_ - > - struct make_set; - template <> - struct make_set<> - { - typedef set<> type; - }; - } - -# if defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# else - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - inline set<> - make_set() - { - return set<>(); - } - namespace result_of - { - template - struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type> - make_set(T0 const& arg0) - { - return set::type>( - arg0); - } - namespace result_of - { - template - struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1) - { - return set::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp deleted file mode 100644 index 1d92ac053..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp +++ /dev/null @@ -1,517 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - , typename Extra = void_ - > - struct make_set; - template <> - struct make_set<> - { - typedef set<> type; - }; - } - -# if defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# else - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - inline set<> - make_set() - { - return set<>(); - } - namespace result_of - { - template - struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type> - make_set(T0 const& arg0) - { - return set::type>( - arg0); - } - namespace result_of - { - template - struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1) - { - return set::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp deleted file mode 100644 index 1bf8810fa..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp +++ /dev/null @@ -1,677 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - , typename Extra = void_ - > - struct make_set; - template <> - struct make_set<> - { - typedef set<> type; - }; - } - -# if defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# else - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - inline set<> - make_set() - { - return set<>(); - } - namespace result_of - { - template - struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type> - make_set(T0 const& arg0) - { - return set::type>( - arg0); - } - namespace result_of - { - template - struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1) - { - return set::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp deleted file mode 100644 index b11c669c0..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp +++ /dev/null @@ -1,837 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - , typename Extra = void_ - > - struct make_set; - template <> - struct make_set<> - { - typedef set<> type; - }; - } - -# if defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# else - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - inline set<> - make_set() - { - return set<>(); - } - namespace result_of - { - template - struct make_set< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type> - make_set(T0 const& arg0) - { - return set::type>( - arg0); - } - namespace result_of - { - template - struct make_set< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1) - { - return set::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - namespace result_of - { - template - struct make_set< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > - { - typedef set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) - { - return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp deleted file mode 100644 index 43e3db4d9..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_vector.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp deleted file mode 100644 index c38c78f03..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp +++ /dev/null @@ -1,191 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - , typename Extra = void_ - > - struct make_vector; - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector0<> - make_vector() - { - return vector0<>(); - } - namespace result_of - { - template - struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector1::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector1::type> - make_vector(T0 const& arg0) - { - return vector1::type>( - arg0); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector2::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1) - { - return vector2::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > - { - typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > - { - typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > - { - typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > - { - typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp deleted file mode 100644 index 37e304877..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp +++ /dev/null @@ -1,351 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - , typename Extra = void_ - > - struct make_vector; - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector0<> - make_vector() - { - return vector0<>(); - } - namespace result_of - { - template - struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector1::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector1::type> - make_vector(T0 const& arg0) - { - return vector1::type>( - arg0); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector2::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1) - { - return vector2::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > - { - typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > - { - typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > - { - typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > - { - typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp deleted file mode 100644 index d63fd0908..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp +++ /dev/null @@ -1,511 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - , typename Extra = void_ - > - struct make_vector; - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector0<> - make_vector() - { - return vector0<>(); - } - namespace result_of - { - template - struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector1::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector1::type> - make_vector(T0 const& arg0) - { - return vector1::type>( - arg0); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector2::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1) - { - return vector2::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > - { - typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > - { - typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > - { - typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > - { - typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp deleted file mode 100644 index 491de951f..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp +++ /dev/null @@ -1,671 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - , typename Extra = void_ - > - struct make_vector; - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector0<> - make_vector() - { - return vector0<>(); - } - namespace result_of - { - template - struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector1::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector1::type> - make_vector(T0 const& arg0) - { - return vector1::type>( - arg0); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector2::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1) - { - return vector2::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > - { - typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > - { - typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > - { - typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > - { - typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp deleted file mode 100644 index d9074df31..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp +++ /dev/null @@ -1,831 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - , typename Extra = void_ - > - struct make_vector; - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector0<> - make_vector() - { - return vector0<>(); - } - namespace result_of - { - template - struct make_vector< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector1::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector1::type> - make_vector(T0 const& arg0) - { - return vector1::type>( - arg0); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector2::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1) - { - return vector2::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) - { - return vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) - { - return vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) - { - return vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) - { - return vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) - { - return vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) - { - return vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > - { - typedef vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) - { - return vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > - { - typedef vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) - { - return vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > - { - typedef vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) - { - return vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - namespace result_of - { - template - struct make_vector< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > - { - typedef vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) - { - return vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp deleted file mode 100644 index d7480c280..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/map_tie.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_MAP_SIZE <= 10 -#include -#elif FUSION_MAX_MAP_SIZE <= 20 -#include -#elif FUSION_MAX_MAP_SIZE <= 30 -#include -#elif FUSION_MAX_MAP_SIZE <= 40 -#include -#elif FUSION_MAX_MAP_SIZE <= 50 -#include -#else -#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp deleted file mode 100644 index 2bd38de9f..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp +++ /dev/null @@ -1,252 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ - , typename Extra = void_ - > - struct map_tie; - template <> - struct map_tie<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - map_tie() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct map_tie - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - map_tie(D0 & arg0) - { - return map::type> >( - fusion::pair_tie(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp deleted file mode 100644 index db8f7af6f..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp +++ /dev/null @@ -1,472 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ - , typename Extra = void_ - > - struct map_tie; - template <> - struct map_tie<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - map_tie() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct map_tie - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - map_tie(D0 & arg0) - { - return map::type> >( - fusion::pair_tie(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp deleted file mode 100644 index b9b0e8de8..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp +++ /dev/null @@ -1,692 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ - , typename Extra = void_ - > - struct map_tie; - template <> - struct map_tie<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - map_tie() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct map_tie - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - map_tie(D0 & arg0) - { - return map::type> >( - fusion::pair_tie(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp deleted file mode 100644 index 2ab7916e6..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp +++ /dev/null @@ -1,912 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ - , typename Extra = void_ - > - struct map_tie; - template <> - struct map_tie<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - map_tie() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct map_tie - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - map_tie(D0 & arg0) - { - return map::type> >( - fusion::pair_tie(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp deleted file mode 100644 index 6ce538910..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp +++ /dev/null @@ -1,1132 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename K0 = void_ , typename K1 = void_ , typename K2 = void_ , typename K3 = void_ , typename K4 = void_ , typename K5 = void_ , typename K6 = void_ , typename K7 = void_ , typename K8 = void_ , typename K9 = void_ , typename K10 = void_ , typename K11 = void_ , typename K12 = void_ , typename K13 = void_ , typename K14 = void_ , typename K15 = void_ , typename K16 = void_ , typename K17 = void_ , typename K18 = void_ , typename K19 = void_ , typename K20 = void_ , typename K21 = void_ , typename K22 = void_ , typename K23 = void_ , typename K24 = void_ , typename K25 = void_ , typename K26 = void_ , typename K27 = void_ , typename K28 = void_ , typename K29 = void_ , typename K30 = void_ , typename K31 = void_ , typename K32 = void_ , typename K33 = void_ , typename K34 = void_ , typename K35 = void_ , typename K36 = void_ , typename K37 = void_ , typename K38 = void_ , typename K39 = void_ , typename K40 = void_ , typename K41 = void_ , typename K42 = void_ , typename K43 = void_ , typename K44 = void_ , typename K45 = void_ , typename K46 = void_ , typename K47 = void_ , typename K48 = void_ , typename K49 = void_ - , typename D0 = void_ , typename D1 = void_ , typename D2 = void_ , typename D3 = void_ , typename D4 = void_ , typename D5 = void_ , typename D6 = void_ , typename D7 = void_ , typename D8 = void_ , typename D9 = void_ , typename D10 = void_ , typename D11 = void_ , typename D12 = void_ , typename D13 = void_ , typename D14 = void_ , typename D15 = void_ , typename D16 = void_ , typename D17 = void_ , typename D18 = void_ , typename D19 = void_ , typename D20 = void_ , typename D21 = void_ , typename D22 = void_ , typename D23 = void_ , typename D24 = void_ , typename D25 = void_ , typename D26 = void_ , typename D27 = void_ , typename D28 = void_ , typename D29 = void_ , typename D30 = void_ , typename D31 = void_ , typename D32 = void_ , typename D33 = void_ , typename D34 = void_ , typename D35 = void_ , typename D36 = void_ , typename D37 = void_ , typename D38 = void_ , typename D39 = void_ , typename D40 = void_ , typename D41 = void_ , typename D42 = void_ , typename D43 = void_ , typename D44 = void_ , typename D45 = void_ , typename D46 = void_ , typename D47 = void_ , typename D48 = void_ , typename D49 = void_ - , typename Extra = void_ - > - struct map_tie; - template <> - struct map_tie<> - { - typedef map<> type; - }; - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map<> - map_tie() - { - return map<>(); - } - namespace result_of - { - template < - typename K0 - , typename D0 - > - struct map_tie - { - typedef map::type> > type; - }; - } - template < - typename K0 - , typename D0 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> > - map_tie(D0 & arg0) - { - return map::type> >( - fusion::pair_tie(arg0)); - } - namespace result_of - { - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 - , typename D0 , typename D1 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 - , typename D0 , typename D1 , typename D2 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 - , typename D0 , typename D1 , typename D2 , typename D3 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48)); - } - namespace result_of - { - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 - > - struct map_tie - { - typedef map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > type; - }; - } - template < - typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 - , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > - map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48 , D49 & arg49) - { - return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> >( - fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48) , fusion::pair_tie(arg49)); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp deleted file mode 100644 index 2db73200a..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp deleted file mode 100644 index dc9d8261c..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp +++ /dev/null @@ -1,180 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - , typename Extra = void_ - > - struct vector_tie; - } - namespace result_of - { - template - struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0) - { - return vector( - arg0); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1) - { - return vector( - arg0 , arg1); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return vector( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return vector( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp deleted file mode 100644 index 1a8838311..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp +++ /dev/null @@ -1,340 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - , typename Extra = void_ - > - struct vector_tie; - } - namespace result_of - { - template - struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0) - { - return vector( - arg0); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1) - { - return vector( - arg0 , arg1); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return vector( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return vector( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp deleted file mode 100644 index f964e97b9..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp +++ /dev/null @@ -1,500 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - , typename Extra = void_ - > - struct vector_tie; - } - namespace result_of - { - template - struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0) - { - return vector( - arg0); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1) - { - return vector( - arg0 , arg1); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return vector( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return vector( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp deleted file mode 100644 index 193018d36..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp +++ /dev/null @@ -1,660 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - , typename Extra = void_ - > - struct vector_tie; - } - namespace result_of - { - template - struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0) - { - return vector( - arg0); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1) - { - return vector( - arg0 , arg1); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return vector( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return vector( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp b/external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp deleted file mode 100644 index 91c9b115a..000000000 --- a/external/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp +++ /dev/null @@ -1,820 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - namespace result_of - { - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - , typename Extra = void_ - > - struct vector_tie; - } - namespace result_of - { - template - struct vector_tie< T0 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0) - { - return vector( - arg0); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1) - { - return vector( - arg0 , arg1); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return vector( - arg0 , arg1 , arg2); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return vector( - arg0 , arg1 , arg2 , arg3); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , void_ , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , void_ , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , void_ , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , void_ , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , void_ , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , void_ , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - namespace result_of - { - template - struct vector_tie< T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49 , void_ > - { - typedef vector type; - }; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) - { - return vector( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/container/generation/ignore.hpp b/external/boost/fusion/container/generation/ignore.hpp deleted file mode 100644 index 781966322..000000000 --- a/external/boost/fusion/container/generation/ignore.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001 Doug Gregor - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_IGNORE_07192005_0329) -#define FUSION_IGNORE_07192005_0329 - -#include - -namespace boost { namespace fusion -{ - // Swallows any assignment (by Doug Gregor) - namespace detail - { - struct swallow_assign - { - template - BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED - swallow_assign const& - operator=(const T&) const - { - return *this; - } - }; - } - - // "ignore" allows tuple positions to be ignored when using "tie". - BOOST_CONSTEXPR_OR_CONST detail::swallow_assign ignore = detail::swallow_assign(); -}} - -#endif diff --git a/external/boost/fusion/container/generation/list_tie.hpp b/external/boost/fusion/container/generation/list_tie.hpp deleted file mode 100644 index 919071674..000000000 --- a/external/boost/fusion/container/generation/list_tie.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_LIST_TIE_06182015_0825 -#define FUSION_LIST_TIE_06182015_0825 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct list_tie - { - typedef list type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline list - list_tie(T&... arg) - { - return list(arg...); - } -}} - -#endif - -#endif - diff --git a/external/boost/fusion/container/generation/make_cons.hpp b/external/boost/fusion/container/generation/make_cons.hpp deleted file mode 100644 index 616f11054..000000000 --- a/external/boost/fusion/container/generation/make_cons.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAKE_CONS_07172005_0918) -#define FUSION_MAKE_CONS_07172005_0918 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - namespace result_of - { - template - struct make_cons - { - typedef cons::type, Cdr> type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline cons::type> - make_cons(Car const& car) - { - return cons::type>(car); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline cons::type, Cdr> - make_cons(Car const& car, Cdr const& cdr) - { - return cons::type, Cdr>(car, cdr); - } -}} - -#endif - diff --git a/external/boost/fusion/container/generation/make_deque.hpp b/external/boost/fusion/container/generation/make_deque.hpp deleted file mode 100644 index cb802f9ae..000000000 --- a/external/boost/fusion/container/generation/make_deque.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAKE_DEQUE_01272013_1401) -#define FUSION_MAKE_DEQUE_01272013_1401 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// - -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct make_deque - { - typedef deque::type...> type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline deque::type...> - make_deque(T const&... arg) - { - return deque::type...>(arg...); - } - }} - -#endif -#endif - diff --git a/external/boost/fusion/container/generation/make_list.hpp b/external/boost/fusion/container/generation/make_list.hpp deleted file mode 100644 index e88f553a2..000000000 --- a/external/boost/fusion/container/generation/make_list.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_MAKE_LIST_10262014_0647 -#define FUSION_MAKE_LIST_10262014_0647 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// - -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct make_list - { - typedef list::type...> type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::make_list::type - make_list(T const&... arg) - { - return typename result_of::make_list::type(arg...); - } - }} - - -#endif -#endif - diff --git a/external/boost/fusion/container/generation/make_map.hpp b/external/boost/fusion/container/generation/make_map.hpp deleted file mode 100644 index a6538f814..000000000 --- a/external/boost/fusion/container/generation/make_map.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAKE_MAP_07222005_1247) -#define FUSION_MAKE_MAP_07222005_1247 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct make_map - { - template - struct apply - { - typedef map< - fusion::pair< - Key - , typename detail::as_fusion_element::type - >...> - type; - }; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map< - fusion::pair< - Key - , typename detail::as_fusion_element::type - >...> - make_map(T const&... arg) - { - typedef map< - fusion::pair< - Key - , typename detail::as_fusion_element::type - >...> - result_type; - - return result_type(arg...); - } - }} - -#endif -#endif diff --git a/external/boost/fusion/container/generation/make_set.hpp b/external/boost/fusion/container/generation/make_set.hpp deleted file mode 100644 index cd8519e54..000000000 --- a/external/boost/fusion/container/generation/make_set.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_MAKE_SET_11112014_2255 -#define FUSION_MAKE_SET_11112014_2255 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct make_set - { - typedef set< - typename detail::as_fusion_element< - typename remove_const< - typename remove_reference::type - >::type - >::type... - > type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::make_set::type - make_set(T&&... arg) - { - return typename result_of::make_set::type(std::forward(arg)...); - } - }} - - -#endif -#endif - diff --git a/external/boost/fusion/container/generation/make_vector.hpp b/external/boost/fusion/container/generation/make_vector.hpp deleted file mode 100644 index 4e4bcb2de..000000000 --- a/external/boost/fusion/container/generation/make_vector.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_MAKE_VECTOR_11112014_2252 -#define FUSION_MAKE_VECTOR_11112014_2252 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct make_vector - { - typedef vector< - typename detail::as_fusion_element< - typename remove_const< - typename remove_reference::type - >::type - >::type... - > type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::make_vector::type - make_vector(T&&... arg) - { - return typename result_of::make_vector::type(std::forward(arg)...); - } - }} - - -#endif -#endif - diff --git a/external/boost/fusion/container/generation/map_tie.hpp b/external/boost/fusion/container/generation/map_tie.hpp deleted file mode 100644 index 259eee5fd..000000000 --- a/external/boost/fusion/container/generation/map_tie.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAP_TIE_07222005_1247) -#define FUSION_MAP_TIE_07222005_1247 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct map_tie - { - template - struct apply - { - typedef map...> type; - }; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline map...> - map_tie(T&... arg) - { - typedef map...> result_type; - return result_type(arg...); - } - }} - -#endif -#endif diff --git a/external/boost/fusion/container/generation/pair_tie.hpp b/external/boost/fusion/container/generation/pair_tie.hpp deleted file mode 100644 index 2ba128f55..000000000 --- a/external/boost/fusion/container/generation/pair_tie.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined (BOOST_FUSION_PAIR_TIE_20060812_2058) -#define BOOST_FUSION_PAIR_TIE_20060812_2058 - -#include -#include -#include - -namespace boost { namespace fusion { - - template - struct pair; - - namespace result_of - { - template - struct pair_tie - { - typedef fusion::pair type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename disable_if, typename result_of::pair_tie::type>::type - pair_tie(T& t) - { - return typename result_of::pair_tie::type(t); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::pair_tie::type - pair_tie(T const& t) - { - return typename result_of::pair_tie::type(t); - } -}} - -#endif diff --git a/external/boost/fusion/container/generation/vector_tie.hpp b/external/boost/fusion/container/generation/vector_tie.hpp deleted file mode 100644 index 5d7cb98bc..000000000 --- a/external/boost/fusion/container/generation/vector_tie.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR_TIE_11112014_2302 -#define FUSION_VECTOR_TIE_11112014_2302 - -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic interface -/////////////////////////////////////////////////////////////////////////////// - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct vector_tie - { - typedef vector type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(T&... arg) - { - return vector(arg...); - } - }} - - -#endif -#endif - diff --git a/external/boost/fusion/container/list.hpp b/external/boost/fusion/container/list.hpp deleted file mode 100644 index e3a1d8eff..000000000 --- a/external/boost/fusion/container/list.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CLASS_LIST_10022005_0605) -#define FUSION_SEQUENCE_CLASS_LIST_10022005_0605 - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/container/list/cons.hpp b/external/boost/fusion/container/list/cons.hpp deleted file mode 100644 index 0dd91b0c3..000000000 --- a/external/boost/fusion/container/list/cons.hpp +++ /dev/null @@ -1,144 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONS_07172005_0843) -#define FUSION_CONS_07172005_0843 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_tag; - struct forward_traversal_tag; - struct fusion_sequence_tag; - - template - struct cons : sequence_base > - { - typedef mpl::int_ size; - typedef cons_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef forward_traversal_tag category; - typedef Car car_type; - typedef Cdr cdr_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons() - : car(), cdr() {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit cons(typename detail::call_param::type in_car) - : car(in_car), cdr() {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons( - typename detail::call_param::type in_car - , typename detail::call_param::type in_cdr) - : car(in_car), cdr(in_cdr) {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons(cons const& rhs) - : car(rhs.car), cdr(rhs.cdr) {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons(cons const& rhs) - : car(rhs.car), cdr(rhs.cdr) {} - - template - BOOST_FUSION_GPU_ENABLED - cons( - Sequence const& seq - , typename boost::enable_if< - mpl::and_< - traits::is_sequence - , mpl::not_ > - , mpl::not_ > > // use copy to car instead - , detail::enabler_ - >::type = detail::enabler - ) - : car(*fusion::begin(seq)) - , cdr(fusion::next(fusion::begin(seq)), mpl::true_()) {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons(Iterator const& iter, mpl::true_ /*this_is_an_iterator*/) - : car(*iter) - , cdr(fusion::next(iter), mpl::true_()) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons& operator=(cons const& rhs) - { - car = rhs.car; - cdr = rhs.cdr; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons& operator=(cons const& rhs) - { - car = rhs.car; - cdr = rhs.cdr; - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::enable_if< - mpl::and_< - traits::is_sequence - , mpl::not_ > > - , cons&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type Iterator; - Iterator iter = fusion::begin(seq); - this->assign_from_iter(iter); - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void assign_from_iter(Iterator const& iter) - { - car = *iter; - cdr.assign_from_iter(fusion::next(iter)); - } - - car_type car; - cdr_type cdr; - }; -}} - -#endif - diff --git a/external/boost/fusion/container/list/cons_fwd.hpp b/external/boost/fusion/container/list/cons_fwd.hpp deleted file mode 100644 index 547c42ca9..000000000 --- a/external/boost/fusion/container/list/cons_fwd.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_CONS_FWD_HPP_INCLUDED) -#define BOOST_FUSION_CONS_FWD_HPP_INCLUDED - -namespace boost { namespace fusion -{ - struct nil_; - #ifndef nil - typedef nil_ nil; - #endif - - template - struct cons; -}} - -#endif - diff --git a/external/boost/fusion/container/list/cons_iterator.hpp b/external/boost/fusion/container/list/cons_iterator.hpp deleted file mode 100644 index 58b7fd9e3..000000000 --- a/external/boost/fusion/container/list/cons_iterator.hpp +++ /dev/null @@ -1,111 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONS_ITERATOR_07172005_0849) -#define FUSION_CONS_ITERATOR_07172005_0849 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - struct cons_iterator_tag; - struct forward_traversal_tag; - - template - struct cons_iterator_identity; - - template - struct cons_iterator : iterator_base > - { - typedef cons_iterator_tag fusion_tag; - typedef forward_traversal_tag category; - typedef Cons cons_type; - typedef cons_iterator_identity< - typename add_const::type> - identity; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(cons_type& in_cons) BOOST_NOEXCEPT - : cons(in_cons) {} - - cons_type& cons; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - cons_iterator& operator= (cons_iterator const&); - }; - - struct nil_iterator : iterator_base - { - typedef forward_traversal_tag category; - typedef cons_iterator_tag fusion_tag; - typedef nil_ cons_type; - typedef cons_iterator_identity< - add_const::type> - identity; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - nil_iterator() BOOST_NOEXCEPT {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit nil_iterator(nil_ const&) BOOST_NOEXCEPT {} - }; - - template <> - struct cons_iterator : nil_iterator - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons_iterator() BOOST_NOEXCEPT {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} - }; - - template <> - struct cons_iterator : nil_iterator - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons_iterator() BOOST_NOEXCEPT {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} - }; - - template <> - struct cons_iterator > : nil_iterator - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons_iterator() BOOST_NOEXCEPT {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} - }; - - template <> - struct cons_iterator const> : nil_iterator - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - cons_iterator() BOOST_NOEXCEPT {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::cons_iterator > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/container/list/convert.hpp b/external/boost/fusion/container/list/convert.hpp deleted file mode 100644 index d85fafebd..000000000 --- a/external/boost/fusion/container/list/convert.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_09232005_1215) -#define FUSION_CONVERT_09232005_1215 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_list - { - typedef typename - detail::build_cons< - typename result_of::begin::type - , typename result_of::end::type - > - build_cons; - - typedef typename build_cons::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return build_cons::call(fusion::begin(seq), fusion::end(seq)); - } - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_list::type - as_list(Sequence& seq) - { - return result_of::as_list::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_list::type - as_list(Sequence const& seq) - { - return result_of::as_list::call(seq); - } -}} - -#endif diff --git a/external/boost/fusion/container/list/detail/at_impl.hpp b/external/boost/fusion/container/list/detail/at_impl.hpp deleted file mode 100644 index ab36665c1..000000000 --- a/external/boost/fusion/container/list/detail/at_impl.hpp +++ /dev/null @@ -1,136 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AT_IMPL_07172005_0726) -#define FUSION_AT_IMPL_07172005_0726 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace detail - { - template - struct cons_deref - { - typedef typename Cons::car_type type; - }; - - template - struct cons_advance - { - typedef typename - cons_advance::type::cdr_type - type; - }; - - template - struct cons_advance - { - typedef Cons type; - }; - - template - struct cons_advance - { - typedef typename Cons::cdr_type type; - }; - - template - struct cons_advance - { -#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above - typedef typename Cons::cdr_type::cdr_type type; -#else - typedef typename Cons::cdr_type _a; - typedef typename _a::cdr_type type; -#endif - }; - - template - struct cons_advance - { -#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above - typedef typename Cons::cdr_type::cdr_type::cdr_type type; -#else - typedef typename Cons::cdr_type _a; - typedef typename _a::cdr_type _b; - typedef typename _b::cdr_type type; -#endif - }; - - template - struct cons_advance - { -#if BOOST_WORKAROUND(BOOST_MSVC, > 1400) // VC8 and above - typedef typename Cons::cdr_type::cdr_type::cdr_type::cdr_type type; -#else - typedef typename Cons::cdr_type _a; - typedef typename _a::cdr_type _b; - typedef typename _b::cdr_type _c; - typedef typename _c::cdr_type type; -#endif - }; - } - - struct cons_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename detail::cons_deref< - typename detail::cons_advance::type>::type - element; - - typedef typename - mpl::if_< - is_const - , typename detail::cref_result::type - , typename detail::ref_result::type - >::type - type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Cons& s, mpl::int_) - { - return call(s.cdr, mpl::int_()); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Cons& s, mpl::int_<0>) - { - return s.car; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return call(s, mpl::int_()); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/list/detail/begin_impl.hpp b/external/boost/fusion/container/list/detail/begin_impl.hpp deleted file mode 100644 index 088b382d1..000000000 --- a/external/boost/fusion/container/list/detail/begin_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_07172005_0824) -#define FUSION_BEGIN_IMPL_07172005_0824 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - struct cons_tag; - - template - struct cons; - - template - struct cons_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef cons_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& t) - { - return type(t); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/list/detail/build_cons.hpp b/external/boost/fusion/container/list/detail/build_cons.hpp deleted file mode 100644 index 206af1f13..000000000 --- a/external/boost/fusion/container/list/detail/build_cons.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BUILD_CONS_09232005_1222) -#define FUSION_BUILD_CONS_09232005_1222 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template < - typename First - , typename Last - , bool is_empty = result_of::equal_to::value> - struct build_cons; - - template - struct build_cons - { - typedef nil_ type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static nil_ - call(First const&, Last const&) - { - return nil_(); - } - }; - - template - struct build_cons - { - typedef - build_cons::type, Last> - next_build_cons; - - typedef cons< - typename result_of::value_of::type - , typename next_build_cons::type> - type; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& f, Last const& l) - { - typename result_of::value_of::type v = *f; - return type(v, next_build_cons::call(fusion::next(f), l)); - } - }; - -}}} - -#endif diff --git a/external/boost/fusion/container/list/detail/convert_impl.hpp b/external/boost/fusion/container/list/detail/convert_impl.hpp deleted file mode 100644 index ff010186a..000000000 --- a/external/boost/fusion/container/list/detail/convert_impl.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_IMPL_09232005_1215) -#define FUSION_CONVERT_IMPL_09232005_1215 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename - detail::build_cons< - typename result_of::begin::type - , typename result_of::end::type - > - build_cons; - - typedef typename build_cons::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return build_cons::call(fusion::begin(seq), fusion::end(seq)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/limits.hpp b/external/boost/fusion/container/list/detail/cpp03/limits.hpp deleted file mode 100644 index cc64ad722..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/limits.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LIST_LIMITS_07172005_0112) -#define FUSION_LIST_LIMITS_07172005_0112 - -#include - -#if !defined(FUSION_MAX_LIST_SIZE) -# define FUSION_MAX_LIST_SIZE 10 -#else -# if FUSION_MAX_LIST_SIZE < 3 -# undef FUSION_MAX_LIST_SIZE -# define FUSION_MAX_LIST_SIZE 10 -# endif -#endif - -#define FUSION_MAX_LIST_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_LIST_SIZE)) - -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list.hpp b/external/boost/fusion/container/list/detail/cpp03/list.hpp deleted file mode 100644 index 048d59b6b..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/list.hpp +++ /dev/null @@ -1,104 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LIST_07172005_1153) -#define FUSION_LIST_07172005_1153 - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list" FUSION_MAX_LIST_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - typedef typename list_to_cons::type inherited_type; - - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : inherited_type(rhs) {} - - // Expand a couple of forwarding constructors for arguments - // of type (T0), (T0, T1), (T0, T1, T2) etc. Exanple: - // - // list( - // typename detail::call_param::type arg0 - // , typename detail::call_param::type arg1) - // : inherited_type(list_to_cons::call(arg0, arg1)) {} - #include - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::enable_if, list&>::type - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp b/external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp deleted file mode 100644 index f9a706786..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_LIST_FORWARD_CTOR_07172005_0113) -#define FUSION_LIST_FORWARD_CTOR_07172005_0113 - -#include -#include -#include -#include -#include - -#define FUSION_LIST_CTOR_MAKE_CONS(z, n, type) tie_cons(BOOST_PP_CAT(_, n) -#define FUSION_LIST_CL_PAREN(z, n, type) ) - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#undef FUSION_LIST_CTOR_MAKE_CONS -#undef FUSION_LIST_CL_PAREN - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -#if N == 1 - explicit -#endif - list(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type arg)) - : inherited_type(list_to_cons::call(BOOST_PP_ENUM_PARAMS(N, arg))) - {} - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp deleted file mode 100644 index cedc70034..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/list_fwd.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LIST_FORWARD_07172005_0224) -#define FUSION_LIST_FORWARD_07172005_0224 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list" FUSION_MAX_LIST_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - > - struct list; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp b/external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp deleted file mode 100644 index 989e91abe..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LIST_TO_CONS_07172005_1041) -#define FUSION_LIST_TO_CONS_07172005_1041 - -#include -#include -#include -#include -#include -#include -#include - -#define FUSION_VOID(z, n, _) void_ - -namespace boost { namespace fusion -{ - struct nil_; - struct void_; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - - typedef cons type; - - #include - }; - - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_VOID -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp b/external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp deleted file mode 100644 index e49db4a84..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp +++ /dev/null @@ -1,44 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_LIST_TO_CONS_CALL_07192005_0138) -#define FUSION_LIST_TO_CONS_CALL_07192005_0138 - -#include -#include -#include - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type arg)) - { - return type(arg0 -#if N > 1 - , tail_list_to_cons::call(BOOST_PP_ENUM_SHIFTED_PARAMS(N, arg))); -#else - ); -#endif - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp deleted file mode 100644 index 7af66f496..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_LIST_SIZE <= 10 -#include -#elif FUSION_MAX_LIST_SIZE <= 20 -#include -#elif FUSION_MAX_LIST_SIZE <= 30 -#include -#elif FUSION_MAX_LIST_SIZE <= 40 -#include -#elif FUSION_MAX_LIST_SIZE <= 50 -#include -#else -#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp deleted file mode 100644 index 818dc5286..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp +++ /dev/null @@ -1,100 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - typedef typename list_to_cons::type inherited_type; - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : inherited_type(rhs) {} - - - - - - - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type arg0) - : inherited_type(list_to_cons::call(arg0)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : inherited_type(list_to_cons::call(arg0 , arg1)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::enable_if, list&>::type - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp deleted file mode 100644 index f513a9919..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - > - struct list; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp deleted file mode 100644 index 3c3c3f6c5..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - typedef typename list_to_cons::type inherited_type; - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : inherited_type(rhs) {} - - - - - - - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type arg0) - : inherited_type(list_to_cons::call(arg0)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : inherited_type(list_to_cons::call(arg0 , arg1)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::enable_if, list&>::type - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp deleted file mode 100644 index 2eedc8b29..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - > - struct list; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp deleted file mode 100644 index 143dce676..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp +++ /dev/null @@ -1,180 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - typedef typename list_to_cons::type inherited_type; - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : inherited_type(rhs) {} - - - - - - - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type arg0) - : inherited_type(list_to_cons::call(arg0)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : inherited_type(list_to_cons::call(arg0 , arg1)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::enable_if, list&>::type - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp deleted file mode 100644 index 32bfc606f..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - > - struct list; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp deleted file mode 100644 index 00e16041d..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp +++ /dev/null @@ -1,220 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - typedef typename list_to_cons::type inherited_type; - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : inherited_type(rhs) {} - - - - - - - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type arg0) - : inherited_type(list_to_cons::call(arg0)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : inherited_type(list_to_cons::call(arg0 , arg1)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::enable_if, list&>::type - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp deleted file mode 100644 index 5d0da6df4..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - > - struct list; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp deleted file mode 100644 index b948f40a6..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp +++ /dev/null @@ -1,260 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - typedef typename list_to_cons::type inherited_type; - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : inherited_type(rhs) {} - - - - - - - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type arg0) - : inherited_type(list_to_cons::call(arg0)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : inherited_type(list_to_cons::call(arg0 , arg1)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)) - {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)) - {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::enable_if, list&>::type - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp deleted file mode 100644 index 2b3ae66cb..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - > - struct list; -}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp deleted file mode 100644 index 8a4037da4..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_LIST_SIZE <= 10 -#include -#elif FUSION_MAX_LIST_SIZE <= 20 -#include -#elif FUSION_MAX_LIST_SIZE <= 30 -#include -#elif FUSION_MAX_LIST_SIZE <= 40 -#include -#elif FUSION_MAX_LIST_SIZE <= 50 -#include -#else -#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp deleted file mode 100644 index d9ee9bb24..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_LIST_SIZE <= 10 -#include -#elif FUSION_MAX_LIST_SIZE <= 20 -#include -#elif FUSION_MAX_LIST_SIZE <= 30 -#include -#elif FUSION_MAX_LIST_SIZE <= 40 -#include -#elif FUSION_MAX_LIST_SIZE <= 50 -#include -#else -#error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp deleted file mode 100644 index a98a8cc55..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp +++ /dev/null @@ -1,96 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0) - { - return type(arg0 - ); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - { - return type(arg0 - , tail_list_to_cons::call(arg1)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp deleted file mode 100644 index 3adce01d8..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp +++ /dev/null @@ -1,166 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0) - { - return type(arg0 - ); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - { - return type(arg0 - , tail_list_to_cons::call(arg1)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp deleted file mode 100644 index 7a834a706..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp +++ /dev/null @@ -1,236 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0) - { - return type(arg0 - ); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - { - return type(arg0 - , tail_list_to_cons::call(arg1)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp deleted file mode 100644 index 731782dbf..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp +++ /dev/null @@ -1,306 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0) - { - return type(arg0 - ); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - { - return type(arg0 - , tail_list_to_cons::call(arg1)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp b/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp deleted file mode 100644 index e25371b5a..000000000 --- a/external/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp +++ /dev/null @@ -1,376 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0) - { - return type(arg0 - ); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - { - return type(arg0 - , tail_list_to_cons::call(arg1)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)); - } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - { - return type(arg0 - , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/external/boost/fusion/container/list/detail/deref_impl.hpp b/external/boost/fusion/container/list/detail/deref_impl.hpp deleted file mode 100644 index 3358a2a2f..000000000 --- a/external/boost/fusion/container/list/detail/deref_impl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_IMPL_07172005_0831) -#define FUSION_DEREF_IMPL_07172005_0831 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename Iterator::cons_type cons_type; - typedef typename cons_type::car_type value_type; - - typedef typename mpl::eval_if< - is_const - , add_reference::type> - , add_reference >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.cons.car; - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/container/list/detail/empty_impl.hpp b/external/boost/fusion/container/list/detail/empty_impl.hpp deleted file mode 100644 index e25eab0bc..000000000 --- a/external/boost/fusion/container/list/detail/empty_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_SEQUENCE_EMPTY_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_tag; - - struct nil_; - - template - struct cons; - - namespace extension - { - template - struct empty_impl; - - template <> - struct empty_impl - { - template - struct apply - : boost::is_convertible - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/list/detail/end_impl.hpp b/external/boost/fusion/container/list/detail/end_impl.hpp deleted file mode 100644 index 6ed05a5f3..000000000 --- a/external/boost/fusion/container/list/detail/end_impl.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_07172005_0828) -#define FUSION_END_IMPL_07172005_0828 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - struct cons_tag; - - template - struct cons; - - template - struct cons_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef cons_iterator< - typename mpl::if_, nil_ const, nil_>::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence&) - { - return type(); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/list/detail/equal_to_impl.hpp b/external/boost/fusion/container/list/detail/equal_to_impl.hpp deleted file mode 100644 index a0fc297fc..000000000 --- a/external/boost/fusion/container/list/detail/equal_to_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_IMPL_09172005_1120) -#define FUSION_EQUAL_TO_IMPL_09172005_1120 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - namespace extension - { - template - struct equal_to_impl; - - template <> - struct equal_to_impl - { - template - struct apply - : is_same< - typename I1::identity - , typename I2::identity - > - { - }; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/container/list/detail/list_to_cons.hpp b/external/boost/fusion/container/list/detail/list_to_cons.hpp deleted file mode 100644 index 1ce1cfbaf..000000000 --- a/external/boost/fusion/container/list/detail/list_to_cons.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_LIST_MAIN_10262014_0447 -#define FUSION_LIST_MAIN_10262014_0447 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons; - - template <> - struct list_to_cons<> - { - typedef nil_ type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call() { return type(); } - }; - - template - struct list_to_cons - { - typedef Head head_type; - typedef list_to_cons tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - - typedef cons type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _h, - typename detail::call_param::type ..._t) - { - return type(_h, tail_list_to_cons::call(_t...)); - } - }; -}}} - -#endif -#endif diff --git a/external/boost/fusion/container/list/detail/next_impl.hpp b/external/boost/fusion/container/list/detail/next_impl.hpp deleted file mode 100644 index f766458be..000000000 --- a/external/boost/fusion/container/list/detail/next_impl.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_07172005_0836) -#define FUSION_NEXT_IMPL_07172005_0836 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - template - struct cons_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::cons_type cons_type; - typedef typename cons_type::cdr_type cdr_type; - - typedef cons_iterator< - typename mpl::eval_if< - is_const - , add_const - , mpl::identity - >::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.cons.cdr); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/container/list/detail/reverse_cons.hpp b/external/boost/fusion/container/list/detail/reverse_cons.hpp deleted file mode 100644 index 14905180f..000000000 --- a/external/boost/fusion/container/list/detail/reverse_cons.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED) -#define BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED - -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - //////////////////////////////////////////////////////////////////////////// - template - struct reverse_cons; - - template - struct reverse_cons, State> - { - typedef reverse_cons > impl; - typedef typename impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(cons const &cons, State const &state = State()) - { - typedef fusion::cons cdr_type; - return impl::call(cons.cdr, cdr_type(cons.car, state)); - } - }; - - template - struct reverse_cons - { - typedef State type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static State const &call(nil_ const &, State const &state = State()) - { - return state; - } - }; -}}} - -#endif diff --git a/external/boost/fusion/container/list/detail/value_at_impl.hpp b/external/boost/fusion/container/list/detail/value_at_impl.hpp deleted file mode 100644 index 8b288a12b..000000000 --- a/external/boost/fusion/container/list/detail/value_at_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_AT_IMPL_07172005_0952) -#define FUSION_VALUE_AT_IMPL_07172005_0952 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename - mpl::eval_if< - mpl::bool_ - , mpl::identity - , apply > - >::type - type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/list/detail/value_of_impl.hpp b/external/boost/fusion/container/list/detail/value_of_impl.hpp deleted file mode 100644 index 9e7aa2085..000000000 --- a/external/boost/fusion/container/list/detail/value_of_impl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_OF_IMPL_07172005_0838) -#define FUSION_VALUE_OF_IMPL_07172005_0838 - -namespace boost { namespace fusion -{ - struct cons_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename Iterator::cons_type cons_type; - typedef typename cons_type::car_type type; - }; - }; - } - -}} - -#endif - - diff --git a/external/boost/fusion/container/list/list.hpp b/external/boost/fusion/container/list/list.hpp deleted file mode 100644 index 865a6d7de..000000000 --- a/external/boost/fusion/container/list/list.hpp +++ /dev/null @@ -1,127 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_LIST_10262014_0537 -#define FUSION_LIST_10262014_0537 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - template <> - struct list<> - : detail::list_to_cons<>::type - { - private: - typedef detail::list_to_cons<> list_to_cons; - typedef list_to_cons::type inherited_type; - - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } -#else - template - BOOST_FUSION_GPU_ENABLED - list(Sequence&& rhs) - : inherited_type(std::forward(rhs)) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(Sequence&& rhs) - { - inherited_type::operator=(std::forward(rhs)); - return *this; - } -#endif - }; - - template - struct list - : detail::list_to_cons::type - { - private: - typedef detail::list_to_cons list_to_cons; - typedef typename list_to_cons::type inherited_type; - - public: - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - -#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} -#else - template - BOOST_FUSION_GPU_ENABLED - list(Sequence&& rhs) - : inherited_type(std::forward(rhs)) {} -#endif - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type ...args) - : inherited_type(list_to_cons::call(args...)) {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(Sequence const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } -#else - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - list& - operator=(Sequence&& rhs) - { - inherited_type::operator=(std::forward(rhs)); - return *this; - } -#endif - }; -}} - -#endif -#endif diff --git a/external/boost/fusion/container/list/list_fwd.hpp b/external/boost/fusion/container/list/list_fwd.hpp deleted file mode 100644 index c5f261926..000000000 --- a/external/boost/fusion/container/list/list_fwd.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_LIST_FORWARD_10262014_0528 -#define FUSION_LIST_FORWARD_10262014_0528 - -#include -#include - -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ - || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -# if defined(BOOST_FUSION_HAS_VARIADIC_LIST) -# undef BOOST_FUSION_HAS_VARIADIC_LIST -# endif -#else -# if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) -# define BOOST_FUSION_HAS_VARIADIC_LIST -# endif -#endif - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion -{ - struct void_; - - template - struct list; -}} - -#endif -#endif diff --git a/external/boost/fusion/container/list/nil.hpp b/external/boost/fusion/container/list/nil.hpp deleted file mode 100644 index 1b2c23498..000000000 --- a/external/boost/fusion/container/list/nil.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005, 2014 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NIL_04232014_0843) -#define FUSION_NIL_04232014_0843 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - struct cons_tag; - struct forward_traversal_tag; - struct fusion_sequence_tag; - - struct nil_ : sequence_base - { - typedef mpl::int_<0> size; - typedef cons_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef forward_traversal_tag category; - typedef void_ car_type; - typedef void_ cdr_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - nil_() BOOST_NOEXCEPT {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/) BOOST_NOEXCEPT - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void assign_from_iter(Iterator const& /*iter*/) BOOST_NOEXCEPT - { - } - }; -}} - -#endif - diff --git a/external/boost/fusion/container/map.hpp b/external/boost/fusion/container/map.hpp deleted file mode 100644 index 959988981..000000000 --- a/external/boost/fusion/container/map.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CLASS_MAP_10022005_0606) -#define FUSION_SEQUENCE_CLASS_MAP_10022005_0606 - -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/container/map/convert.hpp b/external/boost/fusion/container/map/convert.hpp deleted file mode 100644 index 10431c849..000000000 --- a/external/boost/fusion/container/map/convert.hpp +++ /dev/null @@ -1,117 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_MAIN_09232005_1340) -#define FUSION_CONVERT_MAIN_09232005_1340 - -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct pair_from - { - typedef typename result_of::value_of::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type call(It const& it) - { - return *it; - } - }; - - template - struct pair_from - { - typedef typename result_of::key_of::type key_type; - typedef typename result_of::value_of_data::type data_type; - typedef typename fusion::pair type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type call(It const& it) - { - return type(deref_data(it)); - } - }; -}}} - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# include - -#else -/////////////////////////////////////////////////////////////////////////////// -// C++11 variadic implementation -/////////////////////////////////////////////////////////////////////////////// -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_map : - detail::build_map< - typename result_of::begin::type - , typename result_of::end::type - , is_base_of< - associative_tag - , typename traits::category_of::type>::value - > - { - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence& seq) - { - typedef result_of::as_map gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence const& seq) - { - typedef result_of::as_map gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename - result_of::as_map::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - typedef result_of::as_map gen; - return gen::call(fusion::begin(seq), fusion::end(seq)); - } - }; - }; - } -}} - -#endif -#endif - diff --git a/external/boost/fusion/container/map/detail/at_impl.hpp b/external/boost/fusion/container/map/detail/at_impl.hpp deleted file mode 100644 index ab35870ff..000000000 --- a/external/boost/fusion/container/map/detail/at_impl.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821) -#define BOOST_FUSION_MAP_DETAIL_AT_IMPL_02042013_0821 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef mpl::int_ index; - typedef - decltype(boost::declval().get(index())) - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& m) - { - return m.get(index()); - } - }; - - template - struct apply - { - typedef mpl::int_ index; - typedef - decltype(boost::declval().get(index())) - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& m) - { - return m.get(index()); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/map/detail/at_key_impl.hpp b/external/boost/fusion/container/map/detail/at_key_impl.hpp deleted file mode 100644 index a546bd00c..000000000 --- a/external/boost/fusion/container/map/detail/at_key_impl.hpp +++ /dev/null @@ -1,62 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_AT_KEY_IMPL_02042013_0821) -#define BOOST_FUSION_MAP_DETAIL_AT_KEY_IMPL_02042013_0821 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct at_key_impl; - - template <> - struct at_key_impl - { - template - struct apply - { - typedef - decltype(boost::declval().get(mpl::identity())) - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& m) - { - return m.get(mpl::identity()); - } - }; - - template - struct apply - { - typedef - decltype(boost::declval().get(mpl::identity())) - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& m) - { - return m.get(mpl::identity()); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/map/detail/begin_impl.hpp b/external/boost/fusion/container/map/detail/begin_impl.hpp deleted file mode 100644 index 65b39d1f0..000000000 --- a/external/boost/fusion/container/map/detail/begin_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857) -#define BOOST_FUSION_MAP_BEGIN_IMPL_02042013_0857 - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef map_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/map/detail/build_map.hpp b/external/boost/fusion/container/map/detail/build_map.hpp deleted file mode 100644 index d8f3f33fd..000000000 --- a/external/boost/fusion/container/map/detail/build_map.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BUILD_MAP_02042013_1448) -#define BOOST_FUSION_BUILD_MAP_02042013_1448 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template ::value - > - struct build_map; - - template - struct build_map - { - typedef map<> type; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - - template - struct push_front_map; - - template - struct push_front_map> - { - typedef map type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(T const& first, map const& rest) - { - return type(push_front(rest, first)); - } - }; - - template - struct build_map - { - typedef - build_map::type, Last, is_assoc> - next_build_map; - - typedef push_front_map< - typename pair_from::type - , typename next_build_map::type> - push_front; - - typedef typename push_front::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& f, Last const& l) - { - return push_front::call( - pair_from::call(f) - , next_build_map::call(fusion::next(f), l)); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/as_map.hpp b/external/boost/fusion/container/map/detail/cpp03/as_map.hpp deleted file mode 100644 index efa836ba0..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/as_map.hpp +++ /dev/null @@ -1,143 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_AS_MAP_0932005_1339) -#define FUSION_AS_MAP_0932005_1339 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - - template - struct as_map; - - template - struct as_map<0, is_assoc> - { - template - struct apply - { - typedef map<> type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return map<>(); - } - }; - -BOOST_FUSION_BARRIER_END -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_map" FUSION_MAX_MAP_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_PAIR_FROM_ITERATOR(z, n, data) \ - typedef pair_from BOOST_PP_CAT(D, n); \ - typedef typename BOOST_PP_CAT(D, n)::type BOOST_PP_CAT(T, n); - -#define BOOST_FUSION_DREF_CALL_ITERATOR(z, n, data) \ - gen::BOOST_PP_CAT(D, n)::call(BOOST_PP_CAT(i, n)) - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_PAIR_FROM_ITERATOR -#undef BOOST_FUSION_DREF_CALL_ITERATOR - -BOOST_FUSION_BARRIER_END -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template - struct as_map - { - template - struct apply - { - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_PAIR_FROM_ITERATOR, _) - typedef map type; - }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM(N, BOOST_FUSION_DREF_CALL_ITERATOR, _)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/map/detail/cpp03/at_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/at_impl.hpp deleted file mode 100644 index b1044d7d8..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/at_impl.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Brandon Kohn - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP) -#define BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename - mpl::at::type - element; - typedef typename detail::ref_result::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& m) - { - return m.get_data().at_impl(N()); - } - }; - - template - struct apply - { - typedef typename - mpl::at::type - element; - typedef typename detail::cref_result::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& m) - { - return m.get_data().at_impl(N()); - } - }; - }; - } -}} - -#endif //BOOST_FUSION_MAP_DETAIL_AT_IMPL_HPP diff --git a/external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp deleted file mode 100644 index 6255ed88b..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/begin_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - map_iterator_tag - , typename Seq::category - , Seq - , 0 - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/convert.hpp b/external/boost/fusion/container/map/detail/cpp03/convert.hpp deleted file mode 100644 index c5cc3bd6a..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/convert.hpp +++ /dev/null @@ -1,57 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_09232005_1340) -#define FUSION_CONVERT_09232005_1340 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_map - { - typedef typename - detail::as_map< - result_of::size::value - , is_base_of< - associative_tag - , typename traits::category_of::type>::value - > - gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence& seq) - { - typedef typename result_of::as_map::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_map::type - as_map(Sequence const& seq) - { - typedef typename result_of::as_map::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp deleted file mode 100644 index 3a773d74d..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/convert_impl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_IMPL_09232005_1340) -#define FUSION_CONVERT_IMPL_09232005_1340 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename - detail::as_map< - result_of::size::value - , is_base_of< - associative_tag - , typename traits::category_of::type>::value - > - gen; - typedef typename gen:: - template apply::type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(fusion::begin(seq)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp deleted file mode 100644 index ccaa2910e..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename result_of::value_of::type::second_type data; - - typedef typename - mpl::if_< - is_const - , typename detail::cref_result::type - , typename detail::ref_result::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref(it).second; - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp deleted file mode 100644 index 7fa01c3ff..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/deref_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::at< - typename mpl::if_< - is_const - , typename It::seq_type::storage_type const - , typename It::seq_type::storage_type - >::type - , typename It::index - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::at(it.seq->get_data()); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/end_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/end_impl.hpp deleted file mode 100644 index 2830b9557..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/end_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - map_iterator_tag - , typename Seq::category - , Seq - , Seq::size::value - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp deleted file mode 100644 index db3b4fff0..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/key_of_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct key_of_impl; - - template <> - struct key_of_impl - { - template - struct apply - { - typedef typename - value_of_impl:: - template apply::type::first_type - type; - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/limits.hpp b/external/boost/fusion/container/map/detail/cpp03/limits.hpp deleted file mode 100644 index 1eaa528c4..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/limits.hpp +++ /dev/null @@ -1,28 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAP_LIMITS_07212005_1104) -#define FUSION_MAP_LIMITS_07212005_1104 - -#include -#include - -#if !defined(FUSION_MAX_MAP_SIZE) -# define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE -#else -# if FUSION_MAX_MAP_SIZE < 3 -# undef FUSION_MAX_MAP_SIZE -# if (FUSION_MAX_VECTOR_SIZE > 10) -# define FUSION_MAX_MAP_SIZE 10 -# else -# define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE -# endif -# endif -#endif - -#define FUSION_MAX_MAP_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_MAP_SIZE)) - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/map.hpp b/external/boost/fusion/container/map/detail/cpp03/map.hpp deleted file mode 100644 index 3ff1d05d8..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/map.hpp +++ /dev/null @@ -1,156 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAP_07212005_1106) -#define FUSION_MAP_07212005_1106 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ - defined(BOOST_MSVC) && (BOOST_MSVC == 1700) -// see map_forward_ctor.hpp -#include -#include -#endif - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -#define FUSION_HASH # - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_MAP_SIZE, T)> - storage_type; - - typedef typename storage_type::size size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map() - : data() {} - - BOOST_FUSION_GPU_ENABLED - map(map const& rhs) - : data(rhs.data) {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - - #include - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map&& rhs) - : data(std::move(rhs.data)) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T&& rhs) - { - data = BOOST_FUSION_FWD_ELEM(T, rhs); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - data = std::move(rhs.data); - return *this; - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - - private: - - storage_type data; - }; -}} - -#undef FUSION_HASH - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp b/external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp deleted file mode 100644 index 18864e87d..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp +++ /dev/null @@ -1,63 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_MAP_FORWARD_CTOR_07222005_0106) -#define FUSION_MAP_FORWARD_CTOR_07222005_0106 - -#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) -#include BOOST_PP_ITERATE() - -#undef FUSION_FORWARD_CTOR_FORWARD -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -#if N == 1 - explicit -#endif - map(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type arg)) - : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - template - BOOST_FUSION_GPU_ENABLED -#if N == 1 - explicit -#endif - map(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) && \ - N == 1 - // workaround for MSVC 10 -FUSION_HASH if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) - , typename enable_if >::type* = 0 -FUSION_HASH endif -#endif - ) - : data(BOOST_PP_ENUM(N, FUSION_FORWARD_CTOR_FORWARD, arg)) {} -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp deleted file mode 100644 index cf26fdddc..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/map_fwd.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAP_FORWARD_07212005_1105) -#define FUSION_MAP_FORWARD_07212005_1105 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/map" FUSION_MAX_MAP_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct map_tag; - struct map_iterator_tag; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_MAP_SIZE, typename T, void_) - > - struct map; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp deleted file mode 100644 index 1d1be0804..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_MAP_SIZE <= 10 -#include -#elif FUSION_MAX_MAP_SIZE <= 20 -#include -#elif FUSION_MAX_MAP_SIZE <= 30 -#include -#elif FUSION_MAX_MAP_SIZE <= 40 -#include -#elif FUSION_MAX_MAP_SIZE <= 50 -#include -#else -#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp deleted file mode 100644 index eea163323..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp +++ /dev/null @@ -1,223 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template - struct as_map<1, is_assoc> - { - template - struct apply - { - - typedef pair_from D0; typedef typename D0::type T0; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(gen::D0::call(i0)); - } - }; - template - struct as_map<2, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(gen::D0::call(i0) , gen::D1::call(i1)); - } - }; - template - struct as_map<3, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); - } - }; - template - struct as_map<4, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); - } - }; - template - struct as_map<5, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); - } - }; - template - struct as_map<6, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); - } - }; - template - struct as_map<7, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); - } - }; - template - struct as_map<8, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); - } - }; - template - struct as_map<9, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); - } - }; - template - struct as_map<10, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp deleted file mode 100644 index ec5003a16..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp +++ /dev/null @@ -1,433 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template - struct as_map<1, is_assoc> - { - template - struct apply - { - - typedef pair_from D0; typedef typename D0::type T0; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(gen::D0::call(i0)); - } - }; - template - struct as_map<2, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(gen::D0::call(i0) , gen::D1::call(i1)); - } - }; - template - struct as_map<3, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); - } - }; - template - struct as_map<4, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); - } - }; - template - struct as_map<5, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); - } - }; - template - struct as_map<6, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); - } - }; - template - struct as_map<7, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); - } - }; - template - struct as_map<8, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); - } - }; - template - struct as_map<9, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); - } - }; - template - struct as_map<10, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); - } - }; - template - struct as_map<11, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); - } - }; - template - struct as_map<12, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); - } - }; - template - struct as_map<13, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); - } - }; - template - struct as_map<14, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); - } - }; - template - struct as_map<15, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); - } - }; - template - struct as_map<16, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); - } - }; - template - struct as_map<17, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); - } - }; - template - struct as_map<18, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); - } - }; - template - struct as_map<19, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); - } - }; - template - struct as_map<20, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp deleted file mode 100644 index 276c4026b..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp +++ /dev/null @@ -1,643 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template - struct as_map<1, is_assoc> - { - template - struct apply - { - - typedef pair_from D0; typedef typename D0::type T0; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(gen::D0::call(i0)); - } - }; - template - struct as_map<2, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(gen::D0::call(i0) , gen::D1::call(i1)); - } - }; - template - struct as_map<3, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); - } - }; - template - struct as_map<4, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); - } - }; - template - struct as_map<5, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); - } - }; - template - struct as_map<6, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); - } - }; - template - struct as_map<7, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); - } - }; - template - struct as_map<8, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); - } - }; - template - struct as_map<9, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); - } - }; - template - struct as_map<10, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); - } - }; - template - struct as_map<11, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); - } - }; - template - struct as_map<12, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); - } - }; - template - struct as_map<13, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); - } - }; - template - struct as_map<14, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); - } - }; - template - struct as_map<15, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); - } - }; - template - struct as_map<16, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); - } - }; - template - struct as_map<17, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); - } - }; - template - struct as_map<18, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); - } - }; - template - struct as_map<19, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); - } - }; - template - struct as_map<20, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); - } - }; - template - struct as_map<21, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); - } - }; - template - struct as_map<22, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); - } - }; - template - struct as_map<23, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); - } - }; - template - struct as_map<24, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); - } - }; - template - struct as_map<25, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); - } - }; - template - struct as_map<26, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); - } - }; - template - struct as_map<27, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); - } - }; - template - struct as_map<28, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); - } - }; - template - struct as_map<29, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); - } - }; - template - struct as_map<30, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp deleted file mode 100644 index a03ac13d0..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp +++ /dev/null @@ -1,853 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template - struct as_map<1, is_assoc> - { - template - struct apply - { - - typedef pair_from D0; typedef typename D0::type T0; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(gen::D0::call(i0)); - } - }; - template - struct as_map<2, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(gen::D0::call(i0) , gen::D1::call(i1)); - } - }; - template - struct as_map<3, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); - } - }; - template - struct as_map<4, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); - } - }; - template - struct as_map<5, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); - } - }; - template - struct as_map<6, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); - } - }; - template - struct as_map<7, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); - } - }; - template - struct as_map<8, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); - } - }; - template - struct as_map<9, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); - } - }; - template - struct as_map<10, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); - } - }; - template - struct as_map<11, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); - } - }; - template - struct as_map<12, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); - } - }; - template - struct as_map<13, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); - } - }; - template - struct as_map<14, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); - } - }; - template - struct as_map<15, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); - } - }; - template - struct as_map<16, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); - } - }; - template - struct as_map<17, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); - } - }; - template - struct as_map<18, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); - } - }; - template - struct as_map<19, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); - } - }; - template - struct as_map<20, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); - } - }; - template - struct as_map<21, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); - } - }; - template - struct as_map<22, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); - } - }; - template - struct as_map<23, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); - } - }; - template - struct as_map<24, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); - } - }; - template - struct as_map<25, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); - } - }; - template - struct as_map<26, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); - } - }; - template - struct as_map<27, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); - } - }; - template - struct as_map<28, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); - } - }; - template - struct as_map<29, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); - } - }; - template - struct as_map<30, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); - } - }; - template - struct as_map<31, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30)); - } - }; - template - struct as_map<32, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31)); - } - }; - template - struct as_map<33, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32)); - } - }; - template - struct as_map<34, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33)); - } - }; - template - struct as_map<35, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34)); - } - }; - template - struct as_map<36, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35)); - } - }; - template - struct as_map<37, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36)); - } - }; - template - struct as_map<38, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37)); - } - }; - template - struct as_map<39, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38)); - } - }; - template - struct as_map<40, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39)); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp deleted file mode 100644 index ab48551aa..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp +++ /dev/null @@ -1,1063 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template - struct as_map<1, is_assoc> - { - template - struct apply - { - - typedef pair_from D0; typedef typename D0::type T0; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(gen::D0::call(i0)); - } - }; - template - struct as_map<2, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(gen::D0::call(i0) , gen::D1::call(i1)); - } - }; - template - struct as_map<3, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2)); - } - }; - template - struct as_map<4, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3)); - } - }; - template - struct as_map<5, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4)); - } - }; - template - struct as_map<6, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5)); - } - }; - template - struct as_map<7, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6)); - } - }; - template - struct as_map<8, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7)); - } - }; - template - struct as_map<9, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8)); - } - }; - template - struct as_map<10, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); - } - }; - template - struct as_map<11, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10)); - } - }; - template - struct as_map<12, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11)); - } - }; - template - struct as_map<13, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12)); - } - }; - template - struct as_map<14, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13)); - } - }; - template - struct as_map<15, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14)); - } - }; - template - struct as_map<16, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15)); - } - }; - template - struct as_map<17, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16)); - } - }; - template - struct as_map<18, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17)); - } - }; - template - struct as_map<19, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18)); - } - }; - template - struct as_map<20, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); - } - }; - template - struct as_map<21, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20)); - } - }; - template - struct as_map<22, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21)); - } - }; - template - struct as_map<23, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22)); - } - }; - template - struct as_map<24, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23)); - } - }; - template - struct as_map<25, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24)); - } - }; - template - struct as_map<26, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25)); - } - }; - template - struct as_map<27, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26)); - } - }; - template - struct as_map<28, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27)); - } - }; - template - struct as_map<29, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28)); - } - }; - template - struct as_map<30, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); - } - }; - template - struct as_map<31, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30)); - } - }; - template - struct as_map<32, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31)); - } - }; - template - struct as_map<33, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32)); - } - }; - template - struct as_map<34, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33)); - } - }; - template - struct as_map<35, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34)); - } - }; - template - struct as_map<36, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35)); - } - }; - template - struct as_map<37, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36)); - } - }; - template - struct as_map<38, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37)); - } - }; - template - struct as_map<39, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38)); - } - }; - template - struct as_map<40, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39)); - } - }; - template - struct as_map<41, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40)); - } - }; - template - struct as_map<42, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41)); - } - }; - template - struct as_map<43, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42)); - } - }; - template - struct as_map<44, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43)); - } - }; - template - struct as_map<45, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44)); - } - }; - template - struct as_map<46, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45)); - } - }; - template - struct as_map<47, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46)); - } - }; - template - struct as_map<48, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47)); - } - }; - template - struct as_map<49, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; typedef pair_from D48; typedef typename D48::type T48; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47) , gen::D48::call(i48)); - } - }; - template - struct as_map<50, is_assoc> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; - typedef pair_from D0; typedef typename D0::type T0; typedef pair_from D1; typedef typename D1::type T1; typedef pair_from D2; typedef typename D2::type T2; typedef pair_from D3; typedef typename D3::type T3; typedef pair_from D4; typedef typename D4::type T4; typedef pair_from D5; typedef typename D5::type T5; typedef pair_from D6; typedef typename D6::type T6; typedef pair_from D7; typedef typename D7::type T7; typedef pair_from D8; typedef typename D8::type T8; typedef pair_from D9; typedef typename D9::type T9; typedef pair_from D10; typedef typename D10::type T10; typedef pair_from D11; typedef typename D11::type T11; typedef pair_from D12; typedef typename D12::type T12; typedef pair_from D13; typedef typename D13::type T13; typedef pair_from D14; typedef typename D14::type T14; typedef pair_from D15; typedef typename D15::type T15; typedef pair_from D16; typedef typename D16::type T16; typedef pair_from D17; typedef typename D17::type T17; typedef pair_from D18; typedef typename D18::type T18; typedef pair_from D19; typedef typename D19::type T19; typedef pair_from D20; typedef typename D20::type T20; typedef pair_from D21; typedef typename D21::type T21; typedef pair_from D22; typedef typename D22::type T22; typedef pair_from D23; typedef typename D23::type T23; typedef pair_from D24; typedef typename D24::type T24; typedef pair_from D25; typedef typename D25::type T25; typedef pair_from D26; typedef typename D26::type T26; typedef pair_from D27; typedef typename D27::type T27; typedef pair_from D28; typedef typename D28::type T28; typedef pair_from D29; typedef typename D29::type T29; typedef pair_from D30; typedef typename D30::type T30; typedef pair_from D31; typedef typename D31::type T31; typedef pair_from D32; typedef typename D32::type T32; typedef pair_from D33; typedef typename D33::type T33; typedef pair_from D34; typedef typename D34::type T34; typedef pair_from D35; typedef typename D35::type T35; typedef pair_from D36; typedef typename D36::type T36; typedef pair_from D37; typedef typename D37::type T37; typedef pair_from D38; typedef typename D38::type T38; typedef pair_from D39; typedef typename D39::type T39; typedef pair_from D40; typedef typename D40::type T40; typedef pair_from D41; typedef typename D41::type T41; typedef pair_from D42; typedef typename D42::type T42; typedef pair_from D43; typedef typename D43::type T43; typedef pair_from D44; typedef typename D44::type T44; typedef pair_from D45; typedef typename D45::type T45; typedef pair_from D46; typedef typename D46::type T46; typedef pair_from D47; typedef typename D47::type T47; typedef pair_from D48; typedef typename D48::type T48; typedef pair_from D49; typedef typename D49::type T49; - typedef map type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); - return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47) , gen::D48::call(i48) , gen::D49::call(i49)); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp deleted file mode 100644 index c6cd526a6..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_MAP_SIZE <= 10 -#include -#elif FUSION_MAX_MAP_SIZE <= 20 -#include -#elif FUSION_MAX_MAP_SIZE <= 30 -#include -#elif FUSION_MAX_MAP_SIZE <= 40 -#include -#elif FUSION_MAX_MAP_SIZE <= 50 -#include -#else -#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp deleted file mode 100644 index 9721bb624..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp +++ /dev/null @@ -1,178 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map() - : data() {} - BOOST_FUSION_GPU_ENABLED - map(map const& rhs) - : data(rhs.data) {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - map(typename detail::call_param::type arg0) - : data(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - map(U0 && arg0 - -# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) - , typename enable_if >::type* = 0 -# endif - ) - : data(std::forward( arg0)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 - ) - : data(std::forward( arg0) , std::forward( arg1)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map&& rhs) - : data(std::move(rhs.data)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T&& rhs) - { - data = std::forward( rhs); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - data = std::move(rhs.data); - return *this; - } -# endif - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp deleted file mode 100644 index cd9292e3f..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map10_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct map_tag; - struct map_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - > - struct map; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp deleted file mode 100644 index 88075f454..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp +++ /dev/null @@ -1,278 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map() - : data() {} - BOOST_FUSION_GPU_ENABLED - map(map const& rhs) - : data(rhs.data) {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - map(typename detail::call_param::type arg0) - : data(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - map(U0 && arg0 - -# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) - , typename enable_if >::type* = 0 -# endif - ) - : data(std::forward( arg0)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 - ) - : data(std::forward( arg0) , std::forward( arg1)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map&& rhs) - : data(std::move(rhs.data)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T&& rhs) - { - data = std::forward( rhs); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - data = std::move(rhs.data); - return *this; - } -# endif - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp deleted file mode 100644 index 0ff5fa50c..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map20_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct map_tag; - struct map_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - > - struct map; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp deleted file mode 100644 index 78730efc6..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp +++ /dev/null @@ -1,378 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map() - : data() {} - BOOST_FUSION_GPU_ENABLED - map(map const& rhs) - : data(rhs.data) {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - map(typename detail::call_param::type arg0) - : data(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - map(U0 && arg0 - -# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) - , typename enable_if >::type* = 0 -# endif - ) - : data(std::forward( arg0)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 - ) - : data(std::forward( arg0) , std::forward( arg1)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map&& rhs) - : data(std::move(rhs.data)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T&& rhs) - { - data = std::forward( rhs); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - data = std::move(rhs.data); - return *this; - } -# endif - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp deleted file mode 100644 index d9be47ab4..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map30_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct map_tag; - struct map_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - > - struct map; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp deleted file mode 100644 index 2bfcdb57c..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp +++ /dev/null @@ -1,478 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map() - : data() {} - BOOST_FUSION_GPU_ENABLED - map(map const& rhs) - : data(rhs.data) {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - map(typename detail::call_param::type arg0) - : data(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - map(U0 && arg0 - -# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) - , typename enable_if >::type* = 0 -# endif - ) - : data(std::forward( arg0)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 - ) - : data(std::forward( arg0) , std::forward( arg1)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map&& rhs) - : data(std::move(rhs.data)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T&& rhs) - { - data = std::forward( rhs); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - data = std::move(rhs.data); - return *this; - } -# endif - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp deleted file mode 100644 index c2b40e1ce..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map40_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct map_tag; - struct map_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - > - struct map; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp deleted file mode 100644 index ec2792641..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp +++ /dev/null @@ -1,578 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct map : sequence_base > - { - struct category : random_access_traversal_tag, associative_tag {}; - typedef map_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map() - : data() {} - BOOST_FUSION_GPU_ENABLED - map(map const& rhs) - : data(rhs.data) {} - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& rhs) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - map(typename detail::call_param::type arg0) - : data(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - map(U0 && arg0 - -# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) - , typename enable_if >::type* = 0 -# endif - ) - : data(std::forward( arg0)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 - ) - : data(std::forward( arg0) , std::forward( arg1)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} -# endif - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 - ) - : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - data = rhs.data; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map&& rhs) - : data(std::move(rhs.data)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(T&& rhs) - { - data = std::forward( rhs); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - data = std::move(rhs.data); - return *this; - } -# endif - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp deleted file mode 100644 index 6c107225a..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map50_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct map_tag; - struct map_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - > - struct map; -}} diff --git a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp b/external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp deleted file mode 100644 index 2e66a4577..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/preprocessed/map_fwd.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_MAP_SIZE <= 10 -#include -#elif FUSION_MAX_MAP_SIZE <= 20 -#include -#elif FUSION_MAX_MAP_SIZE <= 30 -#include -#elif FUSION_MAX_MAP_SIZE <= 40 -#include -#elif FUSION_MAX_MAP_SIZE <= 50 -#include -#else -#error "FUSION_MAX_MAP_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp deleted file mode 100644 index 2af55396c..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Brandon Kohn - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP) -#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename mpl::at::type type; - }; - }; - } -}} - -#endif //BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_HPP diff --git a/external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp deleted file mode 100644 index f6d24aed2..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/value_of_data_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_data_impl; - - template <> - struct value_of_data_impl - { - template - struct apply - { - typedef typename - value_of_impl:: - template apply::type::second_type - type; - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp b/external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp deleted file mode 100644 index 9b0f9a074..000000000 --- a/external/boost/fusion/container/map/detail/cpp03/value_of_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP -#define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename - result_of::value_at< - typename mpl::if_< - is_const - , typename It::seq_type::storage_type const - , typename It::seq_type::storage_type - >::type - , typename It::index - >::type - type; - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/end_impl.hpp b/external/boost/fusion/container/map/detail/end_impl.hpp deleted file mode 100644 index 50dec8efb..000000000 --- a/external/boost/fusion/container/map/detail/end_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_END_IMPL_02042013_0857) -#define BOOST_FUSION_MAP_END_IMPL_02042013_0857 - -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef map_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/map/detail/map_impl.hpp b/external/boost/fusion/container/map/detail/map_impl.hpp deleted file mode 100644 index c62145ba0..000000000 --- a/external/boost/fusion/container/map/detail/map_impl.hpp +++ /dev/null @@ -1,206 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_IMPL_02032013_2233) -#define BOOST_FUSION_MAP_IMPL_02032013_2233 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; -}} - -namespace boost { namespace fusion { namespace detail -{ - struct map_impl_from_iterator {}; - - template - struct map_impl; - - template - struct map_impl - { - typedef fusion_sequence_tag tag; - static int const index = index_; - static int const size = 0; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl() BOOST_NOEXCEPT {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void assign(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void get(); - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void get_val(); - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void get_key(); - }; - - template - struct map_impl : map_impl - { - typedef fusion_sequence_tag tag; - typedef map_impl rest_type; - - using rest_type::get; - using rest_type::get_val; - using rest_type::get_key; - - static int const index = index_; - static int const size = rest_type::size + 1; - - typedef Pair pair_type; - typedef typename Pair::first_type key_type; - typedef typename Pair::second_type value_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl() - : rest_type(), element() - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl(map_impl const& rhs) - : rest_type(rhs.get_base()), element(rhs.element) - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl(map_impl&& rhs) - : rest_type(BOOST_FUSION_FWD_ELEM(rest_type, *static_cast(&rhs))) - , element(BOOST_FUSION_FWD_ELEM(Pair, rhs.element)) - {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl(map_impl const& rhs) - : rest_type(rhs.get_base()), element(rhs.element) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl(typename detail::call_param::type element_ - , typename detail::call_param::type... rest) - : rest_type(rest...), element(element_) - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl(Pair&& element_, T&&... rest) - : rest_type(BOOST_FUSION_FWD_ELEM(T, rest)...) - , element(BOOST_FUSION_FWD_ELEM(Pair, element_)) - {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl(Iterator const& iter, map_impl_from_iterator fi) - : rest_type(fusion::next(iter), fi) - , element(*iter) - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - rest_type& get_base() - { - return *this; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - rest_type const& get_base() const - { - return *this; - } - - BOOST_FUSION_GPU_ENABLED - value_type get_val(mpl::identity); - BOOST_FUSION_GPU_ENABLED - pair_type get_val(mpl::int_); - BOOST_FUSION_GPU_ENABLED - value_type get_val(mpl::identity) const; - BOOST_FUSION_GPU_ENABLED - pair_type get_val(mpl::int_) const; - - BOOST_FUSION_GPU_ENABLED - mpl::identity get_key(mpl::int_); - BOOST_FUSION_GPU_ENABLED - mpl::identity get_key(mpl::int_) const; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename cref_result::type - get(mpl::identity) const - { - return element.second; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename ref_result::type - get(mpl::identity) - { - return element.second; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename cref_result::type - get(mpl::int_) const - { - return element; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename ref_result::type - get(mpl::int_) - { - return element; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl& operator=(map_impl const& rhs) - { - rest_type::operator=(rhs); - element = rhs.element; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl& operator=(map_impl const& rhs) - { - rest_type::operator=(rhs); - element = rhs.element; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_impl& operator=(map_impl&& rhs) - { - rest_type::operator=(std::forward(rhs)); - element = BOOST_FUSION_FWD_ELEM(Pair, rhs.element); - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void assign(Iterator const& iter, map_impl_from_iterator fi) - { - rest_type::assign(fusion::next(iter), fi); - element = *iter; - } - - Pair element; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/map_index.hpp b/external/boost/fusion/container/map/detail/map_index.hpp deleted file mode 100644 index 9326cdeda..000000000 --- a/external/boost/fusion/container/map/detail/map_index.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_INDEX_02032013_2233) -#define BOOST_FUSION_MAP_INDEX_02032013_2233 - -namespace boost { namespace fusion { namespace detail -{ - template - struct map_index - { - static int const value = N; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/map/detail/value_at_impl.hpp b/external/boost/fusion/container/map/detail/value_at_impl.hpp deleted file mode 100644 index c51cc1254..000000000 --- a/external/boost/fusion/container/map/detail/value_at_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821) -#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_IMPL_02042013_0821 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef mpl::int_ index; - typedef - decltype(boost::declval().get_val(index())) - type; - }; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/container/map/detail/value_at_key_impl.hpp b/external/boost/fusion/container/map/detail/value_at_key_impl.hpp deleted file mode 100644 index 94d2da47a..000000000 --- a/external/boost/fusion/container/map/detail/value_at_key_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_DETAIL_VALUE_AT_KEY_IMPL_02042013_0821) -#define BOOST_FUSION_MAP_DETAIL_VALUE_AT_KEY_IMPL_02042013_0821 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct value_at_key_impl; - - template <> - struct value_at_key_impl - { - template - struct apply - { - typedef - decltype(boost::declval().get_val(mpl::identity())) - type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/map/map.hpp b/external/boost/fusion/container/map/map.hpp deleted file mode 100644 index ec9e58d32..000000000 --- a/external/boost/fusion/container/map/map.hpp +++ /dev/null @@ -1,134 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAP_MAIN_07212005_1106) -#define FUSION_MAP_MAIN_07212005_1106 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - template - struct map : detail::map_impl<0, T...>, sequence_base> - { - typedef map_tag fusion_tag; - typedef detail::map_impl<0, T...> base_type; - - struct category : random_access_traversal_tag, associative_tag {}; - typedef mpl::int_ size; - typedef mpl::false_ is_view; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map() {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map const& seq) - : base_type(seq.base()) - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(map&& seq) - : base_type(std::forward(seq)) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence const& seq - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base_type(begin(seq), detail::map_impl_from_iterator()) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence& seq - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base_type(begin(seq), detail::map_impl_from_iterator()) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(Sequence&& seq - , typename enable_if, detail::enabler_>::type = detail::enabler) - : base_type(begin(seq), detail::map_impl_from_iterator()) - {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map(First const& first, T_ const&... rest) - : base_type(first, rest...) - {} - - template - BOOST_FUSION_GPU_ENABLED - map(First&& first, T_&&... rest) - : base_type(BOOST_FUSION_FWD_ELEM(First, first), BOOST_FUSION_FWD_ELEM(T_, rest)...) - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map const& rhs) - { - base_type::operator=(rhs.base()); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map& operator=(map&& rhs) - { - base_type::operator=(std::forward(rhs.base())); - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename enable_if, map&>::type - operator=(Sequence const& seq) - { - base().assign(begin(seq), detail::map_impl_from_iterator()); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - base_type& base() BOOST_NOEXCEPT { return *this; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - base_type const& base() const BOOST_NOEXCEPT { return *this; } - }; -}} - -#endif -#endif diff --git a/external/boost/fusion/container/map/map_fwd.hpp b/external/boost/fusion/container/map/map_fwd.hpp deleted file mode 100644 index 18e445b03..000000000 --- a/external/boost/fusion/container/map/map_fwd.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MAP_FORWARD_MAIN_07212005_1105) -#define FUSION_MAP_FORWARD_MAIN_07212005_1105 - -#include -#include - -#if (defined(BOOST_NO_CXX11_DECLTYPE) \ - || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ - || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \ - || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -# if defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# undef BOOST_FUSION_HAS_VARIADIC_MAP -# endif -#else -# if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# define BOOST_FUSION_HAS_VARIADIC_MAP -# endif -#endif - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1910) -# if defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# undef BOOST_FUSION_HAS_VARIADIC_MAP -# endif -#endif - -/////////////////////////////////////////////////////////////////////////////// -// With no decltype and variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_MAP) -# include -#else - -#include - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion -{ - template - struct map; -}} - -#endif -#endif diff --git a/external/boost/fusion/container/map/map_iterator.hpp b/external/boost/fusion/container/map/map_iterator.hpp deleted file mode 100644 index b229cf552..000000000 --- a/external/boost/fusion/container/map/map_iterator.hpp +++ /dev/null @@ -1,175 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2013 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MAP_ITERATOR_02042013_0835) -#define BOOST_FUSION_MAP_ITERATOR_02042013_0835 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - template - struct map_iterator - : iterator_facade< - map_iterator - , typename Seq::category> - { - typedef Seq sequence; - typedef mpl::int_ index; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - map_iterator(Seq& seq) - : seq_(seq) - {} - - template - struct value_of - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef - decltype(boost::declval().get_val(index())) - type; - }; - - template - struct value_of_data - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef - decltype(boost::declval().get_val(index()).second) - type; - }; - - template - struct key_of - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef decltype(boost::declval().get_key(index())) key_identity_type; - typedef typename key_identity_type::type type; - }; - - template - struct deref - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - typedef - decltype(boost::declval().get(index())) - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return it.seq_.get(typename Iterator::index()); - } - }; - - template - struct deref_data - { - typedef typename Iterator::sequence sequence; - typedef typename Iterator::index index; - - typedef decltype(boost::declval().get(index()).second) second_type_; - - typedef typename - mpl::if_< - is_const - , typename add_const::type - , second_type_ - >::type - second_type; - - typedef typename add_reference::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return it.seq_.get(typename Iterator::index()).second; - } - }; - - template - struct advance - { - typedef typename Iterator::index index; - typedef typename Iterator::sequence sequence; - typedef map_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq_); - } - }; - - template - struct next - : advance > - {}; - - template - struct prior - : advance > - {}; - - template - struct distance - { - typedef typename - mpl::minus< - typename I2::index, typename I1::index - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(I1 const&, I2 const&) - { - return type(); - } - }; - - template - struct equal_to - : mpl::equal_to - {}; - - Seq& seq_; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - map_iterator& operator= (map_iterator const&); - }; - -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::map_iterator > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/container/set.hpp b/external/boost/fusion/container/set.hpp deleted file mode 100644 index c9aa6241c..000000000 --- a/external/boost/fusion/container/set.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CLASS_SET_10022005_0607) -#define FUSION_SEQUENCE_CLASS_SET_10022005_0607 - -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/container/set/convert.hpp b/external/boost/fusion/container/set/convert.hpp deleted file mode 100644 index 81e064cda..000000000 --- a/external/boost/fusion/container/set/convert.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_09232005_1341) -#define FUSION_CONVERT_09232005_1341 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_set - { - typedef typename detail::as_set::value> gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_set::type - as_set(Sequence& seq) - { - typedef typename result_of::as_set::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_set::type - as_set(Sequence const& seq) - { - typedef typename result_of::as_set::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/external/boost/fusion/container/set/detail/as_set.hpp b/external/boost/fusion/container/set/detail/as_set.hpp deleted file mode 100644 index 9d3332581..000000000 --- a/external/boost/fusion/container/set/detail/as_set.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_AS_SET_11062014_2121 -#define FUSION_AS_SET_11062014_2121 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - - template ::type> - struct as_set; - - template - struct as_set > - { - template - struct apply - { - typedef set< - typename result_of::value_of< - typename result_of::advance_c::type - >::type... - > type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i) - { - typedef apply gen; - typedef typename gen::type result; - return result(*advance_c(i)...); - } - }; - -BOOST_FUSION_BARRIER_END -}}} - -#endif -#endif - diff --git a/external/boost/fusion/container/set/detail/begin_impl.hpp b/external/boost/fusion/container/set/detail/begin_impl.hpp deleted file mode 100644 index 1ebd4e465..000000000 --- a/external/boost/fusion/container/set/detail/begin_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP -#define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef - basic_iterator< - set_iterator_tag - , typename Seq::category - , Seq - , 0 - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/set/detail/convert_impl.hpp b/external/boost/fusion/container/set/detail/convert_impl.hpp deleted file mode 100644 index 0b4cb22f3..000000000 --- a/external/boost/fusion/container/set/detail/convert_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_IMPL_09232005_1341) -#define FUSION_CONVERT_IMPL_09232005_1341 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct set_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef detail::as_set::value> gen; - typedef typename gen:: - template apply::type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(fusion::begin(seq)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/as_set.hpp b/external/boost/fusion/container/set/detail/cpp03/as_set.hpp deleted file mode 100644 index c9159314b..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/as_set.hpp +++ /dev/null @@ -1,139 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_AS_SET_0932005_1341) -#define FUSION_AS_SET_0932005_1341 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - - template - struct as_set; - - template <> - struct as_set<0> - { - template - struct apply - { - typedef set<> type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return set<>(); - } - }; - -BOOST_FUSION_BARRIER_END -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_set" FUSION_MAX_SET_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::value_of::type \ - BOOST_PP_CAT(T, n); - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_VALUE_OF_ITERATOR - -BOOST_FUSION_BARRIER_END -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template <> - struct as_set - { - template - struct apply - { - BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) - typedef set type; - }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM_PARAMS(N, *i)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/set/detail/cpp03/limits.hpp b/external/boost/fusion/container/set/detail/cpp03/limits.hpp deleted file mode 100644 index 2b800abfe..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/limits.hpp +++ /dev/null @@ -1,28 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SET_LIMITS_09162005_1103) -#define FUSION_SET_LIMITS_09162005_1103 - -#include -#include - -#if !defined(FUSION_MAX_SET_SIZE) -# define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE -#else -# if FUSION_MAX_SET_SIZE < 3 -# undef FUSION_MAX_SET_SIZE -# if (FUSION_MAX_VECTOR_SIZE > 10) -# define FUSION_MAX_SET_SIZE 10 -# else -# define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE -# endif -# endif -#endif - -#define FUSION_MAX_SET_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_SET_SIZE)) - -#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp deleted file mode 100644 index da257ad90..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_SET_SIZE <= 10 -#include -#elif FUSION_MAX_SET_SIZE <= 20 -#include -#elif FUSION_MAX_SET_SIZE <= 30 -#include -#elif FUSION_MAX_SET_SIZE <= 40 -#include -#elif FUSION_MAX_SET_SIZE <= 50 -#include -#else -#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp deleted file mode 100644 index 019b0b797..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp +++ /dev/null @@ -1,223 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_set<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_set<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_set<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_set<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_set<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_set<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_set<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_set<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_set<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_set<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp deleted file mode 100644 index 8299b6079..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp +++ /dev/null @@ -1,433 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_set<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_set<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_set<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_set<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_set<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_set<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_set<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_set<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_set<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_set<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_set<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_set<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_set<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_set<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_set<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_set<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_set<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_set<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_set<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_set<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp deleted file mode 100644 index b8f8adb7a..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp +++ /dev/null @@ -1,643 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_set<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_set<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_set<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_set<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_set<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_set<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_set<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_set<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_set<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_set<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_set<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_set<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_set<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_set<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_set<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_set<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_set<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_set<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_set<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_set<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_set<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_set<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_set<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_set<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_set<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_set<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_set<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_set<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_set<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_set<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp deleted file mode 100644 index de5091f8c..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp +++ /dev/null @@ -1,853 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_set<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_set<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_set<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_set<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_set<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_set<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_set<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_set<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_set<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_set<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_set<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_set<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_set<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_set<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_set<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_set<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_set<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_set<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_set<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_set<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_set<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_set<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_set<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_set<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_set<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_set<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_set<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_set<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_set<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_set<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; - template <> - struct as_set<31> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - }; - template <> - struct as_set<32> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - }; - template <> - struct as_set<33> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - }; - template <> - struct as_set<34> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - }; - template <> - struct as_set<35> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - }; - template <> - struct as_set<36> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - }; - template <> - struct as_set<37> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - }; - template <> - struct as_set<38> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - }; - template <> - struct as_set<39> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - }; - template <> - struct as_set<40> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp deleted file mode 100644 index d169b04fa..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp +++ /dev/null @@ -1,1063 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_set<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_set<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_set<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_set<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_set<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_set<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_set<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_set<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_set<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_set<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_set<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_set<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_set<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_set<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_set<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_set<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_set<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_set<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_set<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_set<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_set<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_set<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_set<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_set<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_set<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_set<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_set<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_set<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_set<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_set<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; - template <> - struct as_set<31> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - }; - template <> - struct as_set<32> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - }; - template <> - struct as_set<33> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - }; - template <> - struct as_set<34> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - }; - template <> - struct as_set<35> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - }; - template <> - struct as_set<36> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - }; - template <> - struct as_set<37> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - }; - template <> - struct as_set<38> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - }; - template <> - struct as_set<39> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - }; - template <> - struct as_set<40> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - }; - template <> - struct as_set<41> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); - } - }; - template <> - struct as_set<42> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); - } - }; - template <> - struct as_set<43> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); - } - }; - template <> - struct as_set<44> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); - } - }; - template <> - struct as_set<45> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); - } - }; - template <> - struct as_set<46> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); - } - }; - template <> - struct as_set<47> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); - } - }; - template <> - struct as_set<48> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); - } - }; - template <> - struct as_set<49> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); - } - }; - template <> - struct as_set<50> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; - typedef set type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp deleted file mode 100644 index 715d5744f..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_SET_SIZE <= 10 -#include -#elif FUSION_MAX_SET_SIZE <= 20 -#include -#elif FUSION_MAX_SET_SIZE <= 30 -#include -#elif FUSION_MAX_SET_SIZE <= 40 -#include -#elif FUSION_MAX_SET_SIZE <= 50 -#include -#else -#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp deleted file mode 100644 index 74e847176..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp +++ /dev/null @@ -1,77 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type arg0) - : data(arg0) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp deleted file mode 100644 index 8b6253dc3..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - > - struct set; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp deleted file mode 100644 index cab210484..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp +++ /dev/null @@ -1,107 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type arg0) - : data(arg0) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp deleted file mode 100644 index acbb56dee..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - > - struct set; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp deleted file mode 100644 index 2ac448be6..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp +++ /dev/null @@ -1,137 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type arg0) - : data(arg0) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp deleted file mode 100644 index 9c774b0da..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - > - struct set; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp deleted file mode 100644 index 76112505e..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp +++ /dev/null @@ -1,167 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type arg0) - : data(arg0) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp deleted file mode 100644 index 2f251c108..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - > - struct set; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp deleted file mode 100644 index 32954f42e..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp +++ /dev/null @@ -1,197 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> - storage_type; - typedef typename storage_type::size size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : data(rhs) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type arg0) - : data(arg0) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : data(arg0 , arg1) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : data(arg0 , arg1 , arg2) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : data(arg0 , arg1 , arg2 , arg3) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : data(arg0 , arg1 , arg2 , arg3 , arg4) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp deleted file mode 100644 index 478b98b57..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - > - struct set; -}} diff --git a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp deleted file mode 100644 index 31e8e411b..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_SET_SIZE <= 10 -#include -#elif FUSION_MAX_SET_SIZE <= 20 -#include -#elif FUSION_MAX_SET_SIZE <= 30 -#include -#elif FUSION_MAX_SET_SIZE <= 40 -#include -#elif FUSION_MAX_SET_SIZE <= 50 -#include -#else -#error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/set.hpp b/external/boost/fusion/container/set/detail/cpp03/set.hpp deleted file mode 100644 index 274a36eb4..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/set.hpp +++ /dev/null @@ -1,107 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SET_09162005_1104) -#define FUSION_SET_09162005_1104 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/set" FUSION_MAX_SET_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> - storage_type; - - typedef typename storage_type::size size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs - , typename enable_if, detail::enabler_>::type = detail::enabler) - : data(rhs) {} - - #include - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - - private: - - storage_type data; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp b/external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp deleted file mode 100644 index aa90b6011..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_SET_FORWARD_CTOR_09162005_1115) -#define FUSION_SET_FORWARD_CTOR_09162005_1115 - -#include -#include -#include - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) -#include BOOST_PP_ITERATE() - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED -#if N == 1 - explicit -#endif - set(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type arg)) - : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp b/external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp deleted file mode 100644 index f50f6083e..000000000 --- a/external/boost/fusion/container/set/detail/cpp03/set_fwd.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SET_FORWARD_09162005_1102) -#define FUSION_SET_FORWARD_09162005_1102 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/set" FUSION_MAX_SET_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_SET_SIZE, typename T, void_) - > - struct set; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/set/detail/deref_data_impl.hpp b/external/boost/fusion/container/set/detail/deref_data_impl.hpp deleted file mode 100644 index 05e44a922..000000000 --- a/external/boost/fusion/container/set/detail/deref_data_impl.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - : deref_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/container/set/detail/deref_impl.hpp b/external/boost/fusion/container/set/detail/deref_impl.hpp deleted file mode 100644 index e5da52197..000000000 --- a/external/boost/fusion/container/set/detail/deref_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP -#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP - -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::at< - typename mpl::if_< - is_const - , typename It::seq_type::storage_type const - , typename It::seq_type::storage_type - >::type - , typename It::index - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return ::boost::fusion::at(it.seq->get_data()); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/set/detail/end_impl.hpp b/external/boost/fusion/container/set/detail/end_impl.hpp deleted file mode 100644 index fbae9b75b..000000000 --- a/external/boost/fusion/container/set/detail/end_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP -#define BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef - basic_iterator< - set_iterator_tag - , typename Seq::category - , Seq - , Seq::size::value - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type(seq,0); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/set/detail/key_of_impl.hpp b/external/boost/fusion/container/set/detail/key_of_impl.hpp deleted file mode 100644 index 0e453ee23..000000000 --- a/external/boost/fusion/container/set/detail/key_of_impl.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP -#define BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct key_of_impl; - - template <> - struct key_of_impl - : value_of_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/container/set/detail/value_of_data_impl.hpp b/external/boost/fusion/container/set/detail/value_of_data_impl.hpp deleted file mode 100644 index 546751cb8..000000000 --- a/external/boost/fusion/container/set/detail/value_of_data_impl.hpp +++ /dev/null @@ -1,24 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP -#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP - -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_data_impl; - - template <> - struct value_of_data_impl - : value_of_impl - {}; -}}} - -#endif diff --git a/external/boost/fusion/container/set/detail/value_of_impl.hpp b/external/boost/fusion/container/set/detail/value_of_impl.hpp deleted file mode 100644 index e12ab162c..000000000 --- a/external/boost/fusion/container/set/detail/value_of_impl.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP -#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename - result_of::value_at< - typename It::seq_type::storage_type - , typename It::index - >::type - type; - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/container/set/set.hpp b/external/boost/fusion/container/set/set.hpp deleted file mode 100644 index f03488b18..000000000 --- a/external/boost/fusion/container/set/set.hpp +++ /dev/null @@ -1,140 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_SET_11062014_1726 -#define FUSION_SET_11062014_1726 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - - template <> - struct set<> : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - - typedef vector<> storage_type; - - typedef storage_type::size size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler, - typename enable_if, detail::enabler_>::type = detail::enabler) - : data(rhs) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - - private: - storage_type data; - }; - - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - - typedef vector storage_type; - - typedef typename storage_type::size size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set() - : data() {} - - template - BOOST_FUSION_GPU_ENABLED - set(Sequence&& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler, - typename enable_if, detail::enabler_>::type = detail::enabler) - : data(std::forward(rhs)) {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - set(U&& ...args) - : data(std::forward(args)...) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - set& - operator=(U&& rhs) - { - data = std::forward(rhs); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - - private: - storage_type data; - }; - -}} - -#endif -#endif - - diff --git a/external/boost/fusion/container/set/set_fwd.hpp b/external/boost/fusion/container/set/set_fwd.hpp deleted file mode 100644 index 7b5d6830a..000000000 --- a/external/boost/fusion/container/set/set_fwd.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_SET_FORWARD_11062014_1720 -#define FUSION_SET_FORWARD_11062014_1720 - -#include -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) \ - || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -# if defined(BOOST_FUSION_HAS_VARIADIC_SET) -# undef BOOST_FUSION_HAS_VARIADIC_SET -# endif -#else -# if !defined(BOOST_FUSION_HAS_VARIADIC_SET) -# define BOOST_FUSION_HAS_VARIADIC_SET -# endif -#endif - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_SET) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion -{ - struct set_tag; - struct set_iterator_tag; - - template - struct set; -}} - -#endif -#endif - diff --git a/external/boost/fusion/container/vector.hpp b/external/boost/fusion/container/vector.hpp deleted file mode 100644 index 41c980331..000000000 --- a/external/boost/fusion/container/vector.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602) -#define FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602 - -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/container/vector/convert.hpp b/external/boost/fusion/container/vector/convert.hpp deleted file mode 100644 index adc7f478e..000000000 --- a/external/boost/fusion/container/vector/convert.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_09222005_1104) -#define FUSION_CONVERT_09222005_1104 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_vector - { - typedef typename detail::as_vector::value> gen; - typedef typename gen:: - template apply::type>::type - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_vector::type - as_vector(Sequence& seq) - { - typedef typename result_of::as_vector::gen gen; - return gen::call(fusion::begin(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::as_vector::type - as_vector(Sequence const& seq) - { - typedef typename result_of::as_vector::gen gen; - return gen::call(fusion::begin(seq)); - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/advance_impl.hpp b/external/boost/fusion/container/vector/detail/advance_impl.hpp deleted file mode 100644 index 3bf26a591..000000000 --- a/external/boost/fusion/container/vector/detail/advance_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADVANCE_IMPL_09172005_1156) -#define FUSION_ADVANCE_IMPL_09172005_1156 - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - template - struct vector_iterator; - - namespace extension - { - template - struct advance_impl; - - template <> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::index index; - typedef typename Iterator::vector vector; - typedef vector_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.vec); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/as_vector.hpp b/external/boost/fusion/container/vector/detail/as_vector.hpp deleted file mode 100644 index e2f45b6a0..000000000 --- a/external/boost/fusion/container/vector/detail/as_vector.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_AS_VECTOR_11052014_1801 -#define FUSION_AS_VECTOR_11052014_1801 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - - template - struct as_vector_impl; - - template - struct as_vector_impl > - { - template - struct apply - { - typedef vector< - typename result_of::value_of< - typename result_of::advance_c::type - >::type... - > type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator i) - { - typedef typename apply::type result; - return result(*advance_c(i)...); - } - }; - - template - struct as_vector - : as_vector_impl::type> {}; - -BOOST_FUSION_BARRIER_END -}}} - -#endif -#endif - - diff --git a/external/boost/fusion/container/vector/detail/at_impl.hpp b/external/boost/fusion/container/vector/detail/at_impl.hpp deleted file mode 100644 index a2900d794..000000000 --- a/external/boost/fusion/container/vector/detail/at_impl.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AT_IMPL_05042005_0741) -#define FUSION_AT_IMPL_05042005_0741 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename value_at_impl::template apply::type element; - typedef typename detail::ref_result::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); - return v.at_impl(N()); - } - }; - - template - struct apply - { - typedef typename value_at_impl::template apply::type element; - typedef typename detail::cref_result::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& v) - { - BOOST_STATIC_ASSERT((N::value < Sequence::size::value)); - return v.at_impl(N()); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/begin_impl.hpp b/external/boost/fusion/container/vector/detail/begin_impl.hpp deleted file mode 100644 index ef24cd74e..000000000 --- a/external/boost/fusion/container/vector/detail/begin_impl.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_05042005_1136) -#define FUSION_BEGIN_IMPL_05042005_1136 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef vector_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/config.hpp b/external/boost/fusion/container/vector/detail/config.hpp deleted file mode 100644 index 718b2d795..000000000 --- a/external/boost/fusion/container/vector/detail/config.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR_CONFIG_11052014_1720 -#define FUSION_VECTOR_CONFIG_11052014_1720 - -#include -#include -#include - -#if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ - || defined(BOOST_NO_CXX11_RVALUE_REFERENCES) \ - || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) \ - || defined(BOOST_NO_CXX11_DECLTYPE)) \ - || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS) \ - || defined(BOOST_FUSION_DISABLE_VARIADIC_VECTOR) \ - || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -# if defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# undef BOOST_FUSION_HAS_VARIADIC_VECTOR -# endif -#else -# if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# define BOOST_FUSION_HAS_VARIADIC_VECTOR -# endif -#endif - -#if BOOST_WORKAROUND(BOOST_MSVC, < 1910) -# if defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# undef BOOST_FUSION_HAS_VARIADIC_VECTOR -# endif -#endif - -#endif - diff --git a/external/boost/fusion/container/vector/detail/convert_impl.hpp b/external/boost/fusion/container/vector/detail/convert_impl.hpp deleted file mode 100644 index 63bfb7c7a..000000000 --- a/external/boost/fusion/container/vector/detail/convert_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_IMPL_09222005_1104) -#define FUSION_CONVERT_IMPL_09222005_1104 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct convert_impl; - - template <> - struct convert_impl - { - template - struct apply - { - typedef typename detail::as_vector::value> gen; - typedef typename gen:: - template apply::type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return gen::call(fusion::begin(seq)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp deleted file mode 100644 index bd7fa76be..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/as_vector.hpp +++ /dev/null @@ -1,139 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_AS_VECTOR_09222005_0950) -#define FUSION_AS_VECTOR_09222005_0950 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - - template - struct as_vector; - - template <> - struct as_vector<0> - { - template - struct apply - { - typedef vector0<> type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return vector0<>(); - } - }; - -BOOST_FUSION_BARRIER_END -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_vector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::value_of::type \ - BOOST_PP_CAT(T, n); - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_VALUE_OF_ITERATOR - -BOOST_FUSION_BARRIER_END -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template <> - struct as_vector - { - template - struct apply - { - BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) - typedef BOOST_PP_CAT(vector, N) type; - }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM_PARAMS(N, *i)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/container/vector/detail/cpp03/limits.hpp b/external/boost/fusion/container/vector/detail/cpp03/limits.hpp deleted file mode 100644 index 74a05102d..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/limits.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR_LIMITS_07072005_1246) -#define FUSION_VECTOR_LIMITS_07072005_1246 - -#include -#include -#include - -#if !defined(FUSION_MAX_VECTOR_SIZE) -# define FUSION_MAX_VECTOR_SIZE 10 -#else -# if FUSION_MAX_VECTOR_SIZE < 3 -# undef FUSION_MAX_VECTOR_SIZE -# define FUSION_MAX_VECTOR_SIZE 10 -# endif -#endif - -#define FUSION_MAX_VECTOR_SIZE_STR BOOST_PP_STRINGIZE(BOOST_FUSION_PP_ROUND_UP(FUSION_MAX_VECTOR_SIZE)) - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp deleted file mode 100644 index 521443ef8..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp deleted file mode 100644 index 92fdbc07b..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp +++ /dev/null @@ -1,223 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_vector<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef vector1 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_vector<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef vector2 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_vector<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef vector3 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_vector<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef vector4 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_vector<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef vector5 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_vector<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef vector6 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_vector<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef vector7 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_vector<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef vector8 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_vector<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef vector9 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_vector<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef vector10 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp deleted file mode 100644 index fa99a4a58..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp +++ /dev/null @@ -1,433 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_vector<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef vector1 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_vector<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef vector2 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_vector<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef vector3 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_vector<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef vector4 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_vector<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef vector5 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_vector<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef vector6 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_vector<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef vector7 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_vector<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef vector8 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_vector<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef vector9 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_vector<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef vector10 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_vector<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef vector11 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_vector<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef vector12 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_vector<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef vector13 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_vector<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef vector14 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_vector<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef vector15 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_vector<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef vector16 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_vector<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef vector17 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_vector<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef vector18 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_vector<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef vector19 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_vector<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef vector20 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp deleted file mode 100644 index 578524a64..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp +++ /dev/null @@ -1,643 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_vector<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef vector1 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_vector<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef vector2 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_vector<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef vector3 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_vector<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef vector4 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_vector<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef vector5 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_vector<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef vector6 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_vector<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef vector7 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_vector<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef vector8 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_vector<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef vector9 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_vector<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef vector10 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_vector<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef vector11 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_vector<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef vector12 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_vector<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef vector13 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_vector<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef vector14 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_vector<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef vector15 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_vector<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef vector16 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_vector<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef vector17 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_vector<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef vector18 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_vector<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef vector19 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_vector<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef vector20 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_vector<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef vector21 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_vector<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef vector22 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_vector<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef vector23 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_vector<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef vector24 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_vector<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef vector25 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_vector<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef vector26 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_vector<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef vector27 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_vector<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef vector28 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_vector<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef vector29 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_vector<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef vector30 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp deleted file mode 100644 index 93d63ee2f..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp +++ /dev/null @@ -1,853 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_vector<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef vector1 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_vector<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef vector2 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_vector<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef vector3 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_vector<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef vector4 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_vector<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef vector5 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_vector<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef vector6 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_vector<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef vector7 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_vector<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef vector8 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_vector<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef vector9 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_vector<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef vector10 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_vector<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef vector11 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_vector<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef vector12 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_vector<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef vector13 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_vector<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef vector14 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_vector<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef vector15 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_vector<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef vector16 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_vector<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef vector17 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_vector<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef vector18 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_vector<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef vector19 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_vector<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef vector20 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_vector<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef vector21 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_vector<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef vector22 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_vector<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef vector23 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_vector<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef vector24 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_vector<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef vector25 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_vector<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef vector26 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_vector<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef vector27 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_vector<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef vector28 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_vector<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef vector29 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_vector<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef vector30 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; - template <> - struct as_vector<31> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; - typedef vector31 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - }; - template <> - struct as_vector<32> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; - typedef vector32 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - }; - template <> - struct as_vector<33> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; - typedef vector33 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - }; - template <> - struct as_vector<34> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; - typedef vector34 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - }; - template <> - struct as_vector<35> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; - typedef vector35 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - }; - template <> - struct as_vector<36> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; - typedef vector36 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - }; - template <> - struct as_vector<37> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; - typedef vector37 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - }; - template <> - struct as_vector<38> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; - typedef vector38 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - }; - template <> - struct as_vector<39> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; - typedef vector39 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - }; - template <> - struct as_vector<40> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; - typedef vector40 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp deleted file mode 100644 index 6f6cc4802..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp +++ /dev/null @@ -1,1063 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ -BOOST_FUSION_BARRIER_BEGIN - template <> - struct as_vector<1> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; - typedef typename fusion::result_of::value_of::type T0; - typedef vector1 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - - return result(*i0); - } - }; - template <> - struct as_vector<2> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; - typedef vector2 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); - return result(*i0 , *i1); - } - }; - template <> - struct as_vector<3> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; - typedef vector3 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); - return result(*i0 , *i1 , *i2); - } - }; - template <> - struct as_vector<4> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; - typedef vector4 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); - return result(*i0 , *i1 , *i2 , *i3); - } - }; - template <> - struct as_vector<5> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; - typedef vector5 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); - return result(*i0 , *i1 , *i2 , *i3 , *i4); - } - }; - template <> - struct as_vector<6> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; - typedef vector6 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - }; - template <> - struct as_vector<7> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; - typedef vector7 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - }; - template <> - struct as_vector<8> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; - typedef vector8 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - }; - template <> - struct as_vector<9> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; - typedef vector9 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - }; - template <> - struct as_vector<10> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; - typedef vector10 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - }; - template <> - struct as_vector<11> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; - typedef vector11 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - }; - template <> - struct as_vector<12> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; - typedef vector12 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - }; - template <> - struct as_vector<13> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; - typedef vector13 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - }; - template <> - struct as_vector<14> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; - typedef vector14 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - }; - template <> - struct as_vector<15> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; - typedef vector15 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - }; - template <> - struct as_vector<16> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; - typedef vector16 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - }; - template <> - struct as_vector<17> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; - typedef vector17 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - }; - template <> - struct as_vector<18> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; - typedef vector18 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - }; - template <> - struct as_vector<19> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; - typedef vector19 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - }; - template <> - struct as_vector<20> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; - typedef vector20 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - }; - template <> - struct as_vector<21> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; - typedef vector21 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - }; - template <> - struct as_vector<22> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; - typedef vector22 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - }; - template <> - struct as_vector<23> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; - typedef vector23 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - }; - template <> - struct as_vector<24> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; - typedef vector24 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - }; - template <> - struct as_vector<25> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; - typedef vector25 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - }; - template <> - struct as_vector<26> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; - typedef vector26 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - }; - template <> - struct as_vector<27> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; - typedef vector27 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - }; - template <> - struct as_vector<28> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; - typedef vector28 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - }; - template <> - struct as_vector<29> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; - typedef vector29 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - }; - template <> - struct as_vector<30> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; - typedef vector30 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - }; - template <> - struct as_vector<31> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; - typedef vector31 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - }; - template <> - struct as_vector<32> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; - typedef vector32 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - }; - template <> - struct as_vector<33> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; - typedef vector33 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - }; - template <> - struct as_vector<34> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; - typedef vector34 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - }; - template <> - struct as_vector<35> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; - typedef vector35 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - }; - template <> - struct as_vector<36> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; - typedef vector36 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - }; - template <> - struct as_vector<37> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; - typedef vector37 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - }; - template <> - struct as_vector<38> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; - typedef vector38 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - }; - template <> - struct as_vector<39> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; - typedef vector39 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - }; - template <> - struct as_vector<40> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; - typedef vector40 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - }; - template <> - struct as_vector<41> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; - typedef vector41 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); - } - }; - template <> - struct as_vector<42> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; - typedef vector42 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); - } - }; - template <> - struct as_vector<43> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; - typedef vector43 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); - } - }; - template <> - struct as_vector<44> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; - typedef vector44 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); - } - }; - template <> - struct as_vector<45> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; - typedef vector45 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); - } - }; - template <> - struct as_vector<46> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; - typedef vector46 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); - } - }; - template <> - struct as_vector<47> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; - typedef vector47 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); - } - }; - template <> - struct as_vector<48> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; - typedef vector48 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); - } - }; - template <> - struct as_vector<49> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; - typedef vector49 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); - } - }; - template <> - struct as_vector<50> - { - template - struct apply - { - typedef typename fusion::result_of::next::type I1; typedef typename fusion::result_of::next::type I2; typedef typename fusion::result_of::next::type I3; typedef typename fusion::result_of::next::type I4; typedef typename fusion::result_of::next::type I5; typedef typename fusion::result_of::next::type I6; typedef typename fusion::result_of::next::type I7; typedef typename fusion::result_of::next::type I8; typedef typename fusion::result_of::next::type I9; typedef typename fusion::result_of::next::type I10; typedef typename fusion::result_of::next::type I11; typedef typename fusion::result_of::next::type I12; typedef typename fusion::result_of::next::type I13; typedef typename fusion::result_of::next::type I14; typedef typename fusion::result_of::next::type I15; typedef typename fusion::result_of::next::type I16; typedef typename fusion::result_of::next::type I17; typedef typename fusion::result_of::next::type I18; typedef typename fusion::result_of::next::type I19; typedef typename fusion::result_of::next::type I20; typedef typename fusion::result_of::next::type I21; typedef typename fusion::result_of::next::type I22; typedef typename fusion::result_of::next::type I23; typedef typename fusion::result_of::next::type I24; typedef typename fusion::result_of::next::type I25; typedef typename fusion::result_of::next::type I26; typedef typename fusion::result_of::next::type I27; typedef typename fusion::result_of::next::type I28; typedef typename fusion::result_of::next::type I29; typedef typename fusion::result_of::next::type I30; typedef typename fusion::result_of::next::type I31; typedef typename fusion::result_of::next::type I32; typedef typename fusion::result_of::next::type I33; typedef typename fusion::result_of::next::type I34; typedef typename fusion::result_of::next::type I35; typedef typename fusion::result_of::next::type I36; typedef typename fusion::result_of::next::type I37; typedef typename fusion::result_of::next::type I38; typedef typename fusion::result_of::next::type I39; typedef typename fusion::result_of::next::type I40; typedef typename fusion::result_of::next::type I41; typedef typename fusion::result_of::next::type I42; typedef typename fusion::result_of::next::type I43; typedef typename fusion::result_of::next::type I44; typedef typename fusion::result_of::next::type I45; typedef typename fusion::result_of::next::type I46; typedef typename fusion::result_of::next::type I47; typedef typename fusion::result_of::next::type I48; typedef typename fusion::result_of::next::type I49; typedef typename fusion::result_of::next::type I50; - typedef typename fusion::result_of::value_of::type T0; typedef typename fusion::result_of::value_of::type T1; typedef typename fusion::result_of::value_of::type T2; typedef typename fusion::result_of::value_of::type T3; typedef typename fusion::result_of::value_of::type T4; typedef typename fusion::result_of::value_of::type T5; typedef typename fusion::result_of::value_of::type T6; typedef typename fusion::result_of::value_of::type T7; typedef typename fusion::result_of::value_of::type T8; typedef typename fusion::result_of::value_of::type T9; typedef typename fusion::result_of::value_of::type T10; typedef typename fusion::result_of::value_of::type T11; typedef typename fusion::result_of::value_of::type T12; typedef typename fusion::result_of::value_of::type T13; typedef typename fusion::result_of::value_of::type T14; typedef typename fusion::result_of::value_of::type T15; typedef typename fusion::result_of::value_of::type T16; typedef typename fusion::result_of::value_of::type T17; typedef typename fusion::result_of::value_of::type T18; typedef typename fusion::result_of::value_of::type T19; typedef typename fusion::result_of::value_of::type T20; typedef typename fusion::result_of::value_of::type T21; typedef typename fusion::result_of::value_of::type T22; typedef typename fusion::result_of::value_of::type T23; typedef typename fusion::result_of::value_of::type T24; typedef typename fusion::result_of::value_of::type T25; typedef typename fusion::result_of::value_of::type T26; typedef typename fusion::result_of::value_of::type T27; typedef typename fusion::result_of::value_of::type T28; typedef typename fusion::result_of::value_of::type T29; typedef typename fusion::result_of::value_of::type T30; typedef typename fusion::result_of::value_of::type T31; typedef typename fusion::result_of::value_of::type T32; typedef typename fusion::result_of::value_of::type T33; typedef typename fusion::result_of::value_of::type T34; typedef typename fusion::result_of::value_of::type T35; typedef typename fusion::result_of::value_of::type T36; typedef typename fusion::result_of::value_of::type T37; typedef typename fusion::result_of::value_of::type T38; typedef typename fusion::result_of::value_of::type T39; typedef typename fusion::result_of::value_of::type T40; typedef typename fusion::result_of::value_of::type T41; typedef typename fusion::result_of::value_of::type T42; typedef typename fusion::result_of::value_of::type T43; typedef typename fusion::result_of::value_of::type T44; typedef typename fusion::result_of::value_of::type T45; typedef typename fusion::result_of::value_of::type T46; typedef typename fusion::result_of::value_of::type T47; typedef typename fusion::result_of::value_of::type T48; typedef typename fusion::result_of::value_of::type T49; - typedef vector50 type; - }; - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - typename gen::I1 i1 = fusion::next(i0); typename gen::I2 i2 = fusion::next(i1); typename gen::I3 i3 = fusion::next(i2); typename gen::I4 i4 = fusion::next(i3); typename gen::I5 i5 = fusion::next(i4); typename gen::I6 i6 = fusion::next(i5); typename gen::I7 i7 = fusion::next(i6); typename gen::I8 i8 = fusion::next(i7); typename gen::I9 i9 = fusion::next(i8); typename gen::I10 i10 = fusion::next(i9); typename gen::I11 i11 = fusion::next(i10); typename gen::I12 i12 = fusion::next(i11); typename gen::I13 i13 = fusion::next(i12); typename gen::I14 i14 = fusion::next(i13); typename gen::I15 i15 = fusion::next(i14); typename gen::I16 i16 = fusion::next(i15); typename gen::I17 i17 = fusion::next(i16); typename gen::I18 i18 = fusion::next(i17); typename gen::I19 i19 = fusion::next(i18); typename gen::I20 i20 = fusion::next(i19); typename gen::I21 i21 = fusion::next(i20); typename gen::I22 i22 = fusion::next(i21); typename gen::I23 i23 = fusion::next(i22); typename gen::I24 i24 = fusion::next(i23); typename gen::I25 i25 = fusion::next(i24); typename gen::I26 i26 = fusion::next(i25); typename gen::I27 i27 = fusion::next(i26); typename gen::I28 i28 = fusion::next(i27); typename gen::I29 i29 = fusion::next(i28); typename gen::I30 i30 = fusion::next(i29); typename gen::I31 i31 = fusion::next(i30); typename gen::I32 i32 = fusion::next(i31); typename gen::I33 i33 = fusion::next(i32); typename gen::I34 i34 = fusion::next(i33); typename gen::I35 i35 = fusion::next(i34); typename gen::I36 i36 = fusion::next(i35); typename gen::I37 i37 = fusion::next(i36); typename gen::I38 i38 = fusion::next(i37); typename gen::I39 i39 = fusion::next(i38); typename gen::I40 i40 = fusion::next(i39); typename gen::I41 i41 = fusion::next(i40); typename gen::I42 i42 = fusion::next(i41); typename gen::I43 i43 = fusion::next(i42); typename gen::I44 i44 = fusion::next(i43); typename gen::I45 i45 = fusion::next(i44); typename gen::I46 i46 = fusion::next(i45); typename gen::I47 i47 = fusion::next(i46); typename gen::I48 i48 = fusion::next(i47); typename gen::I49 i49 = fusion::next(i48); - return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); - } - }; -BOOST_FUSION_BARRIER_END -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp deleted file mode 100644 index 35b8e6432..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp deleted file mode 100644 index d5e8aad11..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp +++ /dev/null @@ -1,1830 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - template - struct vector_data1 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data1() - : m0() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data1(U0 && arg0 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data1( - vector_data1&& other) - : m0(std::forward( other.m0)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data1( - typename detail::call_param::type arg0) - : m0(arg0) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data1( - vector_data1 const& other) - : m0(other.m0) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data1& - operator=(vector_data1 const& vec) - { - this->m0 = vec.m0; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data1 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - - return vector_data1(*i0); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data1 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - - return vector_data1(*i0); - } - T0 m0; - }; - template - struct vector1 - : vector_data1 - , sequence_base > - { - typedef vector1 this_type; - typedef vector_data1 base_type; - typedef mpl::vector1 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<1> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector1() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector1( - typename detail::call_param::type arg0) - : base_type(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector1(U0&& _0 - , typename boost::enable_if >::type* = 0 - ) - : base_type(std::forward( _0)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector1(vector1&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector1(vector1 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector1& - operator=(vector1 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector1& - operator=(vector1&& vec) - { - this->m0 = std::forward< T0>(vec.m0); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector1( - vector1 const& vec) - : base_type(vec.m0) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector1( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - , typename boost::disable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector1( - Sequence& seq - , typename boost::enable_if >::type* = 0 - , typename boost::disable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector1& - operator=(vector1 const& vec) - { - this->m0 = vec.m0; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - - this->m0 = *i0; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data2 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data2() - : m0() , m1() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data2(U0 && arg0 , U1 && arg1 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data2( - vector_data2&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data2( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : m0(arg0) , m1(arg1) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data2( - vector_data2 const& other) - : m0(other.m0) , m1(other.m1) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data2& - operator=(vector_data2 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data2 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); - return vector_data2(*i0 , *i1); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data2 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); - return vector_data2(*i0 , *i1); - } - T0 m0; T1 m1; - }; - template - struct vector2 - : vector_data2 - , sequence_base > - { - typedef vector2 this_type; - typedef vector_data2 base_type; - typedef mpl::vector2 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<2> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector2() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector2( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : base_type(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector2(U0 && arg0 , U1 && arg1) - : base_type(std::forward( arg0) , std::forward( arg1)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector2(vector2&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector2(vector2 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector2& - operator=(vector2 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector2& - operator=(vector2&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector2( - vector2 const& vec) - : base_type(vec.m0 , vec.m1) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector2( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector2( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector2& - operator=(vector2 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); - this->m0 = *i0; this->m1 = *i1; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data3 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data3() - : m0() , m1() , m2() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data3(U0 && arg0 , U1 && arg1 , U2 && arg2 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data3( - vector_data3&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data3( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : m0(arg0) , m1(arg1) , m2(arg2) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data3( - vector_data3 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data3& - operator=(vector_data3 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data3 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); - return vector_data3(*i0 , *i1 , *i2); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data3 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); - return vector_data3(*i0 , *i1 , *i2); - } - T0 m0; T1 m1; T2 m2; - }; - template - struct vector3 - : vector_data3 - , sequence_base > - { - typedef vector3 this_type; - typedef vector_data3 base_type; - typedef mpl::vector3 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<3> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector3() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector3( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : base_type(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector3(U0 && arg0 , U1 && arg1 , U2 && arg2) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector3(vector3&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector3(vector3 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector3& - operator=(vector3 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector3& - operator=(vector3&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector3( - vector3 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector3( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector3( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector3& - operator=(vector3 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data4 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data4() - : m0() , m1() , m2() , m3() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data4( - vector_data4&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data4( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data4( - vector_data4 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data4& - operator=(vector_data4 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data4 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); - return vector_data4(*i0 , *i1 , *i2 , *i3); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data4 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); - return vector_data4(*i0 , *i1 , *i2 , *i3); - } - T0 m0; T1 m1; T2 m2; T3 m3; - }; - template - struct vector4 - : vector_data4 - , sequence_base > - { - typedef vector4 this_type; - typedef vector_data4 base_type; - typedef mpl::vector4 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<4> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector4() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector4( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : base_type(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector4(vector4&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector4(vector4 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector4& - operator=(vector4 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector4& - operator=(vector4&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector4( - vector4 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector4( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector4( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector4& - operator=(vector4 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data5 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data5() - : m0() , m1() , m2() , m3() , m4() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data5( - vector_data5&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data5( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data5( - vector_data5 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data5& - operator=(vector_data5 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data5 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); - return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data5 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); - return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; - }; - template - struct vector5 - : vector_data5 - , sequence_base > - { - typedef vector5 this_type; - typedef vector_data5 base_type; - typedef mpl::vector5 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<5> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector5() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector5( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector5(vector5&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector5(vector5 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector5& - operator=(vector5 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector5& - operator=(vector5&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector5( - vector5 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector5( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector5( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector5& - operator=(vector5 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data6 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data6() - : m0() , m1() , m2() , m3() , m4() , m5() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data6( - vector_data6&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data6( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data6( - vector_data6 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data6& - operator=(vector_data6 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data6 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); - return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data6 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); - return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; - }; - template - struct vector6 - : vector_data6 - , sequence_base > - { - typedef vector6 this_type; - typedef vector_data6 base_type; - typedef mpl::vector6 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<6> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector6() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector6( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector6(vector6&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector6(vector6 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector6& - operator=(vector6 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector6& - operator=(vector6&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector6( - vector6 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector6( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector6( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector6& - operator=(vector6 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data7 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data7() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data7( - vector_data7&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data7( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data7( - vector_data7 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data7& - operator=(vector_data7 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data7 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); - return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data7 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); - return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; - }; - template - struct vector7 - : vector_data7 - , sequence_base > - { - typedef vector7 this_type; - typedef vector_data7 base_type; - typedef mpl::vector7 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<7> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector7() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector7( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector7(vector7&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector7(vector7 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector7& - operator=(vector7 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector7& - operator=(vector7&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector7( - vector7 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector7( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector7( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector7& - operator=(vector7 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data8 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data8() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data8( - vector_data8&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data8( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data8( - vector_data8 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data8& - operator=(vector_data8 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data8 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); - return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data8 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); - return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; - }; - template - struct vector8 - : vector_data8 - , sequence_base > - { - typedef vector8 this_type; - typedef vector_data8 base_type; - typedef mpl::vector8 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<8> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector8() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector8( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector8(vector8&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector8(vector8 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector8& - operator=(vector8 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector8& - operator=(vector8&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector8( - vector8 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector8( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector8( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector8& - operator=(vector8 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data9 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data9() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data9( - vector_data9&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data9( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data9( - vector_data9 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data9& - operator=(vector_data9 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data9 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); - return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data9 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); - return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; - }; - template - struct vector9 - : vector_data9 - , sequence_base > - { - typedef vector9 this_type; - typedef vector_data9 base_type; - typedef mpl::vector9 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<9> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector9() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector9( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector9(vector9&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector9(vector9 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector9& - operator=(vector9 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector9& - operator=(vector9&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector9( - vector9 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector9( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector9( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector9& - operator=(vector9 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data10 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data10() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data10( - vector_data10&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data10( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data10( - vector_data10 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data10& - operator=(vector_data10 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data10 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); - return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data10 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); - return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; - }; - template - struct vector10 - : vector_data10 - , sequence_base > - { - typedef vector10 this_type; - typedef vector_data10 base_type; - typedef mpl::vector10 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<10> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector10() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector10( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector10(vector10&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector10(vector10 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector10& - operator=(vector10 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector10& - operator=(vector10&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector10( - vector10 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector10( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector10( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector10& - operator=(vector10 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp deleted file mode 100644 index 33f817ffa..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - - template - struct vector1; - template - struct vector2; - template - struct vector3; - template - struct vector4; - template - struct vector5; - template - struct vector6; - template - struct vector7; - template - struct vector8; - template - struct vector9; - template - struct vector10; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp deleted file mode 100644 index 91a9e59c4..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp +++ /dev/null @@ -1,1824 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - template - struct vector_data11 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data11() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data11( - vector_data11&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data11( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data11( - vector_data11 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data11& - operator=(vector_data11 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data11 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); - return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data11 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); - return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; - }; - template - struct vector11 - : vector_data11 - , sequence_base > - { - typedef vector11 this_type; - typedef vector_data11 base_type; - typedef mpl::vector11 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<11> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector11() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector11( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector11(vector11&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector11(vector11 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector11& - operator=(vector11 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector11& - operator=(vector11&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector11( - vector11 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector11( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector11( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector11& - operator=(vector11 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data12 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data12() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data12( - vector_data12&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data12( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data12( - vector_data12 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data12& - operator=(vector_data12 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data12 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); - return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data12 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); - return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; - }; - template - struct vector12 - : vector_data12 - , sequence_base > - { - typedef vector12 this_type; - typedef vector_data12 base_type; - typedef mpl::vector12 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<12> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector12() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector12( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector12(vector12&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector12(vector12 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector12& - operator=(vector12 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector12& - operator=(vector12&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector12( - vector12 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector12( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector12( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector12& - operator=(vector12 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data13 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data13() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data13( - vector_data13&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data13( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data13( - vector_data13 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data13& - operator=(vector_data13 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data13 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); - return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data13 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); - return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; - }; - template - struct vector13 - : vector_data13 - , sequence_base > - { - typedef vector13 this_type; - typedef vector_data13 base_type; - typedef mpl::vector13 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<13> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector13() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector13( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector13(vector13&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector13(vector13 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector13& - operator=(vector13 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector13& - operator=(vector13&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector13( - vector13 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector13( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector13( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector13& - operator=(vector13 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data14 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data14() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data14( - vector_data14&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data14( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data14( - vector_data14 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data14& - operator=(vector_data14 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data14 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); - return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data14 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); - return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; - }; - template - struct vector14 - : vector_data14 - , sequence_base > - { - typedef vector14 this_type; - typedef vector_data14 base_type; - typedef mpl::vector14 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<14> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector14() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector14( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector14(vector14&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector14(vector14 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector14& - operator=(vector14 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector14& - operator=(vector14&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector14( - vector14 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector14( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector14( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector14& - operator=(vector14 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data15 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data15() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data15( - vector_data15&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data15( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data15( - vector_data15 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data15& - operator=(vector_data15 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data15 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); - return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data15 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); - return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; - }; - template - struct vector15 - : vector_data15 - , sequence_base > - { - typedef vector15 this_type; - typedef vector_data15 base_type; - typedef mpl::vector15 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<15> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector15() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector15( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector15(vector15&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector15(vector15 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector15& - operator=(vector15 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector15& - operator=(vector15&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector15( - vector15 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector15( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector15( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector15& - operator=(vector15 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data16 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data16() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data16( - vector_data16&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data16( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data16( - vector_data16 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data16& - operator=(vector_data16 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data16 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); - return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data16 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); - return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; - }; - template - struct vector16 - : vector_data16 - , sequence_base > - { - typedef vector16 this_type; - typedef vector_data16 base_type; - typedef mpl::vector16 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<16> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector16() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector16( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector16(vector16&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector16(vector16 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector16& - operator=(vector16 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector16& - operator=(vector16&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector16( - vector16 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector16( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector16( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector16& - operator=(vector16 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data17 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data17() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data17( - vector_data17&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data17( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data17( - vector_data17 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data17& - operator=(vector_data17 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data17 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); - return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data17 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); - return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; - }; - template - struct vector17 - : vector_data17 - , sequence_base > - { - typedef vector17 this_type; - typedef vector_data17 base_type; - typedef mpl::vector17 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<17> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector17() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector17( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector17(vector17&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector17(vector17 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector17& - operator=(vector17 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector17& - operator=(vector17&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector17( - vector17 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector17( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector17( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector17& - operator=(vector17 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data18 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data18() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data18( - vector_data18&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data18( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data18( - vector_data18 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data18& - operator=(vector_data18 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data18 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); - return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data18 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); - return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; - }; - template - struct vector18 - : vector_data18 - , sequence_base > - { - typedef vector18 this_type; - typedef vector_data18 base_type; - typedef mpl::vector18 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<18> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector18() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector18( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector18(vector18&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector18(vector18 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector18& - operator=(vector18 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector18& - operator=(vector18&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector18( - vector18 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector18( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector18( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector18& - operator=(vector18 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data19 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data19() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data19( - vector_data19&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data19( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data19( - vector_data19 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data19& - operator=(vector_data19 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data19 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); - return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data19 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); - return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; - }; - template - struct vector19 - : vector_data19 - , sequence_base > - { - typedef vector19 this_type; - typedef vector_data19 base_type; - typedef mpl::vector19 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<19> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector19() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector19( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector19(vector19&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector19(vector19 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector19& - operator=(vector19 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector19& - operator=(vector19&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector19( - vector19 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector19( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector19( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector19& - operator=(vector19 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data20 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data20() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data20( - vector_data20&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data20( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data20( - vector_data20 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data20& - operator=(vector_data20 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data20 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); - return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data20 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); - return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; - }; - template - struct vector20 - : vector_data20 - , sequence_base > - { - typedef vector20 this_type; - typedef vector_data20 base_type; - typedef mpl::vector20 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<20> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector20() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector20( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector20(vector20&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector20(vector20 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector20& - operator=(vector20 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector20& - operator=(vector20&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector20( - vector20 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector20( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector20( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector20& - operator=(vector20 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp deleted file mode 100644 index b1672857a..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - - template - struct vector11; - template - struct vector12; - template - struct vector13; - template - struct vector14; - template - struct vector15; - template - struct vector16; - template - struct vector17; - template - struct vector18; - template - struct vector19; - template - struct vector20; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp deleted file mode 100644 index c82345203..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp +++ /dev/null @@ -1,1824 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - template - struct vector_data21 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data21() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data21( - vector_data21&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data21( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data21( - vector_data21 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data21& - operator=(vector_data21 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data21 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); - return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data21 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); - return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; - }; - template - struct vector21 - : vector_data21 - , sequence_base > - { - typedef vector21 this_type; - typedef vector_data21 base_type; - typedef mpl::vector21 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<21> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector21() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector21( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector21(vector21&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector21(vector21 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector21& - operator=(vector21 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector21& - operator=(vector21&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector21( - vector21 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector21( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector21( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector21& - operator=(vector21 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data22 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data22() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data22( - vector_data22&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data22( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data22( - vector_data22 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data22& - operator=(vector_data22 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data22 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); - return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data22 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); - return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; - }; - template - struct vector22 - : vector_data22 - , sequence_base > - { - typedef vector22 this_type; - typedef vector_data22 base_type; - typedef mpl::vector22 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<22> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector22() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector22( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector22(vector22&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector22(vector22 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector22& - operator=(vector22 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector22& - operator=(vector22&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector22( - vector22 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector22( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector22( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector22& - operator=(vector22 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data23 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data23() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data23( - vector_data23&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data23( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data23( - vector_data23 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data23& - operator=(vector_data23 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data23 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); - return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data23 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); - return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; - }; - template - struct vector23 - : vector_data23 - , sequence_base > - { - typedef vector23 this_type; - typedef vector_data23 base_type; - typedef mpl::vector23 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<23> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector23() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector23( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector23(vector23&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector23(vector23 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector23& - operator=(vector23 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector23& - operator=(vector23&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector23( - vector23 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector23( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector23( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector23& - operator=(vector23 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data24 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data24() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data24( - vector_data24&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data24( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data24( - vector_data24 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data24& - operator=(vector_data24 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data24 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); - return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data24 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); - return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; - }; - template - struct vector24 - : vector_data24 - , sequence_base > - { - typedef vector24 this_type; - typedef vector_data24 base_type; - typedef mpl::vector24 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<24> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector24() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector24( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector24(vector24&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector24(vector24 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector24& - operator=(vector24 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector24& - operator=(vector24&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector24( - vector24 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector24( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector24( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector24& - operator=(vector24 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data25 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data25() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data25( - vector_data25&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data25( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data25( - vector_data25 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data25& - operator=(vector_data25 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data25 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); - return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data25 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); - return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; - }; - template - struct vector25 - : vector_data25 - , sequence_base > - { - typedef vector25 this_type; - typedef vector_data25 base_type; - typedef mpl::vector25 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<25> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector25() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector25( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector25(vector25&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector25(vector25 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector25& - operator=(vector25 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector25& - operator=(vector25&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector25( - vector25 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector25( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector25( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector25& - operator=(vector25 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data26 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data26() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data26( - vector_data26&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data26( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data26( - vector_data26 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data26& - operator=(vector_data26 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data26 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); - return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data26 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); - return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; - }; - template - struct vector26 - : vector_data26 - , sequence_base > - { - typedef vector26 this_type; - typedef vector_data26 base_type; - typedef mpl::vector26 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<26> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector26() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector26( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector26(vector26&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector26(vector26 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector26& - operator=(vector26 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector26& - operator=(vector26&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector26( - vector26 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector26( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector26( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector26& - operator=(vector26 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data27 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data27() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data27( - vector_data27&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data27( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data27( - vector_data27 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data27& - operator=(vector_data27 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data27 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); - return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data27 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); - return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; - }; - template - struct vector27 - : vector_data27 - , sequence_base > - { - typedef vector27 this_type; - typedef vector_data27 base_type; - typedef mpl::vector27 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<27> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector27() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector27( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector27(vector27&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector27(vector27 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector27& - operator=(vector27 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector27& - operator=(vector27&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector27( - vector27 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector27( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector27( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector27& - operator=(vector27 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data28 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data28() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data28( - vector_data28&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data28( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data28( - vector_data28 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data28& - operator=(vector_data28 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data28 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); - return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data28 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); - return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; - }; - template - struct vector28 - : vector_data28 - , sequence_base > - { - typedef vector28 this_type; - typedef vector_data28 base_type; - typedef mpl::vector28 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<28> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector28() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector28( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector28(vector28&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector28(vector28 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector28& - operator=(vector28 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector28& - operator=(vector28&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector28( - vector28 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector28( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector28( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector28& - operator=(vector28 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data29 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data29() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data29( - vector_data29&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data29( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data29( - vector_data29 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data29& - operator=(vector_data29 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data29 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); - return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data29 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); - return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; - }; - template - struct vector29 - : vector_data29 - , sequence_base > - { - typedef vector29 this_type; - typedef vector_data29 base_type; - typedef mpl::vector29 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<29> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector29() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector29( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector29(vector29&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector29(vector29 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector29& - operator=(vector29 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector29& - operator=(vector29&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector29( - vector29 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector29( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector29( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector29& - operator=(vector29 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data30 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data30() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data30( - vector_data30&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data30( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data30( - vector_data30 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data30& - operator=(vector_data30 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data30 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); - return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data30 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); - return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; - }; - template - struct vector30 - : vector_data30 - , sequence_base > - { - typedef vector30 this_type; - typedef vector_data30 base_type; - typedef mpl::vector30 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<30> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector30() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector30( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector30(vector30&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector30(vector30 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector30& - operator=(vector30 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector30& - operator=(vector30&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector30( - vector30 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector30( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector30( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector30& - operator=(vector30 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp deleted file mode 100644 index 39f96aa83..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - - template - struct vector21; - template - struct vector22; - template - struct vector23; - template - struct vector24; - template - struct vector25; - template - struct vector26; - template - struct vector27; - template - struct vector28; - template - struct vector29; - template - struct vector30; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp deleted file mode 100644 index ec16fcd94..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp +++ /dev/null @@ -1,1824 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - template - struct vector_data31 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data31() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data31( - vector_data31&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data31( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data31( - vector_data31 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data31& - operator=(vector_data31 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data31 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); - return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data31 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); - return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; - }; - template - struct vector31 - : vector_data31 - , sequence_base > - { - typedef vector31 this_type; - typedef vector_data31 base_type; - typedef mpl::vector31 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<31> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector31() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector31( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector31(vector31&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector31(vector31 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector31& - operator=(vector31 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector31& - operator=(vector31&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector31( - vector31 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector31( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector31( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector31& - operator=(vector31 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data32 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data32() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data32( - vector_data32&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data32( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data32( - vector_data32 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data32& - operator=(vector_data32 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data32 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); - return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data32 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); - return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; - }; - template - struct vector32 - : vector_data32 - , sequence_base > - { - typedef vector32 this_type; - typedef vector_data32 base_type; - typedef mpl::vector32 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<32> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector32() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector32( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector32(vector32&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector32(vector32 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector32& - operator=(vector32 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector32& - operator=(vector32&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector32( - vector32 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector32( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector32( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector32& - operator=(vector32 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data33 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data33() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data33( - vector_data33&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data33( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data33( - vector_data33 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data33& - operator=(vector_data33 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data33 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); - return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data33 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); - return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; - }; - template - struct vector33 - : vector_data33 - , sequence_base > - { - typedef vector33 this_type; - typedef vector_data33 base_type; - typedef mpl::vector33 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<33> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector33() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector33( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector33(vector33&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector33(vector33 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector33& - operator=(vector33 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector33& - operator=(vector33&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector33( - vector33 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector33( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector33( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector33& - operator=(vector33 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data34 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data34() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data34( - vector_data34&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data34( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data34( - vector_data34 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data34& - operator=(vector_data34 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data34 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); - return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data34 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); - return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; - }; - template - struct vector34 - : vector_data34 - , sequence_base > - { - typedef vector34 this_type; - typedef vector_data34 base_type; - typedef mpl::vector34 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<34> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector34() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector34( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector34(vector34&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector34(vector34 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector34& - operator=(vector34 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector34& - operator=(vector34&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector34( - vector34 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector34( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector34( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector34& - operator=(vector34 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data35 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data35() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data35( - vector_data35&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data35( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data35( - vector_data35 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data35& - operator=(vector_data35 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data35 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); - return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data35 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); - return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; - }; - template - struct vector35 - : vector_data35 - , sequence_base > - { - typedef vector35 this_type; - typedef vector_data35 base_type; - typedef mpl::vector35 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<35> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector35() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector35( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector35(vector35&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector35(vector35 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector35& - operator=(vector35 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector35& - operator=(vector35&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector35( - vector35 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector35( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector35( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector35& - operator=(vector35 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data36 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data36() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data36( - vector_data36&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data36( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data36( - vector_data36 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data36& - operator=(vector_data36 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data36 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); - return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data36 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); - return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; - }; - template - struct vector36 - : vector_data36 - , sequence_base > - { - typedef vector36 this_type; - typedef vector_data36 base_type; - typedef mpl::vector36 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<36> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector36() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector36( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector36(vector36&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector36(vector36 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector36& - operator=(vector36 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector36& - operator=(vector36&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector36( - vector36 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector36( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector36( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector36& - operator=(vector36 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data37 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data37() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data37( - vector_data37&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data37( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data37( - vector_data37 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data37& - operator=(vector_data37 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data37 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); - return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data37 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); - return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; - }; - template - struct vector37 - : vector_data37 - , sequence_base > - { - typedef vector37 this_type; - typedef vector_data37 base_type; - typedef mpl::vector37 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<37> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector37() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector37( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector37(vector37&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector37(vector37 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector37& - operator=(vector37 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector37& - operator=(vector37&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector37( - vector37 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector37( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector37( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector37& - operator=(vector37 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data38 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data38() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data38( - vector_data38&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data38( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data38( - vector_data38 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data38& - operator=(vector_data38 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data38 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); - return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data38 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); - return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; - }; - template - struct vector38 - : vector_data38 - , sequence_base > - { - typedef vector38 this_type; - typedef vector_data38 base_type; - typedef mpl::vector38 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<38> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector38() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector38( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector38(vector38&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector38(vector38 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector38& - operator=(vector38 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector38& - operator=(vector38&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector38( - vector38 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector38( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector38( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector38& - operator=(vector38 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data39 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data39() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data39( - vector_data39&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data39( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data39( - vector_data39 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data39& - operator=(vector_data39 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data39 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); - return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data39 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); - return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; - }; - template - struct vector39 - : vector_data39 - , sequence_base > - { - typedef vector39 this_type; - typedef vector_data39 base_type; - typedef mpl::vector39 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<39> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector39() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector39( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector39(vector39&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector39(vector39 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector39& - operator=(vector39 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector39& - operator=(vector39&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector39( - vector39 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector39( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector39( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector39& - operator=(vector39 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data40 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data40() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data40( - vector_data40&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data40( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data40( - vector_data40 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data40& - operator=(vector_data40 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data40 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); - return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data40 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); - return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; - }; - template - struct vector40 - : vector_data40 - , sequence_base > - { - typedef vector40 this_type; - typedef vector_data40 base_type; - typedef mpl::vector40 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<40> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector40() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector40( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector40(vector40&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector40(vector40 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector40& - operator=(vector40 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector40& - operator=(vector40&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector40( - vector40 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector40( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector40( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector40& - operator=(vector40 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp deleted file mode 100644 index e1d6e0911..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - - template - struct vector31; - template - struct vector32; - template - struct vector33; - template - struct vector34; - template - struct vector35; - template - struct vector36; - template - struct vector37; - template - struct vector38; - template - struct vector39; - template - struct vector40; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp deleted file mode 100644 index 2d787edfb..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp +++ /dev/null @@ -1,1824 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - template - struct vector_data41 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data41() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data41( - vector_data41&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data41( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data41( - vector_data41 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data41& - operator=(vector_data41 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data41 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); - return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data41 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); - return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; - }; - template - struct vector41 - : vector_data41 - , sequence_base > - { - typedef vector41 this_type; - typedef vector_data41 base_type; - typedef mpl::vector41 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<41> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector41() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector41( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector41(vector41&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector41(vector41 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector41& - operator=(vector41 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector41& - operator=(vector41&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector41( - vector41 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector41( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector41( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector41& - operator=(vector41 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data42 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data42() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data42( - vector_data42&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data42( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data42( - vector_data42 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data42& - operator=(vector_data42 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data42 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); - return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data42 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); - return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; - }; - template - struct vector42 - : vector_data42 - , sequence_base > - { - typedef vector42 this_type; - typedef vector_data42 base_type; - typedef mpl::vector42 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<42> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector42() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector42( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector42(vector42&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector42(vector42 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector42& - operator=(vector42 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector42& - operator=(vector42&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector42( - vector42 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector42( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector42( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector42& - operator=(vector42 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data43 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data43() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data43( - vector_data43&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data43( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data43( - vector_data43 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data43& - operator=(vector_data43 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data43 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); - return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data43 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); - return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; - }; - template - struct vector43 - : vector_data43 - , sequence_base > - { - typedef vector43 this_type; - typedef vector_data43 base_type; - typedef mpl::vector43 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<43> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector43() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector43( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector43(vector43&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector43(vector43 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector43& - operator=(vector43 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector43& - operator=(vector43&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector43( - vector43 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector43( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector43( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector43& - operator=(vector43 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data44 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data44() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data44( - vector_data44&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data44( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data44( - vector_data44 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data44& - operator=(vector_data44 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data44 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); - return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data44 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); - return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; - }; - template - struct vector44 - : vector_data44 - , sequence_base > - { - typedef vector44 this_type; - typedef vector_data44 base_type; - typedef mpl::vector44 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<44> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector44() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector44( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector44(vector44&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector44(vector44 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector44& - operator=(vector44 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector44& - operator=(vector44&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector44( - vector44 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector44( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector44( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector44& - operator=(vector44 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data45 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data45() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data45( - vector_data45&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data45( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data45( - vector_data45 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data45& - operator=(vector_data45 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data45 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); - return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data45 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); - return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; - }; - template - struct vector45 - : vector_data45 - , sequence_base > - { - typedef vector45 this_type; - typedef vector_data45 base_type; - typedef mpl::vector45 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<45> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector45() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector45( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector45(vector45&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector45(vector45 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector45& - operator=(vector45 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector45& - operator=(vector45&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector45( - vector45 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector45( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector45( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector45& - operator=(vector45 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data46 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data46() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data46( - vector_data46&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data46( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data46( - vector_data46 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data46& - operator=(vector_data46 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data46 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); - return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data46 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); - return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; - }; - template - struct vector46 - : vector_data46 - , sequence_base > - { - typedef vector46 this_type; - typedef vector_data46 base_type; - typedef mpl::vector46 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<46> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector46() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector46( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector46(vector46&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector46(vector46 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector46& - operator=(vector46 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector46& - operator=(vector46&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector46( - vector46 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector46( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector46( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector46& - operator=(vector46 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data47 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data47() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data47( - vector_data47&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data47( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data47( - vector_data47 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data47& - operator=(vector_data47 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data47 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); - return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data47 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); - return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; - }; - template - struct vector47 - : vector_data47 - , sequence_base > - { - typedef vector47 this_type; - typedef vector_data47 base_type; - typedef mpl::vector47 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<47> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector47() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector47( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector47(vector47&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector47(vector47 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector47& - operator=(vector47 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector47& - operator=(vector47&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector47( - vector47 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector47( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector47( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector47& - operator=(vector47 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data48 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data48() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data48( - vector_data48&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data48( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data48( - vector_data48 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data48& - operator=(vector_data48 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data48 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); - return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data48 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); - return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; - }; - template - struct vector48 - : vector_data48 - , sequence_base > - { - typedef vector48 this_type; - typedef vector_data48 base_type; - typedef mpl::vector48 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<48> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector48() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector48( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector48(vector48&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector48(vector48 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector48& - operator=(vector48 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector48& - operator=(vector48&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector48( - vector48 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector48( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector48( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector48& - operator=(vector48 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data49 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data49() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data49( - vector_data49&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data49( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data49( - vector_data49 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data49& - operator=(vector_data49 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data49 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); - return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data49 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); - return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48; - }; - template - struct vector49 - : vector_data49 - , sequence_base > - { - typedef vector49 this_type; - typedef vector_data49 base_type; - typedef mpl::vector49 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<49> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector49() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector49( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector49(vector49&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector49(vector49 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector49& - operator=(vector49 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector49& - operator=(vector49&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); this->m48 = std::forward< T48>(vec.m48); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector49( - vector49 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector49( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector49( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector49& - operator=(vector49 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - template - struct vector_data50 - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data50() - : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() , m49() {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 - , typename boost::enable_if >::type* = 0 - ) - : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) , m49(std::forward( arg49)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data50( - vector_data50&& other) - : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) , m49(std::forward( other.m49)) {} -# endif -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector_data50( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) , m49(arg49) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data50( - vector_data50 const& other) - : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) , m49(other.m49) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data50& - operator=(vector_data50 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; this->m49 = vec.m49; - return *this; - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data50 - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); - return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); - } - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - static vector_data50 - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); - return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); - } - T0 m0; T1 m1; T2 m2; T3 m3; T4 m4; T5 m5; T6 m6; T7 m7; T8 m8; T9 m9; T10 m10; T11 m11; T12 m12; T13 m13; T14 m14; T15 m15; T16 m16; T17 m17; T18 m18; T19 m19; T20 m20; T21 m21; T22 m22; T23 m23; T24 m24; T25 m25; T26 m26; T27 m27; T28 m28; T29 m29; T30 m30; T31 m31; T32 m32; T33 m33; T34 m34; T35 m35; T36 m36; T37 m37; T38 m38; T39 m39; T40 m40; T41 m41; T42 m42; T43 m43; T44 m44; T45 m45; T46 m46; T47 m47; T48 m48; T49 m49; - }; - template - struct vector50 - : vector_data50 - , sequence_base > - { - typedef vector50 this_type; - typedef vector_data50 base_type; - typedef mpl::vector50 types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<50> size; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector50() {} -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector50( - typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49) - : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector50(vector50&& rhs) - : base_type(std::forward(rhs)) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector50(vector50 const& rhs) - : base_type(static_cast(rhs)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector50& - operator=(vector50 const& vec) - { - base_type::operator=(vec); - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector50& - operator=(vector50&& vec) - { - this->m0 = std::forward< T0>(vec.m0); this->m1 = std::forward< T1>(vec.m1); this->m2 = std::forward< T2>(vec.m2); this->m3 = std::forward< T3>(vec.m3); this->m4 = std::forward< T4>(vec.m4); this->m5 = std::forward< T5>(vec.m5); this->m6 = std::forward< T6>(vec.m6); this->m7 = std::forward< T7>(vec.m7); this->m8 = std::forward< T8>(vec.m8); this->m9 = std::forward< T9>(vec.m9); this->m10 = std::forward< T10>(vec.m10); this->m11 = std::forward< T11>(vec.m11); this->m12 = std::forward< T12>(vec.m12); this->m13 = std::forward< T13>(vec.m13); this->m14 = std::forward< T14>(vec.m14); this->m15 = std::forward< T15>(vec.m15); this->m16 = std::forward< T16>(vec.m16); this->m17 = std::forward< T17>(vec.m17); this->m18 = std::forward< T18>(vec.m18); this->m19 = std::forward< T19>(vec.m19); this->m20 = std::forward< T20>(vec.m20); this->m21 = std::forward< T21>(vec.m21); this->m22 = std::forward< T22>(vec.m22); this->m23 = std::forward< T23>(vec.m23); this->m24 = std::forward< T24>(vec.m24); this->m25 = std::forward< T25>(vec.m25); this->m26 = std::forward< T26>(vec.m26); this->m27 = std::forward< T27>(vec.m27); this->m28 = std::forward< T28>(vec.m28); this->m29 = std::forward< T29>(vec.m29); this->m30 = std::forward< T30>(vec.m30); this->m31 = std::forward< T31>(vec.m31); this->m32 = std::forward< T32>(vec.m32); this->m33 = std::forward< T33>(vec.m33); this->m34 = std::forward< T34>(vec.m34); this->m35 = std::forward< T35>(vec.m35); this->m36 = std::forward< T36>(vec.m36); this->m37 = std::forward< T37>(vec.m37); this->m38 = std::forward< T38>(vec.m38); this->m39 = std::forward< T39>(vec.m39); this->m40 = std::forward< T40>(vec.m40); this->m41 = std::forward< T41>(vec.m41); this->m42 = std::forward< T42>(vec.m42); this->m43 = std::forward< T43>(vec.m43); this->m44 = std::forward< T44>(vec.m44); this->m45 = std::forward< T45>(vec.m45); this->m46 = std::forward< T46>(vec.m46); this->m47 = std::forward< T47>(vec.m47); this->m48 = std::forward< T48>(vec.m48); this->m49 = std::forward< T49>(vec.m49); - return *this; - } -# endif - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector50( - vector50 const& vec) - : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48 , vec.m49) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector50( - Sequence const& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector50( - Sequence& seq - , typename boost::enable_if >::type* = 0 - ) - : base_type(base_type::init_from_sequence(seq)) {} - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector50& - operator=(vector50 const& vec) - { - this->m0 = vec.m0; this->m1 = vec.m1; this->m2 = vec.m2; this->m3 = vec.m3; this->m4 = vec.m4; this->m5 = vec.m5; this->m6 = vec.m6; this->m7 = vec.m7; this->m8 = vec.m8; this->m9 = vec.m9; this->m10 = vec.m10; this->m11 = vec.m11; this->m12 = vec.m12; this->m13 = vec.m13; this->m14 = vec.m14; this->m15 = vec.m15; this->m16 = vec.m16; this->m17 = vec.m17; this->m18 = vec.m18; this->m19 = vec.m19; this->m20 = vec.m20; this->m21 = vec.m21; this->m22 = vec.m22; this->m23 = vec.m23; this->m24 = vec.m24; this->m25 = vec.m25; this->m26 = vec.m26; this->m27 = vec.m27; this->m28 = vec.m28; this->m29 = vec.m29; this->m30 = vec.m30; this->m31 = vec.m31; this->m32 = vec.m32; this->m33 = vec.m33; this->m34 = vec.m34; this->m35 = vec.m35; this->m36 = vec.m36; this->m37 = vec.m37; this->m38 = vec.m38; this->m39 = vec.m39; this->m40 = vec.m40; this->m41 = vec.m41; this->m42 = vec.m42; this->m43 = vec.m43; this->m44 = vec.m44; this->m45 = vec.m45; this->m46 = vec.m46; this->m47 = vec.m47; this->m48 = vec.m48; this->m49 = vec.m49; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - typedef typename result_of::next< I0>::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next< I1>::type I2; I2 i2 = fusion::next(i1); typedef typename result_of::next< I2>::type I3; I3 i3 = fusion::next(i2); typedef typename result_of::next< I3>::type I4; I4 i4 = fusion::next(i3); typedef typename result_of::next< I4>::type I5; I5 i5 = fusion::next(i4); typedef typename result_of::next< I5>::type I6; I6 i6 = fusion::next(i5); typedef typename result_of::next< I6>::type I7; I7 i7 = fusion::next(i6); typedef typename result_of::next< I7>::type I8; I8 i8 = fusion::next(i7); typedef typename result_of::next< I8>::type I9; I9 i9 = fusion::next(i8); typedef typename result_of::next< I9>::type I10; I10 i10 = fusion::next(i9); typedef typename result_of::next< I10>::type I11; I11 i11 = fusion::next(i10); typedef typename result_of::next< I11>::type I12; I12 i12 = fusion::next(i11); typedef typename result_of::next< I12>::type I13; I13 i13 = fusion::next(i12); typedef typename result_of::next< I13>::type I14; I14 i14 = fusion::next(i13); typedef typename result_of::next< I14>::type I15; I15 i15 = fusion::next(i14); typedef typename result_of::next< I15>::type I16; I16 i16 = fusion::next(i15); typedef typename result_of::next< I16>::type I17; I17 i17 = fusion::next(i16); typedef typename result_of::next< I17>::type I18; I18 i18 = fusion::next(i17); typedef typename result_of::next< I18>::type I19; I19 i19 = fusion::next(i18); typedef typename result_of::next< I19>::type I20; I20 i20 = fusion::next(i19); typedef typename result_of::next< I20>::type I21; I21 i21 = fusion::next(i20); typedef typename result_of::next< I21>::type I22; I22 i22 = fusion::next(i21); typedef typename result_of::next< I22>::type I23; I23 i23 = fusion::next(i22); typedef typename result_of::next< I23>::type I24; I24 i24 = fusion::next(i23); typedef typename result_of::next< I24>::type I25; I25 i25 = fusion::next(i24); typedef typename result_of::next< I25>::type I26; I26 i26 = fusion::next(i25); typedef typename result_of::next< I26>::type I27; I27 i27 = fusion::next(i26); typedef typename result_of::next< I27>::type I28; I28 i28 = fusion::next(i27); typedef typename result_of::next< I28>::type I29; I29 i29 = fusion::next(i28); typedef typename result_of::next< I29>::type I30; I30 i30 = fusion::next(i29); typedef typename result_of::next< I30>::type I31; I31 i31 = fusion::next(i30); typedef typename result_of::next< I31>::type I32; I32 i32 = fusion::next(i31); typedef typename result_of::next< I32>::type I33; I33 i33 = fusion::next(i32); typedef typename result_of::next< I33>::type I34; I34 i34 = fusion::next(i33); typedef typename result_of::next< I34>::type I35; I35 i35 = fusion::next(i34); typedef typename result_of::next< I35>::type I36; I36 i36 = fusion::next(i35); typedef typename result_of::next< I36>::type I37; I37 i37 = fusion::next(i36); typedef typename result_of::next< I37>::type I38; I38 i38 = fusion::next(i37); typedef typename result_of::next< I38>::type I39; I39 i39 = fusion::next(i38); typedef typename result_of::next< I39>::type I40; I40 i40 = fusion::next(i39); typedef typename result_of::next< I40>::type I41; I41 i41 = fusion::next(i40); typedef typename result_of::next< I41>::type I42; I42 i42 = fusion::next(i41); typedef typename result_of::next< I42>::type I43; I43 i43 = fusion::next(i42); typedef typename result_of::next< I43>::type I44; I44 i44 = fusion::next(i43); typedef typename result_of::next< I44>::type I45; I45 i45 = fusion::next(i44); typedef typename result_of::next< I45>::type I46; I46 i46 = fusion::next(i45); typedef typename result_of::next< I46>::type I47; I47 i47 = fusion::next(i46); typedef typename result_of::next< I47>::type I48; I48 i48 = fusion::next(i47); typedef typename result_of::next< I48>::type I49; I49 i49 = fusion::next(i48); - this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; this->m49 = *i49; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<49>) { return this->m49; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<49>) const { return this->m49; } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp deleted file mode 100644 index 6829e9b50..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - - template - struct vector41; - template - struct vector42; - template - struct vector43; - template - struct vector44; - template - struct vector45; - template - struct vector46; - template - struct vector47; - template - struct vector48; - template - struct vector49; - template - struct vector50; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp deleted file mode 100644 index fb8f0e2f5..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp deleted file mode 100644 index d631b5320..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp +++ /dev/null @@ -1,84 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct vector_n_chooser - { - typedef vector10 type; - }; - template <> - struct vector_n_chooser - { - typedef vector0<> type; - }; - template - struct vector_n_chooser< - T0 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector1 type; - }; - template - struct vector_n_chooser< - T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector2 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector3 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector4 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_> - { - typedef vector5 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_> - { - typedef vector6 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_> - { - typedef vector7 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_> - { - typedef vector8 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_> - { - typedef vector9 type; - }; -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp deleted file mode 100644 index 9628f483e..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp +++ /dev/null @@ -1,154 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct vector_n_chooser - { - typedef vector20 type; - }; - template <> - struct vector_n_chooser - { - typedef vector0<> type; - }; - template - struct vector_n_chooser< - T0 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector1 type; - }; - template - struct vector_n_chooser< - T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector2 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector3 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector4 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector5 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector6 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector7 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector8 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector9 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector10 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector11 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector12 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector13 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector14 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_> - { - typedef vector15 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_> - { - typedef vector16 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_> - { - typedef vector17 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_> - { - typedef vector18 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_> - { - typedef vector19 type; - }; -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp deleted file mode 100644 index 38edabf45..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp +++ /dev/null @@ -1,224 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct vector_n_chooser - { - typedef vector30 type; - }; - template <> - struct vector_n_chooser - { - typedef vector0<> type; - }; - template - struct vector_n_chooser< - T0 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector1 type; - }; - template - struct vector_n_chooser< - T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector2 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector3 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector4 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector5 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector6 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector7 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector8 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector9 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector10 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector11 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector12 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector13 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector14 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector15 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector16 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector17 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector18 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector19 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector20 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector21 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector22 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector23 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector24 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - , void_ , void_ , void_ , void_ , void_> - { - typedef vector25 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - , void_ , void_ , void_ , void_> - { - typedef vector26 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - , void_ , void_ , void_> - { - typedef vector27 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - , void_ , void_> - { - typedef vector28 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - , void_> - { - typedef vector29 type; - }; -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp deleted file mode 100644 index a784b7573..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp +++ /dev/null @@ -1,294 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct vector_n_chooser - { - typedef vector40 type; - }; - template <> - struct vector_n_chooser - { - typedef vector0<> type; - }; - template - struct vector_n_chooser< - T0 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector1 type; - }; - template - struct vector_n_chooser< - T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector2 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector3 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector4 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector5 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector6 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector7 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector8 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector9 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector10 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector11 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector12 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector13 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector14 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector15 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector16 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector17 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector18 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector19 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector20 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector21 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector22 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector23 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector24 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector25 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector26 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector27 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector28 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector29 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector30 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector31 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector32 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector33 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector34 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - , void_ , void_ , void_ , void_ , void_> - { - typedef vector35 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - , void_ , void_ , void_ , void_> - { - typedef vector36 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - , void_ , void_ , void_> - { - typedef vector37 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - , void_ , void_> - { - typedef vector38 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - , void_> - { - typedef vector39 type; - }; -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp deleted file mode 100644 index fc9a260e2..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp +++ /dev/null @@ -1,364 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct vector_n_chooser - { - typedef vector50 type; - }; - template <> - struct vector_n_chooser - { - typedef vector0<> type; - }; - template - struct vector_n_chooser< - T0 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector1 type; - }; - template - struct vector_n_chooser< - T0 , T1 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector2 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector3 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector4 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector5 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector6 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector7 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector8 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector9 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector10 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector11 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector12 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector13 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector14 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector15 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector16 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector17 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector18 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector19 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector20 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector21 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector22 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector23 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector24 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector25 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector26 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector27 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector28 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector29 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector30 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector31 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector32 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector33 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector34 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector35 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector36 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector37 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector38 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector39 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector40 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector41 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 - , void_ , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector42 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 - , void_ , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector43 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 - , void_ , void_ , void_ , void_ , void_ , void_> - { - typedef vector44 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 - , void_ , void_ , void_ , void_ , void_> - { - typedef vector45 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 - , void_ , void_ , void_ , void_> - { - typedef vector46 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 - , void_ , void_ , void_> - { - typedef vector47 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 - , void_ , void_> - { - typedef vector48 type; - }; - template - struct vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 - , void_> - { - typedef vector49 type; - }; -}}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp deleted file mode 100644 index 42c3f5bc6..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp deleted file mode 100644 index 12b7a570c..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp +++ /dev/null @@ -1,325 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type arg0) - : vec(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && arg0 - , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler - ) - : vec(std::forward( arg0)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : vec(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 - ) - : vec(std::forward( arg0) , std::forward( arg1)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : vec(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : vec(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if_c< - boost::is_same::type>::value - , vector& - >::type - operator=(T&& rhs) - { - vec = std::forward( rhs); - return *this; - } -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp deleted file mode 100644 index 97f64fa35..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - > - struct vector; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp deleted file mode 100644 index 9c64ef05e..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp +++ /dev/null @@ -1,505 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type arg0) - : vec(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && arg0 - , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler - ) - : vec(std::forward( arg0)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : vec(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 - ) - : vec(std::forward( arg0) , std::forward( arg1)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : vec(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : vec(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if_c< - boost::is_same::type>::value - , vector& - >::type - operator=(T&& rhs) - { - vec = std::forward( rhs); - return *this; - } -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp deleted file mode 100644 index 8d4ea992d..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - > - struct vector; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp deleted file mode 100644 index 9df40b53a..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp +++ /dev/null @@ -1,685 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type arg0) - : vec(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && arg0 - , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler - ) - : vec(std::forward( arg0)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : vec(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 - ) - : vec(std::forward( arg0) , std::forward( arg1)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : vec(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : vec(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if_c< - boost::is_same::type>::value - , vector& - >::type - operator=(T&& rhs) - { - vec = std::forward( rhs); - return *this; - } -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp deleted file mode 100644 index 03f289e9c..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - > - struct vector; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp deleted file mode 100644 index 5da47eebc..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp +++ /dev/null @@ -1,865 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type arg0) - : vec(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && arg0 - , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler - ) - : vec(std::forward( arg0)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : vec(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 - ) - : vec(std::forward( arg0) , std::forward( arg1)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : vec(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : vec(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if_c< - boost::is_same::type>::value - , vector& - >::type - operator=(T&& rhs) - { - vec = std::forward( rhs); - return *this; - } -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp deleted file mode 100644 index 55c1097a7..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - > - struct vector; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp deleted file mode 100644 index 47e878bcc..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp +++ /dev/null @@ -1,1045 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type arg0) - : vec(arg0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && arg0 - , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler - ) - : vec(std::forward( arg0)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : vec(arg0 , arg1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 - ) - : vec(std::forward( arg0) , std::forward( arg1)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : vec(arg0 , arg1 , arg2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : vec(arg0 , arg1 , arg2 , arg3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} -# endif - -# if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - -# if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -# endif - BOOST_FUSION_GPU_ENABLED - vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 - ) - : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if_c< - boost::is_same::type>::value - , vector& - >::type - operator=(T&& rhs) - { - vec = std::forward( rhs); - return *this; - } -# endif - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp deleted file mode 100644 index 621f1606b..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - > - struct vector; -}} diff --git a/external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp b/external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp deleted file mode 100644 index 44feb6002..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_AT_IMPL_05052005_0232) -#define FUSION_VALUE_AT_IMPL_05052005_0232 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename mpl::at::type type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector.hpp deleted file mode 100644 index f5c3024ea..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector.hpp +++ /dev/null @@ -1,254 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2017 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR_07072005_1244) -#define FUSION_VECTOR_07072005_1244 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define FUSION_HASH # - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) - -#define BOOST_FUSION_VECTOR_COPY_INIT() \ - ctor_helper(rhs, is_base_of()) \ - -#define BOOST_FUSION_VECTOR_CTOR_HELPER() \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static vector_n const& \ - ctor_helper(vector const& rhs, mpl::true_) \ - { \ - return rhs.vec; \ - } \ - \ - template \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - static T const& \ - ctor_helper(T const& rhs, mpl::false_) \ - { \ - return rhs; \ - } - -#else - -#define BOOST_FUSION_VECTOR_COPY_INIT() \ - rhs \ - -#define BOOST_FUSION_VECTOR_CTOR_HELPER() - -#endif - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct vector - : sequence_base > - { - private: - - typedef typename detail::vector_n_chooser< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type - vector_n; - - template - friend struct vector; - - public: - - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs, - typename enable_if, detail::enabler_>::type = detail::enabler) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - // Expand a couple of forwarding constructors for arguments - // of type (T0), (T0, T1), (T0, T1, T2) etc. Example: - // - // vector( - // typename detail::call_param::type arg0 - // , typename detail::call_param::type arg1) - // : vec(arg0, arg1) {} - #include - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if_c< - boost::is_same::type>::value - , vector& - >::type - operator=(T&& rhs) - { - vec = BOOST_FUSION_FWD_ELEM(T, rhs); - return *this; - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I /*index*/) - { - return vec.at_impl(mpl::int_()); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I /*index*/) const - { - return vec.at_impl(mpl::int_()); - } - - private: - - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_HASH -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector10.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector10.hpp deleted file mode 100644 index 58a31ddec..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector10.hpp +++ /dev/null @@ -1,105 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR10_05042005_0257) -#define FUSION_VECTOR10_05042005_0257 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - - template - struct vector0 : sequence_base > - { - typedef mpl::vector0<> types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<0> size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector0() BOOST_NOEXCEPT {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector0(Sequence const& /*seq*/) BOOST_NOEXCEPT - {} - }; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector10.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector1 to vector10 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, 10) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp deleted file mode 100644 index d221faece..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VECTOR10_FWD_HPP_INCLUDED) -#define BOOST_FUSION_VECTOR10_FWD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct vector0; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector10_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - // expand vector1 to vector10 - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (1, 10) - #include BOOST_PP_ITERATE() -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - -#else - - template - struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector20.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector20.hpp deleted file mode 100644 index 89f644c5a..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector20.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR20_05052005_0205) -#define FUSION_VECTOR20_05052005_0205 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector20.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector11 to vector20 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (11, 20) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp deleted file mode 100644 index e69b59f4a..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VECTOR20_FWD_HPP_INCLUDED) -#define BOOST_FUSION_VECTOR20_FWD_HPP_INCLUDED - -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector20_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - // expand vector11 to vector20 - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (11, 20) - #include BOOST_PP_ITERATE() -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - -#else - - template - struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector30.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector30.hpp deleted file mode 100644 index ad838c9ac..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector30.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR30_05052005_0206) -#define FUSION_VECTOR30_05052005_0206 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector30.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector21 to vector30 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (21, 30) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp deleted file mode 100644 index e799b0965..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VECTOR30_FWD_HPP_INCLUDED) -#define BOOST_FUSION_VECTOR30_FWD_HPP_INCLUDED - -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector30_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - // expand vector21 to vector30 - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (21, 30) - #include BOOST_PP_ITERATE() -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - -#else - - template - struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector40.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector40.hpp deleted file mode 100644 index 10770907e..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector40.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR40_05052005_0208) -#define FUSION_VECTOR40_05052005_0208 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector40.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector31 to vector40 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (31, 40) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp deleted file mode 100644 index 790dd7613..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VECTOR40_FWD_HPP_INCLUDED) -#define BOOST_FUSION_VECTOR40_FWD_HPP_INCLUDED - -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector40_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - // expand vector31 to vector40 - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (31, 40) - #include BOOST_PP_ITERATE() -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - -#else - - template - struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector50.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector50.hpp deleted file mode 100644 index 6c0b48bbc..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector50.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR50_05052005_0207) -#define FUSION_VECTOR50_05052005_0207 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector50.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector41 to vector50 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (41, 50) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp deleted file mode 100644 index 4ec5e2812..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp +++ /dev/null @@ -1,59 +0,0 @@ -#ifndef BOOST_PP_IS_ITERATING -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VECTOR50_FWD_HPP_INCLUDED) -#define BOOST_FUSION_VECTOR50_FWD_HPP_INCLUDED - -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector50_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2011 Eric Niebler - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - // expand vector41 to vector50 - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (41, 50) - #include BOOST_PP_ITERATE() -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - -#else - - template - struct BOOST_PP_CAT(vector, BOOST_PP_ITERATION()); - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp deleted file mode 100644 index 3422e4b99..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_VECTOR_FORWARD_CTOR_07122005_1123) -#define FUSION_VECTOR_FORWARD_CTOR_07122005_1123 - -#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef FUSION_FORWARD_CTOR_FORWARD -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define M BOOST_PP_ITERATION() - - // XXX: -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED -#if M == 1 - explicit -#endif - vector(BOOST_PP_ENUM_BINARY_PARAMS( - M, typename detail::call_param::type arg)) - : vec(BOOST_PP_ENUM_PARAMS(M, arg)) {} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - template - // XXX: -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED -#if M == 1 - explicit -#endif - vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg) -#if M == 1 - , typename boost::disable_if_c::type>::value, detail::enabler_>::type = detail::enabler -#endif - ) - : vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {} -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - -#undef M -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp deleted file mode 100644 index f894b1a69..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR_FORWARD_07072005_0125) -#define FUSION_VECTOR_FORWARD_07072005_0125 - -#include -#include -#include - -#include -#if (FUSION_MAX_VECTOR_SIZE > 10) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 20) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 30) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 40) -#include -#endif - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - > - struct vector; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp deleted file mode 100644 index 932ce36c7..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector_n.hpp +++ /dev/null @@ -1,354 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -// No include guard. This file is meant to be included many times - -#if !defined(FUSION_MACRO_05042005) -#define FUSION_MACRO_05042005 - -#define FUSION_VECTOR_CTOR_DEFAULT_INIT(z, n, _) \ - m##n() - -#define FUSION_VECTOR_CTOR_INIT(z, n, _) \ - m##n(_##n) - -#define FUSION_VECTOR_MEMBER_CTOR_INIT(z, n, _) \ - m##n(other.m##n) - -#define FUSION_VECTOR_CTOR_FORWARD(z, n, _) \ - m##n(BOOST_FUSION_FWD_ELEM(T##n, other.m##n)) - -#define FUSION_VECTOR_CTOR_ARG_FWD(z, n, _) \ - m##n(BOOST_FUSION_FWD_ELEM(U##n, _##n)) - -#define FUSION_VECTOR_MEMBER_DECL(z, n, _) \ - T##n m##n; - -#define FUSION_VECTOR_MEMBER_FORWARD(z, n, _) \ - BOOST_FUSION_FWD_ELEM(U##n, _##n) - -#define FUSION_VECTOR_MEMBER_ASSIGN(z, n, _) \ - this->BOOST_PP_CAT(m, n) = vec.BOOST_PP_CAT(m, n); - -#define FUSION_VECTOR_MEMBER_DEREF_ASSIGN(z, n, _) \ - this->BOOST_PP_CAT(m, n) = *BOOST_PP_CAT(i, n); - -#define FUSION_VECTOR_MEMBER_MOVE(z, n, _) \ - this->BOOST_PP_CAT(m, n) = std::forward< \ - BOOST_PP_CAT(T, n)>(vec.BOOST_PP_CAT(m, n)); - -#define FUSION_VECTOR_MEMBER_AT_IMPL(z, n, _) \ - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - typename add_reference::type \ - at_impl(mpl::int_) { return this->m##n; } \ - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ - typename add_reference::type>::type \ - at_impl(mpl::int_) const { return this->m##n; } - -#define FUSION_VECTOR_MEMBER_ITER_DECL_VAR(z, n, _) \ - typedef typename result_of::next< \ - BOOST_PP_CAT(I, BOOST_PP_DEC(n))>::type BOOST_PP_CAT(I, n); \ - BOOST_PP_CAT(I, n) BOOST_PP_CAT(i, n) \ - = fusion::next(BOOST_PP_CAT(i, BOOST_PP_DEC(n))); - -#endif - -#define N BOOST_PP_ITERATION() - - template - struct BOOST_PP_CAT(vector_data, N) - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector_data, N)() - : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_DEFAULT_INIT, _) {} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - template -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) - , typename boost::enable_if >::type* /*dummy*/ = 0 - ) - : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_ARG_FWD, arg) {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector_data, N)( - BOOST_PP_CAT(vector_data, N)&& other) - : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_FORWARD, arg) {} -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector_data, N)( - BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type arg)) - : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_INIT, arg) {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector_data, N)( - BOOST_PP_CAT(vector_data, N) const& other) - : BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_CTOR_INIT, _) {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector_data, N)& - operator=(BOOST_PP_CAT(vector_data, N) const& vec) - { - BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _) - return *this; - } - - template -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - static BOOST_PP_CAT(vector_data, N) - init_from_sequence(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) - return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i)); - } - - template -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - static BOOST_PP_CAT(vector_data, N) - init_from_sequence(Sequence& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) - return BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_PARAMS(N, *i)); - } - - BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DECL, _) - }; - - template - struct BOOST_PP_CAT(vector, N) - : BOOST_PP_CAT(vector_data, N) - , sequence_base > - { - typedef BOOST_PP_CAT(vector, N) this_type; - typedef BOOST_PP_CAT(vector_data, N) base_type; - typedef mpl::BOOST_PP_CAT(vector, N) types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_ size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)() {} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED -#if (N == 1) - explicit -#endif - BOOST_PP_CAT(vector, N)( - BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type arg)) - : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - template -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED -#if (N == 1) - explicit - BOOST_PP_CAT(vector, N)(U0&& _0 - , typename boost::enable_if >::type* /*dummy*/ = 0 - ) - : base_type(BOOST_FUSION_FWD_ELEM(U0, _0)) {} -#else - BOOST_PP_CAT(vector, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg)) - : base_type(BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_FORWARD, arg)) {} -#endif - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N)&& rhs) - : base_type(std::forward(rhs)) {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N) const& rhs) - : base_type(static_cast(rhs)) {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)& - operator=(BOOST_PP_CAT(vector, N) const& vec) - { - base_type::operator=(vec); - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)& - operator=(BOOST_PP_CAT(vector, N)&& vec) - { - BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_MOVE, _) - return *this; - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - - template -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)( - BOOST_PP_CAT(vector, N) const& vec) - : base_type(BOOST_PP_ENUM_PARAMS(N, vec.m)) {} - - template -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)( - Sequence const& seq - , typename boost::enable_if >::type* = 0 -#if (N == 1) - , typename boost::disable_if >::type* /*dummy*/ = 0 -#endif - ) - : base_type(base_type::init_from_sequence(seq)) {} - - template -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -FUSION_HASH endif -#else -#if !defined(BOOST_CLANG) - BOOST_CXX14_CONSTEXPR -#endif -#endif - BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)( - Sequence& seq - , typename boost::enable_if >::type* = 0 -#if (N == 1) - , typename boost::disable_if >::type* /*dummy*/ = 0 -#endif - ) - : base_type(base_type::init_from_sequence(seq)) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector, N)& - operator=(BOOST_PP_CAT(vector, N) const& vec) - { - BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_ASSIGN, _) - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, this_type&>::type - operator=(Sequence const& seq) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(seq); - BOOST_PP_REPEAT_FROM_TO(1, N, FUSION_VECTOR_MEMBER_ITER_DECL_VAR, _) - BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_DEREF_ASSIGN, _) - return *this; - } - - BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_AT_IMPL, _) - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - at_impl(I) - { - return this->at_impl(mpl::int_()); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type>::type - at_impl(I) const - { - return this->at_impl(mpl::int_()); - } - }; - -#undef N diff --git a/external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp b/external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp deleted file mode 100644 index 002889ceb..000000000 --- a/external/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp +++ /dev/null @@ -1,107 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_VECTOR_N_CHOOSER_07072005_1248) -#define FUSION_VECTOR_N_CHOOSER_07072005_1248 - -#include - -// include vector0..N where N is FUSION_MAX_VECTOR_SIZE -#include -#if (FUSION_MAX_VECTOR_SIZE > 10) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 20) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 30) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 40) -#include -#endif - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_chooser" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct vector_n_chooser - { - typedef BOOST_PP_CAT(vector, FUSION_MAX_VECTOR_SIZE) type; - }; - - template <> - struct vector_n_chooser - { - typedef vector0<> type; - }; - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_DEC(FUSION_MAX_VECTOR_SIZE)) -#include BOOST_PP_ITERATE() - -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#else // defined(BOOST_PP_IS_ITERATING) - -#define N BOOST_PP_ITERATION() - - template - struct vector_n_chooser< - BOOST_PP_ENUM_PARAMS(N, T) - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(FUSION_MAX_VECTOR_SIZE, N), void_ BOOST_PP_INTERCEPT)> - { - typedef BOOST_PP_CAT(vector, N) type; - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/external/boost/fusion/container/vector/detail/deref_impl.hpp b/external/boost/fusion/container/vector/detail/deref_impl.hpp deleted file mode 100644 index c85bb82b3..000000000 --- a/external/boost/fusion/container/vector/detail/deref_impl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_IMPL_05042005_1037) -#define FUSION_DEREF_IMPL_05042005_1037 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef typename value_at_impl::template apply::type element; - - typedef typename - mpl::if_< - is_const - , typename fusion::detail::cref_result::type - , typename fusion::detail::ref_result::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.vec.at_impl(index()); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/distance_impl.hpp b/external/boost/fusion/container/vector/detail/distance_impl.hpp deleted file mode 100644 index 4c2a1226d..000000000 --- a/external/boost/fusion/container/vector/detail/distance_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DISTANCE_IMPL_09172005_0751) -#define FUSION_DISTANCE_IMPL_09172005_0751 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct distance_impl; - - template <> - struct distance_impl - { - template - struct apply : mpl::minus - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename mpl::minus< - typename Last::index, typename First::index>::type - call(First const&, Last const&) - { - typedef typename mpl::minus< - typename Last::index, typename First::index>::type - result; - return result(); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/end_impl.hpp b/external/boost/fusion/container/vector/detail/end_impl.hpp deleted file mode 100644 index a77ef644e..000000000 --- a/external/boost/fusion/container/vector/detail/end_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_05042005_1142) -#define FUSION_END_IMPL_05042005_1142 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::size size; - typedef vector_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& v) - { - return type(v); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/equal_to_impl.hpp b/external/boost/fusion/container/vector/detail/equal_to_impl.hpp deleted file mode 100644 index 18b3e4a31..000000000 --- a/external/boost/fusion/container/vector/detail/equal_to_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_IMPL_05052005_1215) -#define FUSION_EQUAL_TO_IMPL_05052005_1215 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct equal_to_impl; - - template <> - struct equal_to_impl - { - template - struct apply - : is_same< - typename I1::identity - , typename I2::identity - > - { - }; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/container/vector/detail/next_impl.hpp b/external/boost/fusion/container/vector/detail/next_impl.hpp deleted file mode 100644 index 28408205d..000000000 --- a/external/boost/fusion/container/vector/detail/next_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_05042005_1058) -#define FUSION_NEXT_IMPL_05042005_1058 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - template - struct vector_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef vector_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.vec); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/prior_impl.hpp b/external/boost/fusion/container/vector/detail/prior_impl.hpp deleted file mode 100644 index 4d040d395..000000000 --- a/external/boost/fusion/container/vector/detail/prior_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PRIOR_IMPL_05042005_1145) -#define FUSION_PRIOR_IMPL_05042005_1145 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - template - struct vector_iterator; - - namespace extension - { - template - struct prior_impl; - - template <> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef vector_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.vec); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/detail/value_at_impl.hpp b/external/boost/fusion/container/vector/detail/value_at_impl.hpp deleted file mode 100644 index a2b9b2f6b..000000000 --- a/external/boost/fusion/container/vector/detail/value_at_impl.hpp +++ /dev/null @@ -1,62 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VALUE_AT_IMPL_16122014_1641 -#define FUSION_VALUE_AT_IMPL_16122014_1641 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace vector_detail - { - template - struct store; - - template - static inline BOOST_FUSION_GPU_ENABLED - U value_at_impl(store const volatile*); - } - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef - decltype(vector_detail::value_at_impl(boost::declval())) - type; - }; - }; - } -}} - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/detail/value_of_impl.hpp b/external/boost/fusion/container/vector/detail/value_of_impl.hpp deleted file mode 100644 index d67ab3fcc..000000000 --- a/external/boost/fusion/container/vector/detail/value_of_impl.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_OF_IMPL_05052005_1128) -#define FUSION_VALUE_OF_IMPL_05052005_1128 - -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename Iterator::vector vector; - typedef typename Iterator::index index; - typedef typename value_at_impl::template apply::type type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/container/vector/vector.hpp b/external/boost/fusion/container/vector/vector.hpp deleted file mode 100644 index 1d6c5f1f2..000000000 --- a/external/boost/fusion/container/vector/vector.hpp +++ /dev/null @@ -1,322 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR_11052014_1625 -#define FUSION_VECTOR_11052014_1625 - -#include -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_tag; - struct random_access_traversal_tag; - - namespace vector_detail - { - struct each_elem {}; - - template < - typename This, typename T, typename T_, std::size_t Size, bool IsSeq - > - struct can_convert_impl : false_type {}; - - template - struct can_convert_impl : true_type {}; - - template - struct can_convert_impl - : integral_constant< - bool - , !is_convertible< - Sequence - , typename fusion::extension::value_at_impl:: - template apply< This, mpl::int_<0> >::type - >::value - > - {}; - - template - struct can_convert - : can_convert_impl< - This, T, T_, Size, traits::is_sequence::value - > - {}; - - template - struct is_longer_sequence_impl : false_type {}; - - template - struct is_longer_sequence_impl - : integral_constant< - bool, (fusion::result_of::size::value >= Size) - > - {}; - - template - struct is_longer_sequence - : is_longer_sequence_impl::value, Size> - {}; - - // forward_at_c allows to access Nth element even if ForwardSequence - // since fusion::at_c requires RandomAccessSequence. - namespace result_of - { - template - struct forward_at_c - : fusion::result_of::deref< - typename fusion::result_of::advance_c< - typename fusion::result_of::begin< - typename remove_reference::type - >::type - , N - >::type - > - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::forward_at_c::type - forward_at_c(Sequence&& seq) - { - typedef typename - result_of::forward_at_c::type - result; - return std::forward(*advance_c(begin(seq))); - } - - // Object proxy since preserve object order - template - struct store - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - store() - : elem() // value-initialized explicitly - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - store(store const& rhs) - : elem(rhs.elem) - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - store& - operator=(store const& rhs) - { - elem = rhs.elem; - return *this; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - store(store&& rhs) - : elem(static_cast(rhs.elem)) - {} - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - store& - operator=(store&& rhs) - { - elem = static_cast(rhs.elem); - return *this; - } - - template < - typename U - , typename = typename boost::disable_if< - is_base_of::type> - >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - store(U&& rhs) - : elem(std::forward(rhs)) - {} - - T elem; - }; - - template - struct vector_data; - - template - struct vector_data, T...> - : store... - , sequence_base, T...> > - { - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_ size; - typedef vector type_sequence; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_DEFAULTED_FUNCTION(vector_data(), {}) - - template < - typename Sequence - , typename Sequence_ = typename remove_reference::type - , typename = typename boost::enable_if< - can_convert - >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - vector_data(each_elem, Sequence&& rhs) - : store(forward_at_c(std::forward(rhs)))... - {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit - vector_data(each_elem, U&&... var) - : store(std::forward(var))... - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void - assign_sequence(Sequence&& seq) - { - assign(std::forward(seq), detail::index_sequence()); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void - assign(Sequence&&, detail::index_sequence<>) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void - assign(Sequence&& seq, detail::index_sequence) - { - at_impl(mpl::int_()) = vector_detail::forward_at_c(seq); - assign(std::forward(seq), detail::index_sequence()); - } - - template - static BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - U& at_detail(store* this_) - { - return this_->elem; - } - - template - static BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - U const& at_detail(store const* this_) - { - return this_->elem; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - auto at_impl(J) -> decltype(at_detail(this)) - { - return at_detail(this); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - auto at_impl(J) const -> decltype(at_detail(this)) - { - return at_detail(this); - } - }; - } // namespace boost::fusion::vector_detail - - template - struct vector - : vector_detail::vector_data< - typename detail::make_index_sequence::type - , T... - > - { - typedef vector_detail::vector_data< - typename detail::make_index_sequence::type - , T... - > base; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_DEFAULTED_FUNCTION(vector(), {}) - - template < - typename... U - , typename = typename boost::enable_if_c<( - sizeof...(U) >= 1 && - fusion::detail::and_...>::value && - !fusion::detail::and_< - is_base_of::type>... - >::value - )>::type - > - // XXX: constexpr become error due to pull-request #79, booooo!! - // In the (near) future release, should be fixed. - /* BOOST_CONSTEXPR */ BOOST_FUSION_GPU_ENABLED - explicit vector(U&&... u) - : base(vector_detail::each_elem(), std::forward(u)...) - {} - - template < - typename Sequence - , typename = typename boost::enable_if_c< - vector_detail::is_longer_sequence< - typename remove_reference::type, sizeof...(T) - >::value - >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector(Sequence&& seq) - : base(vector_detail::each_elem(), std::forward(seq)) - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector& - operator=(Sequence&& rhs) - { - base::assign_sequence(std::forward(rhs)); - return *this; - } - }; -}} - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/vector10.hpp b/external/boost/fusion/container/vector/vector10.hpp deleted file mode 100644 index 65722fe64..000000000 --- a/external/boost/fusion/container/vector/vector10.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR10_11052014_2316 -#define FUSION_VECTOR10_11052014_2316 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/vector20.hpp b/external/boost/fusion/container/vector/vector20.hpp deleted file mode 100644 index c36e50c7d..000000000 --- a/external/boost/fusion/container/vector/vector20.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR20_11052014_2316 -#define FUSION_VECTOR20_11052014_2316 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/vector30.hpp b/external/boost/fusion/container/vector/vector30.hpp deleted file mode 100644 index e9f891f28..000000000 --- a/external/boost/fusion/container/vector/vector30.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR30_11052014_2316 -#define FUSION_VECTOR30_11052014_2316 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/vector40.hpp b/external/boost/fusion/container/vector/vector40.hpp deleted file mode 100644 index 4b753a084..000000000 --- a/external/boost/fusion/container/vector/vector40.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR40_11052014_2316 -#define FUSION_VECTOR40_11052014_2316 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/vector50.hpp b/external/boost/fusion/container/vector/vector50.hpp deleted file mode 100644 index 5d8d35631..000000000 --- a/external/boost/fusion/container/vector/vector50.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR50_11052014_2316 -#define FUSION_VECTOR50_11052014_2316 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/vector_fwd.hpp b/external/boost/fusion/container/vector/vector_fwd.hpp deleted file mode 100644 index dcb0a0fc0..000000000 --- a/external/boost/fusion/container/vector/vector_fwd.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_VECTOR_FORWARD_11052014_1626 -#define FUSION_VECTOR_FORWARD_11052014_1626 - -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace fusion -{ - template - struct vector; - -#define FUSION_VECTOR_N_ALIASES(z, N, d) \ - template \ - using BOOST_PP_CAT(vector, N) = vector; - - BOOST_PP_REPEAT(51, FUSION_VECTOR_N_ALIASES, ~) - -#undef FUSION_VECTOR_N_ALIASES -}} - -#endif -#endif - diff --git a/external/boost/fusion/container/vector/vector_iterator.hpp b/external/boost/fusion/container/vector/vector_iterator.hpp deleted file mode 100644 index 150530d14..000000000 --- a/external/boost/fusion/container/vector/vector_iterator.hpp +++ /dev/null @@ -1,62 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VECTOR_ITERATOR_05042005_0635) -#define FUSION_VECTOR_ITERATOR_05042005_0635 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct vector_iterator_tag; - struct random_access_traversal_tag; - - template - struct vector_iterator_identity; - - template - struct vector_iterator : iterator_base > - { - typedef mpl::int_ index; - typedef Vector vector; - typedef vector_iterator_tag fusion_tag; - typedef random_access_traversal_tag category; - typedef vector_iterator_identity< - typename add_const::type, N> identity; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_iterator(Vector& in_vec) - : vec(in_vec) {} - - Vector& vec; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - vector_iterator& operator= (vector_iterator const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::vector_iterator > - { }; -} -#endif - -#endif - diff --git a/external/boost/fusion/functional.hpp b/external/boost/fusion/functional.hpp deleted file mode 100644 index 56b25cff0..000000000 --- a/external/boost/fusion/functional.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_HPP_INCLUDED - -#include -#include -#include -#include - -#endif - diff --git a/external/boost/fusion/functional/adapter.hpp b/external/boost/fusion/functional/adapter.hpp deleted file mode 100644 index a4ddc7a38..000000000 --- a/external/boost/fusion/functional/adapter.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_ADAPTER_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#endif diff --git a/external/boost/fusion/functional/adapter/detail/access.hpp b/external/boost/fusion/functional/adapter/detail/access.hpp deleted file mode 100644 index ee03ffd0a..000000000 --- a/external/boost/fusion/functional/adapter/detail/access.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_ADAPTER_DETAIL_ACCESS_HPP_INCLUDED - -namespace boost { namespace fusion { namespace detail -{ - // const reference deduction for function templates that accept T const & - template struct cref { typedef T const& type; }; - template struct cref { typedef T const& type; }; - template struct cref { typedef T const& type; }; - - // mutable reference deduction for function templates that accept T & - template struct mref { typedef T & type; }; - template struct mref { typedef T & type; }; - - // generic reference deduction for function templates that are overloaded - // to accept both T const & and T & - template struct gref { typedef T const& type; }; - template struct gref { typedef T & type; }; - template struct gref { typedef T const& type; }; - - // appropriately qualified target function in const context - template struct qf_c { typedef T const type; }; - template struct qf_c { typedef T const type; }; - template struct qf_c { typedef T type; }; - - // appropriately qualified target function in non-const context - template struct qf { typedef T type; }; - template struct qf { typedef T const type; }; - template struct qf { typedef T type; }; -}}} - -#endif - diff --git a/external/boost/fusion/functional/adapter/fused.hpp b/external/boost/fusion/functional/adapter/fused.hpp deleted file mode 100644 index c27d0acc5..000000000 --- a/external/boost/fusion/functional/adapter/fused.hpp +++ /dev/null @@ -1,101 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - template class fused; - - //----- ---- --- -- - - - - - - template - class fused - { - Function fnc_transformed; - - typedef typename detail::qf_c::type & func_const_fwd_t; - typedef typename detail::qf::type & func_fwd_t; - - public: - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline explicit fused(func_const_fwd_t f = Function()) - : fnc_transformed(f) - { } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - operator()(Seq const & s) const - { - return fusion::invoke(this->fnc_transformed,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - operator()(Seq const & s) - { - return fusion::invoke(this->fnc_transformed,s); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - operator()(Seq & s) const - { - return fusion::invoke(this->fnc_transformed,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - operator()(Seq & s) - { - return fusion::invoke(this->fnc_transformed,s); - } - - template - struct result; - - template - struct result< Self const (Seq) > - : result_of::invoke::type > - { }; - - template - struct result< Self(Seq) > - : result_of::invoke::type > - { }; - - }; - -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - diff --git a/external/boost/fusion/functional/adapter/fused_function_object.hpp b/external/boost/fusion/functional/adapter/fused_function_object.hpp deleted file mode 100644 index cdb9c24bd..000000000 --- a/external/boost/fusion/functional/adapter/fused_function_object.hpp +++ /dev/null @@ -1,106 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - template class fused_function_object; - - //----- ---- --- -- - - - - - - template - class fused_function_object - { - Function fnc_transformed; - - typedef typename detail::qf_c::type & func_const_fwd_t; - typedef typename detail::qf::type & func_fwd_t; - - public: - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline explicit fused_function_object(func_const_fwd_t f = Function()) - : fnc_transformed(f) - { } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type operator()(Seq const & s) const - { - return fusion::invoke_function_object< - func_const_fwd_t >(this->fnc_transformed,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type - operator()(Seq const & s) - { - return fusion::invoke_function_object< - func_fwd_t >(this->fnc_transformed,s); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type - operator()(Seq & s) const - { - return fusion::invoke_function_object< - func_const_fwd_t >(this->fnc_transformed,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type - operator()(Seq & s) - { - return fusion::invoke_function_object< - func_fwd_t >(this->fnc_transformed,s); - } - - template - struct result; - - template - struct result< Self const (Seq) > - : result_of::invoke_function_object::type > - { }; - - template - struct result< Self(Seq) > - : result_of::invoke_function_object::type > - { }; - }; - -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - diff --git a/external/boost/fusion/functional/adapter/fused_procedure.hpp b/external/boost/fusion/functional/adapter/fused_procedure.hpp deleted file mode 100644 index 79be21767..000000000 --- a/external/boost/fusion/functional/adapter/fused_procedure.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - template class fused_procedure; - - //----- ---- --- -- - - - - - - template - class fused_procedure - { - Function fnc_transformed; - - typedef typename detail::qf_c::type & func_const_fwd_t; - typedef typename detail::qf::type & func_fwd_t; - - public: - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline explicit fused_procedure(func_const_fwd_t f = Function()) - : fnc_transformed(f) - { } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void operator()(Seq const & s) const - { - fusion::invoke_procedure< - func_const_fwd_t >(this->fnc_transformed,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void operator()(Seq const & s) - { - fusion::invoke_procedure< - func_fwd_t >(this->fnc_transformed,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void operator()(Seq & s) const - { - fusion::invoke_procedure< - func_const_fwd_t >(this->fnc_transformed,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline void operator()(Seq & s) - { - return fusion::invoke_procedure< - func_fwd_t >(this->fnc_transformed,s); - } - - typedef void result_type; - }; -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - diff --git a/external/boost/fusion/functional/adapter/limits.hpp b/external/boost/fusion/functional/adapter/limits.hpp deleted file mode 100644 index 9fb5a2a2c..000000000 --- a/external/boost/fusion/functional/adapter/limits.hpp +++ /dev/null @@ -1,31 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED) -# define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED - -# include -# if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -# endif - -# if !defined(BOOST_FUSION_UNFUSED_MAX_ARITY) -# define BOOST_FUSION_UNFUSED_MAX_ARITY 6 -# elif !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) && \ - (BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE) -# error "BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" -# endif -# if !defined(BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY) -# define BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY 6 -# elif !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) && \ - (BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE) -# error "BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY > FUSION_MAX_VECTOR_SIZE" -# endif - -#endif - diff --git a/external/boost/fusion/functional/adapter/unfused.hpp b/external/boost/fusion/functional/adapter/unfused.hpp deleted file mode 100644 index 9d85869dc..000000000 --- a/external/boost/fusion/functional/adapter/unfused.hpp +++ /dev/null @@ -1,180 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED) -#if !defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include -#include - -#include - -#include - -#include - -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - template - class unfused; - - //----- ---- --- -- - - - - - - template - class unfused - : public unfused - { - typedef typename detail::qf_c::type function_c; - typedef typename detail::qf::type function; - typedef typename detail::call_param::type func_const_fwd_t; - public: - - using unfused::operator(); - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline explicit unfused(func_const_fwd_t f = function()) - : unfused(f) - { } - - typedef typename boost::result_of< - function_c(fusion::vector0<> &) >::type call_const_0_result; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline call_const_0_result operator()() const - { - fusion::vector0<> arg; - return this->fnc_transformed(arg); - } - - typedef typename boost::result_of< - function(fusion::vector0<> &) >::type call_0_result; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline call_0_result operator()() - { - fusion::vector0<> arg; - return this->fnc_transformed(arg); - } - }; - - template class unfused - { - protected: - Function fnc_transformed; - typedef typename detail::qf_c::type function_c; - typedef typename detail::qf::type function; - typedef typename detail::call_param::type func_const_fwd_t; - public: - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline explicit unfused(func_const_fwd_t f = function()) - : fnc_transformed(f) - { } - - template - struct result; - - #define BOOST_PP_FILENAME_1 \ - - #define BOOST_PP_ITERATION_LIMITS \ - (1,BOOST_FUSION_UNFUSED_MAX_ARITY) - #include BOOST_PP_ITERATE() - }; -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -namespace boost -{ -#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_DECLTYPE) - template - struct result_of< boost::fusion::unfused const () > - { - typedef typename boost::fusion::unfused::call_const_0_result type; - }; - template - struct result_of< boost::fusion::unfused() > - { - typedef typename boost::fusion::unfused::call_0_result type; - }; -#endif - template - struct tr1_result_of< boost::fusion::unfused const () > - { - typedef typename boost::fusion::unfused::call_const_0_result type; - }; - template - struct tr1_result_of< boost::fusion::unfused() > - { - typedef typename boost::fusion::unfused::call_0_result type; - }; -} - -#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP_INCLUDED -#else // defined(BOOST_PP_IS_ITERATING) -//////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -//////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - - template - struct result< Self const (BOOST_PP_ENUM_PARAMS(N,T)) > - : boost::result_of< function_c( - BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N, - typename detail::mref::type BOOST_PP_INTERCEPT) > & )> - { }; - - template - struct result< Self(BOOST_PP_ENUM_PARAMS(N,T)) > - : boost::result_of< function( - BOOST_PP_CAT(fusion::vector,N)< BOOST_PP_ENUM_BINARY_PARAMS(N, - typename detail::mref::type BOOST_PP_INTERCEPT) > & )> - { }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename boost::result_of & )>::type - operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const - { - BOOST_PP_CAT(fusion::vector,N)< - BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT) > - arg(BOOST_PP_ENUM_PARAMS(N,a)); - return this->fnc_transformed(arg); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename boost::result_of & )>::type - operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) - { - BOOST_PP_CAT(fusion::vector,N)< - BOOST_PP_ENUM_BINARY_PARAMS(N,T,& BOOST_PP_INTERCEPT) > - arg(BOOST_PP_ENUM_PARAMS(N,a)); - return this->fnc_transformed(arg); - } -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) -#endif - diff --git a/external/boost/fusion/functional/adapter/unfused_typed.hpp b/external/boost/fusion/functional/adapter/unfused_typed.hpp deleted file mode 100644 index 23faf1531..000000000 --- a/external/boost/fusion/functional/adapter/unfused_typed.hpp +++ /dev/null @@ -1,179 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP_INCLUDED) -#if !defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include -#include -#include -#include - -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - - -namespace boost { namespace fusion -{ - - template class unfused_typed; - - //----- ---- --- -- - - - - - - namespace detail - { - template - struct unfused_typed_impl; - } - - template - class unfused_typed - : public detail::unfused_typed_impl - < unfused_typed, Function, Sequence, - result_of::size::value > - { - Function fnc_transformed; - - template - friend struct detail::unfused_typed_impl; - - typedef typename detail::call_param::type func_const_fwd_t; - - public: - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline explicit unfused_typed(func_const_fwd_t f = Function()) - : fnc_transformed(f) - { } - }; - - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (0,BOOST_FUSION_UNFUSED_TYPED_MAX_ARITY) - #include BOOST_PP_ITERATE() - -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -namespace boost -{ -#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_DECLTYPE) - template - struct result_of< boost::fusion::unfused_typed const () > - : boost::fusion::unfused_typed::template result< - boost::fusion::unfused_typed const () > - { }; - template - struct result_of< boost::fusion::unfused_typed() > - : boost::fusion::unfused_typed::template result< - boost::fusion::unfused_typed () > - { }; -#endif - template - struct tr1_result_of< boost::fusion::unfused_typed const () > - : boost::fusion::unfused_typed::template result< - boost::fusion::unfused_typed const () > - { }; - template - struct tr1_result_of< boost::fusion::unfused_typed() > - : boost::fusion::unfused_typed::template result< - boost::fusion::unfused_typed () > - { }; -} - - -#define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP_INCLUDED -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - - namespace detail - { - - template - struct unfused_typed_impl - { - typedef typename detail::qf_c::type function_c; - typedef typename detail::qf::type function; - typedef typename result_of::as_vector::type arg_vector_t; - - public: - -#define M(z,i,s) \ - typename call_param::type>::type a##i - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename boost::result_of< - function_c(arg_vector_t &) >::type - operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) const - { -#if N > 0 - arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a)); -#else - arg_vector_t arg; -#endif - return static_cast(this)->fnc_transformed(arg); - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename boost::result_of< - function(arg_vector_t &) >::type - operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) - { -#if N > 0 - arg_vector_t arg(BOOST_PP_ENUM_PARAMS(N,a)); -#else - arg_vector_t arg; -#endif - return static_cast(this)->fnc_transformed(arg); - } - -#undef M - - template struct result { typedef void type; }; - - template - struct result< Self const (BOOST_PP_ENUM_PARAMS(N,T)) > - : boost::result_of< function_c(arg_vector_t &) > - { }; - - template - struct result< Self (BOOST_PP_ENUM_PARAMS(N,T)) > - : boost::result_of< function(arg_vector_t &) > - { }; - }; - - } // namespace detail - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) -#endif - diff --git a/external/boost/fusion/functional/generation.hpp b/external/boost/fusion/functional/generation.hpp deleted file mode 100644 index b97fd6c01..000000000 --- a/external/boost/fusion/functional/generation.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_GENERATION_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp b/external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp deleted file mode 100644 index 2548a0865..000000000 --- a/external/boost/fusion/functional/generation/detail/gen_make_adapter.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -// No include guard - this file is included multiple times intentionally. - -#include -#include - -#if !defined(BOOST_FUSION_CLASS_TPL_NAME) -# error "BOOST_FUSION_CLASS_TPL_NAME undefined" -#endif - -#define BOOST_FUSION_FUNC_NAME BOOST_PP_CAT(make_,BOOST_FUSION_CLASS_TPL_NAME) - -namespace boost { namespace fusion -{ - - namespace result_of - { - template - struct BOOST_FUSION_FUNC_NAME - { - typedef fusion::BOOST_FUSION_CLASS_TPL_NAME< - typename fusion::detail::as_fusion_element::type > type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::BOOST_FUSION_FUNC_NAME::type - BOOST_FUSION_FUNC_NAME(F const & f) - { - return typename result_of::BOOST_FUSION_FUNC_NAME::type(f); - } - -}} - -#undef BOOST_FUSION_CLASS_TPL_NAME -#undef BOOST_FUSION_FUNC_NAME - diff --git a/external/boost/fusion/functional/generation/make_fused.hpp b/external/boost/fusion/functional/generation/make_fused.hpp deleted file mode 100644 index 13ed807ea..000000000 --- a/external/boost/fusion/functional/generation/make_fused.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_HPP_INCLUDED - -#include -#include - -#define BOOST_FUSION_CLASS_TPL_NAME fused -#include - -#endif - diff --git a/external/boost/fusion/functional/generation/make_fused_function_object.hpp b/external/boost/fusion/functional/generation/make_fused_function_object.hpp deleted file mode 100644 index f3169e6ee..000000000 --- a/external/boost/fusion/functional/generation/make_fused_function_object.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_FUNCTION_OBJECT_HPP_INCLUDED - -#include -#include - -#define BOOST_FUSION_CLASS_TPL_NAME fused_function_object -#include - -#endif - diff --git a/external/boost/fusion/functional/generation/make_fused_procedure.hpp b/external/boost/fusion/functional/generation/make_fused_procedure.hpp deleted file mode 100644 index f8ca1254a..000000000 --- a/external/boost/fusion/functional/generation/make_fused_procedure.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_FUSED_PROCEDURE_HPP_INCLUDED - -#include -#include - -#define BOOST_FUSION_CLASS_TPL_NAME fused_procedure -#include - -#endif - diff --git a/external/boost/fusion/functional/generation/make_unfused.hpp b/external/boost/fusion/functional/generation/make_unfused.hpp deleted file mode 100644 index 6e7f9e006..000000000 --- a/external/boost/fusion/functional/generation/make_unfused.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_GENERATION_MAKE_UNFUSED_HPP_INCLUDED - -#include -#include - -#define BOOST_FUSION_CLASS_TPL_NAME unfused -#include - -#endif - diff --git a/external/boost/fusion/functional/invocation.hpp b/external/boost/fusion/functional/invocation.hpp deleted file mode 100644 index fe881bfb5..000000000 --- a/external/boost/fusion/functional/invocation.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_INVOCATION_HPP_INCLUDED - -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/functional/invocation/detail/that_ptr.hpp b/external/boost/fusion/functional/invocation/detail/that_ptr.hpp deleted file mode 100644 index 33ee93bf3..000000000 --- a/external/boost/fusion/functional/invocation/detail/that_ptr.hpp +++ /dev/null @@ -1,99 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED) -#define BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_THAT_PTR_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct that_ptr - { - private: - - typedef typename remove_reference::type pointee; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline pointee * do_get_pointer(T &, pointee * x) - { - return x; - } - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline pointee * do_get_pointer(T & x, void const *) - { - return get_pointer(x); - } - - public: - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline pointee * get(pointee * x) - { - return x; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline pointee * get(pointee & x) - { - return boost::addressof(x); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline pointee * get(T & x) - { - return do_get_pointer(x, boost::addressof(x)); - } - }; - - template struct non_const_pointee; - -#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) -# define BOOST_FUSION_TRAIT_DECL __cdecl -#else -# define BOOST_FUSION_TRAIT_DECL /**/ -#endif - -namespace adl_barrier - { - using boost::get_pointer; - void const * BOOST_FUSION_TRAIT_DECL get_pointer(...); // fallback - - template< typename T> char const_tester(T *); - template< typename T> long const_tester(T const *); - - template - struct non_const_pointee_impl - { - static Ptr & what; - - static bool const value = - sizeof(const_tester(get_pointer(what))) == 1; - }; - } - - template struct non_const_pointee - : adl_barrier::non_const_pointee_impl< - typename remove_cv< - typename remove_reference::type >::type > - { - typedef non_const_pointee type; - typedef bool value_type; - }; - -}}} - -#endif - diff --git a/external/boost/fusion/functional/invocation/invoke.hpp b/external/boost/fusion/functional/invocation/invoke.hpp deleted file mode 100644 index 09f3ead87..000000000 --- a/external/boost/fusion/functional/invocation/invoke.hpp +++ /dev/null @@ -1,414 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2006 Joao Abecasis - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED) -#if !defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace detail - { - namespace ft = function_types; - - template< - typename Function, class Sequence, - int N = result_of::size::value, - bool CBI = ft::is_callable_builtin::value, - bool RandomAccess = traits::is_random_access::value, - typename Enable = void - > - struct invoke_impl; - - template - struct invoke_param_types; - - template - struct invoke_data_member; - - template - struct invoke_fn_ptr; - - template - struct invoke_mem_fn; - - #define BOOST_PP_FILENAME_1 - #define BOOST_PP_ITERATION_LIMITS (0, BOOST_FUSION_INVOKE_MAX_ARITY) - #include BOOST_PP_ITERATE() - - template - struct invoke_nonmember_builtin - // use same implementation as for function objects but... - : invoke_fn_ptr< // ...work around boost::result_of bugs - typename mpl::eval_if< ft::is_function, - boost::add_reference, boost::remove_cv >::type, - Sequence, N, RandomAccess > - { }; - - template - struct invoke_impl - : mpl::if_< ft::is_member_function_pointer, - invoke_mem_fn, - invoke_nonmember_builtin - >::type - { }; - - template - struct invoke_impl - : mpl::eval_if< ft::is_member_pointer, - mpl::if_< ft::is_member_function_pointer, - invoke_mem_fn, - invoke_data_member >, - mpl::identity< invoke_nonmember_builtin< - Function,Sequence,1,RandomAccess> > - >::type - { }; - - template - struct invoke_data_member< T C::*, Sequence > - { - private: - - typedef typename result_of::front::type that; - - typedef mpl::or_< boost::is_convertible, - boost::is_convertible, - non_const_pointee > non_const_cond; - - typedef typename mpl::eval_if< non_const_cond, - mpl::identity, add_const >::type qualified_class; - - typedef typename mpl::eval_if< non_const_cond, - mpl::identity, add_const >::type qualified_type; - - public: - - typedef typename boost::add_reference::type - result_type; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type call(T C::* f, Sequence & s) - { - typename result_of::front::type c = fusion::front(s); - return that_ptr::get(c)->*f; - } - }; - } - - namespace result_of - { - template - struct invoke; - - template - struct invoke::type, Sequence - >::result_type - >::type> - { - typedef typename detail::invoke_impl< - typename boost::remove_reference::type, Sequence - >::result_type type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - invoke(Function f, Sequence & s) - { - return detail::invoke_impl< - typename boost::remove_reference::type,Sequence - >::call(f,s); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke::type - invoke(Function f, Sequence const & s) - { - return detail::invoke_impl< - typename boost::remove_reference::type,Sequence const - >::call(f,s); - } - -}} - -#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP_INCLUDED -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - -#define M(z,j,data) typename result_of::at_c::type - - template - struct invoke_impl::type - >::type> - { - public: - - typedef typename boost::result_of< - Function(BOOST_PP_ENUM(N,M,~)) >::type result_type; -#undef M - -#if N > 0 - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { -#define M(z,j,data) fusion::at_c(s) - return f( BOOST_PP_ENUM(N,M,~) ); - } - -#else - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - - template - struct invoke_fn_ptr - { - public: - - typedef typename ft::result_type::type result_type; - -#if N > 0 - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { -#define M(z,j,data) fusion::at_c(s) - return f( BOOST_PP_ENUM(N,M,~) ); - } - -#else - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - - -#if N > 0 - template - struct invoke_mem_fn - { - public: - - typedef typename ft::result_type::type result_type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - return (that_ptr >::type - >::get(fusion::at_c<0>(s))->*f)(BOOST_PP_ENUM_SHIFTED(N,M,~)); - } - }; -#endif - -#undef M - -#define M(z,j,data) \ - typename seq::I##j i##j = \ - fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); - - template - struct invoke_impl::BOOST_PP_CAT(T, j) - typename boost::result_of::type - >::type> -#undef L - { - private: - typedef invoke_param_types seq; - public: - - typedef typename boost::result_of< - Function(BOOST_PP_ENUM_PARAMS(N,typename seq::T)) - >::type result_type; - -#if N > 0 - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - typename seq::I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - return f( BOOST_PP_ENUM_PARAMS(N,*i) ); - } - -#else - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - - template - struct invoke_fn_ptr - { - private: - typedef invoke_param_types seq; - public: - - typedef typename ft::result_type::type result_type; - -#if N > 0 - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - typename seq::I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - return f( BOOST_PP_ENUM_PARAMS(N,*i) ); - } - -#else - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - -#if N > 0 - template - struct invoke_mem_fn - { - private: - typedef invoke_param_types seq; - public: - - typedef typename ft::result_type::type result_type; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - typename seq::I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - - return (that_ptr< typename mpl::front< - ft::parameter_types >::type - >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); - } - }; -#endif - -#undef M - - template struct invoke_param_types - { -#if N > 0 - typedef typename result_of::begin::type I0; - typedef typename result_of::deref::type T0; - -#define M(z,i,data) \ - typedef typename result_of::next< \ - BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ - typedef typename result_of::deref::type T##i; - - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) -#undef M -#endif - }; - - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) -#endif - diff --git a/external/boost/fusion/functional/invocation/invoke_function_object.hpp b/external/boost/fusion/functional/invocation/invoke_function_object.hpp deleted file mode 100644 index 2a88eaec1..000000000 --- a/external/boost/fusion/functional/invocation/invoke_function_object.hpp +++ /dev/null @@ -1,214 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2006 Joao Abecasis - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP_INCLUDED) -#if !defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace detail - { - template< - class Function, class Sequence, - int N = result_of::size::value, - bool RandomAccess = traits::is_random_access::value, - typename Enable = void - > - struct invoke_function_object_impl; - - template - struct invoke_function_object_param_types; - - #define BOOST_PP_FILENAME_1 \ - - #define BOOST_PP_ITERATION_LIMITS \ - (0, BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY) - #include BOOST_PP_ITERATE() - } - - namespace result_of - { - template - struct invoke_function_object; - - template - struct invoke_function_object::type, Sequence - >::result_type - >::type> - { - typedef typename detail::invoke_function_object_impl< - typename boost::remove_reference::type, Sequence - >::result_type type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type - invoke_function_object(Function f, Sequence & s) - { - return detail::invoke_function_object_impl< - typename boost::remove_reference::type,Sequence - >::call(f,s); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type - invoke_function_object(Function f, Sequence const & s) - { - return detail::invoke_function_object_impl< - typename boost::remove_reference::type,Sequence const - >::call(f,s); - } - -}} - -#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP_INCLUDED -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - -#define M(z,j,data) \ - typename result_of::at_c::type - - template - struct invoke_function_object_impl::type - >::type> - { - public: - - typedef typename boost::result_of< - Function (BOOST_PP_ENUM(N,M,~)) >::type result_type; -#undef M - -#if N > 0 - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { -#define M(z,j,data) fusion::at_c(s) - return f( BOOST_PP_ENUM(N,M,~) ); -#undef M - } - -#else - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - -#define M(z,j,data) \ - typename invoke_function_object_param_types::T ## j - - template - struct invoke_function_object_impl::type - >::type> -#undef M - { - private: - typedef invoke_function_object_param_types seq; - public: - typedef typename boost::result_of< - Function (BOOST_PP_ENUM_PARAMS(N,typename seq::T)) - >::type result_type; - -#if N > 0 - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & s) - { - typename seq::I0 i0 = fusion::begin(s); -#define M(z,j,data) \ - typename seq::I##j i##j = \ - fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) -#undef M - return f( BOOST_PP_ENUM_PARAMS(N,*i) ); - } - -#else - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline result_type - call(F & f, Sequence & /*s*/) - { - return f(); - } - -#endif - - }; - - template - struct invoke_function_object_param_types - { -#if N > 0 - typedef typename result_of::begin::type I0; - typedef typename result_of::deref::type T0; - -#define M(z,i,data) \ - typedef typename result_of::next< \ - BOOST_PP_CAT(I,BOOST_PP_DEC(i))>::type I##i; \ - typedef typename result_of::deref::type T##i; - - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) -#undef M -#endif - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) -#endif - diff --git a/external/boost/fusion/functional/invocation/invoke_procedure.hpp b/external/boost/fusion/functional/invocation/invoke_procedure.hpp deleted file mode 100644 index 971ddbfde..000000000 --- a/external/boost/fusion/functional/invocation/invoke_procedure.hpp +++ /dev/null @@ -1,212 +0,0 @@ -/*============================================================================= - Copyright (c) 2005-2006 Joao Abecasis - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP_INCLUDED) -#if !defined(BOOST_PP_IS_ITERATING) - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace detail - { - namespace ft = function_types; - - template< - typename Function, class Sequence, - int N = result_of::size::value, - bool MFP = ft::is_member_function_pointer::value, - bool RandomAccess = traits::is_random_access::value - > - struct invoke_procedure_impl; - - #define BOOST_PP_FILENAME_1 \ - - #define BOOST_PP_ITERATION_LIMITS \ - (0, BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY) - #include BOOST_PP_ITERATE() - - } - - namespace result_of - { - template - struct invoke_procedure; - - template - struct invoke_procedure::type,Sequence - >::result_type - >::type> - { - typedef void type; - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_procedure::type - invoke_procedure(Function f, Sequence & s) - { - detail::invoke_procedure_impl< - typename boost::remove_reference::type,Sequence - >::call(f,s); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_procedure::type - invoke_procedure(Function f, Sequence const & s) - { - detail::invoke_procedure_impl< - typename boost::remove_reference::type,Sequence const - >::call(f,s); - } - -}} - -#define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP_INCLUDED -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// -#define N BOOST_PP_ITERATION() - -#define M(z,j,data) fusion::at_c(s) - - template - struct invoke_procedure_impl - { - typedef void result_type; - -#if N > 0 - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline void call(Function & f, Sequence & s) - { - f(BOOST_PP_ENUM(N,M,~)); - } - -#else - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline void call(Function & f, Sequence & /*s*/) - { - f(); - } - -#endif - - }; - -#if N > 0 - template - struct invoke_procedure_impl - { - typedef void result_type; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline void call(Function & f, Sequence & s) - { - (that_ptr >::type - >::get(fusion::at_c<0>(s))->*f)(BOOST_PP_ENUM_SHIFTED(N,M,~)); - } - }; -#endif - -#undef M - -#define M(z,j,data) \ - typedef typename result_of::next< BOOST_PP_CAT(I,BOOST_PP_DEC(j)) \ - >::type I ## j ; \ - I##j i##j = fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); - - template - struct invoke_procedure_impl - { - typedef void result_type; - -#if N > 0 - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline void call(Function & f, Sequence & s) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - f( BOOST_PP_ENUM_PARAMS(N,*i) ); - } - -#else - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline void call(Function & f, Sequence & /*s*/) - { - f(); - } - -#endif - - }; - -#if N > 0 - template - struct invoke_procedure_impl - { - typedef void result_type; - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline void call(Function & f, Sequence & s) - { - typedef typename result_of::begin::type I0; - I0 i0 = fusion::begin(s); - BOOST_PP_REPEAT_FROM_TO(1,N,M,~) - - (that_ptr >::type - >::get(*i0)->*f)(BOOST_PP_ENUM_SHIFTED_PARAMS(N,*i)); - } - }; -#endif - -#undef M - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) -#endif - diff --git a/external/boost/fusion/functional/invocation/limits.hpp b/external/boost/fusion/functional/invocation/limits.hpp deleted file mode 100644 index 9cb5a04a4..000000000 --- a/external/boost/fusion/functional/invocation/limits.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2006-2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED) -# define BOOST_FUSION_FUNCTIONAL_INVOCATION_LIMITS_HPP_INCLUDED - -# if !defined(BOOST_FUSION_INVOKE_MAX_ARITY) -# define BOOST_FUSION_INVOKE_MAX_ARITY 6 -# endif -# if !defined(BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY) -# define BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY 6 -# endif -# if !defined(BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY) -# define BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY 6 -# endif - -#endif - diff --git a/external/boost/fusion/include/accumulate.hpp b/external/boost/fusion/include/accumulate.hpp deleted file mode 100644 index b2cbc189e..000000000 --- a/external/boost/fusion/include/accumulate.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ACCUMULATE) -#define FUSION_INCLUDE_ACCUMULATE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_adt.hpp b/external/boost/fusion/include/adapt_adt.hpp deleted file mode 100644 index b84016d67..000000000 --- a/external/boost/fusion/include/adapt_adt.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_ADT_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ADT_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_adt_named.hpp b/external/boost/fusion/include/adapt_adt_named.hpp deleted file mode 100644 index 46b0a4cb3..000000000 --- a/external/boost/fusion/include/adapt_adt_named.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_ADT_NAMED_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ADT_NAMED_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_assoc_adt.hpp b/external/boost/fusion/include/adapt_assoc_adt.hpp deleted file mode 100644 index 775057c07..000000000 --- a/external/boost/fusion/include/adapt_assoc_adt.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADT_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADR_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_assoc_adt_named.hpp b/external/boost/fusion/include/adapt_assoc_adt_named.hpp deleted file mode 100644 index d25aae514..000000000 --- a/external/boost/fusion/include/adapt_assoc_adt_named.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADT_NAMED_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_ADT_NAMED_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_assoc_struct.hpp b/external/boost/fusion/include/adapt_assoc_struct.hpp deleted file mode 100644 index a55f6e560..000000000 --- a/external/boost/fusion/include/adapt_assoc_struct.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_assoc_struct_named.hpp b/external/boost/fusion/include/adapt_assoc_struct_named.hpp deleted file mode 100644 index 3afd13733..000000000 --- a/external/boost/fusion/include/adapt_assoc_struct_named.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_NAMED_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_STRUCT_NAMED_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_struct.hpp b/external/boost/fusion/include/adapt_struct.hpp deleted file mode 100644 index ea2fea5b7..000000000 --- a/external/boost/fusion/include/adapt_struct.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_STRUCT_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_STRUCT_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapt_struct_named.hpp b/external/boost/fusion/include/adapt_struct_named.hpp deleted file mode 100644 index c80b57df2..000000000 --- a/external/boost/fusion/include/adapt_struct_named.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ADAPT_STRUCT_NAMED_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_STRUCT_NAMED_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapted.hpp b/external/boost/fusion/include/adapted.hpp deleted file mode 100644 index da68f5b20..000000000 --- a/external/boost/fusion/include/adapted.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ADAPTED) -#define FUSION_INCLUDE_ADAPTED - -#include -#include - -#endif diff --git a/external/boost/fusion/include/adapter.hpp b/external/boost/fusion/include/adapter.hpp deleted file mode 100644 index 53ff0796e..000000000 --- a/external/boost/fusion/include/adapter.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ADAPTER) -#define FUSION_INCLUDE_ADAPTER - -#include -#include - -#endif diff --git a/external/boost/fusion/include/advance.hpp b/external/boost/fusion/include/advance.hpp deleted file mode 100644 index 011c3b8b7..000000000 --- a/external/boost/fusion/include/advance.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ADVANCE) -#define FUSION_INCLUDE_ADVANCE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/algorithm.hpp b/external/boost/fusion/include/algorithm.hpp deleted file mode 100644 index df33a54a4..000000000 --- a/external/boost/fusion/include/algorithm.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ALGORITHM) -#define FUSION_INCLUDE_ALGORITHM - -#include -#include - -#endif diff --git a/external/boost/fusion/include/all.hpp b/external/boost/fusion/include/all.hpp deleted file mode 100644 index 1848e754b..000000000 --- a/external/boost/fusion/include/all.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ALL) -#define FUSION_INCLUDE_ALL - -#include -#include - -#endif diff --git a/external/boost/fusion/include/any.hpp b/external/boost/fusion/include/any.hpp deleted file mode 100644 index c76d6b690..000000000 --- a/external/boost/fusion/include/any.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ANY) -#define FUSION_INCLUDE_ANY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/array.hpp b/external/boost/fusion/include/array.hpp deleted file mode 100644 index b0e53a7b3..000000000 --- a/external/boost/fusion/include/array.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ARRAY) -#define FUSION_INCLUDE_ARRAY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/as_deque.hpp b/external/boost/fusion/include/as_deque.hpp deleted file mode 100644 index 77f90fd34..000000000 --- a/external/boost/fusion/include/as_deque.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AS_DEQUE) -#define FUSION_INCLUDE_AS_DEQUE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/as_list.hpp b/external/boost/fusion/include/as_list.hpp deleted file mode 100644 index 9a4072ebb..000000000 --- a/external/boost/fusion/include/as_list.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AS_LIST) -#define FUSION_INCLUDE_AS_LIST - -#include -#include - -#endif diff --git a/external/boost/fusion/include/as_map.hpp b/external/boost/fusion/include/as_map.hpp deleted file mode 100644 index 3a6db9134..000000000 --- a/external/boost/fusion/include/as_map.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AS_MAP) -#define FUSION_INCLUDE_AS_MAP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/as_set.hpp b/external/boost/fusion/include/as_set.hpp deleted file mode 100644 index 697f86c7c..000000000 --- a/external/boost/fusion/include/as_set.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AS_SET) -#define FUSION_INCLUDE_AS_SET - -#include -#include - -#endif diff --git a/external/boost/fusion/include/as_vector.hpp b/external/boost/fusion/include/as_vector.hpp deleted file mode 100644 index 35aecd8f3..000000000 --- a/external/boost/fusion/include/as_vector.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AS_VECTOR) -#define FUSION_INCLUDE_AS_VECTOR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/at.hpp b/external/boost/fusion/include/at.hpp deleted file mode 100644 index 99b70d6d9..000000000 --- a/external/boost/fusion/include/at.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AT) -#define FUSION_INCLUDE_AT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/at_c.hpp b/external/boost/fusion/include/at_c.hpp deleted file mode 100644 index 053a59621..000000000 --- a/external/boost/fusion/include/at_c.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AT_C) -#define FUSION_INCLUDE_AT_C - -#include -#include - -#endif diff --git a/external/boost/fusion/include/at_key.hpp b/external/boost/fusion/include/at_key.hpp deleted file mode 100644 index 17331b917..000000000 --- a/external/boost/fusion/include/at_key.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AT_KEY) -#define FUSION_INCLUDE_AT_KEY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/auxiliary.hpp b/external/boost/fusion/include/auxiliary.hpp deleted file mode 100644 index af36d6d2f..000000000 --- a/external/boost/fusion/include/auxiliary.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_AUXILIARY) -#define FUSION_INCLUDE_AUXILIARY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/back.hpp b/external/boost/fusion/include/back.hpp deleted file mode 100644 index 9e2e97700..000000000 --- a/external/boost/fusion/include/back.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_BACK) -#define FUSION_INCLUDE_BACK - -#include -#include - -#endif diff --git a/external/boost/fusion/include/begin.hpp b/external/boost/fusion/include/begin.hpp deleted file mode 100644 index 88a449f20..000000000 --- a/external/boost/fusion/include/begin.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_BEGIN) -#define FUSION_INCLUDE_BEGIN - -#include -#include - -#endif diff --git a/external/boost/fusion/include/boost_array.hpp b/external/boost/fusion/include/boost_array.hpp deleted file mode 100644 index b85fa53ff..000000000 --- a/external/boost/fusion/include/boost_array.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_BOOST_ARRAY) -#define FUSION_INCLUDE_BOOST_ARRAY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/boost_tuple.hpp b/external/boost/fusion/include/boost_tuple.hpp deleted file mode 100644 index 3f5fc8c30..000000000 --- a/external/boost/fusion/include/boost_tuple.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_BOOST_TUPLE) -#define FUSION_INCLUDE_BOOST_TUPLE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/category_of.hpp b/external/boost/fusion/include/category_of.hpp deleted file mode 100644 index 0b75369fe..000000000 --- a/external/boost/fusion/include/category_of.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_CATEGORY_OF) -#define FUSION_INCLUDE_CATEGORY_OF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/clear.hpp b/external/boost/fusion/include/clear.hpp deleted file mode 100644 index 0c742fd58..000000000 --- a/external/boost/fusion/include/clear.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_CLEAR) -#define FUSION_INCLUDE_CLEAR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/comparison.hpp b/external/boost/fusion/include/comparison.hpp deleted file mode 100644 index 07e7cd808..000000000 --- a/external/boost/fusion/include/comparison.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_COMPARISON) -#define FUSION_INCLUDE_COMPARISON - -#include -#include - -#endif diff --git a/external/boost/fusion/include/cons.hpp b/external/boost/fusion/include/cons.hpp deleted file mode 100644 index 498e9407e..000000000 --- a/external/boost/fusion/include/cons.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_CONS) -#define FUSION_INCLUDE_CONS - -#include -#include - -#endif diff --git a/external/boost/fusion/include/cons_tie.hpp b/external/boost/fusion/include/cons_tie.hpp deleted file mode 100644 index 7467ee470..000000000 --- a/external/boost/fusion/include/cons_tie.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_CONS_TIE) -#define FUSION_INCLUDE_CONS_TIE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/container.hpp b/external/boost/fusion/include/container.hpp deleted file mode 100644 index 4e6886f8c..000000000 --- a/external/boost/fusion/include/container.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_CONTAINER) -#define FUSION_INCLUDE_CONTAINER - -#include -#include - -#endif diff --git a/external/boost/fusion/include/convert.hpp b/external/boost/fusion/include/convert.hpp deleted file mode 100644 index 10fff22e5..000000000 --- a/external/boost/fusion/include/convert.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_CONVERT) -#define FUSION_INCLUDE_CONVERT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/copy.hpp b/external/boost/fusion/include/copy.hpp deleted file mode 100644 index e44f58bf3..000000000 --- a/external/boost/fusion/include/copy.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_COPY) -#define FUSION_INCLUDE_COPY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/count.hpp b/external/boost/fusion/include/count.hpp deleted file mode 100644 index 3e5b8fca5..000000000 --- a/external/boost/fusion/include/count.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_COUNT) -#define FUSION_INCLUDE_COUNT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/count_if.hpp b/external/boost/fusion/include/count_if.hpp deleted file mode 100644 index 524af8aba..000000000 --- a/external/boost/fusion/include/count_if.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_COUNT_IF) -#define FUSION_INCLUDE_COUNT_IF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/deduce.hpp b/external/boost/fusion/include/deduce.hpp deleted file mode 100644 index 572e0d52f..000000000 --- a/external/boost/fusion/include/deduce.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_DEDUCE) -#define FUSION_INCLUDE_DEDUCE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/deduce_sequence.hpp b/external/boost/fusion/include/deduce_sequence.hpp deleted file mode 100644 index 153fac544..000000000 --- a/external/boost/fusion/include/deduce_sequence.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_DEDUCE_SEQUENCE) -#define FUSION_INCLUDE_DEDUCE_SEQUENCE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/define_assoc_struct.hpp b/external/boost/fusion/include/define_assoc_struct.hpp deleted file mode 100644 index 56ca85af7..000000000 --- a/external/boost/fusion/include/define_assoc_struct.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_DEFINE_ASSOC_STRUCT_HPP -#define BOOST_FUSION_INCLUDE_DEFINE_ASSOC_STRUCT_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/define_struct.hpp b/external/boost/fusion/include/define_struct.hpp deleted file mode 100644 index 366c98d32..000000000 --- a/external/boost/fusion/include/define_struct.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_DEFINE_STRUCT_HPP -#define BOOST_FUSION_INCLUDE_DEFINE_STRUCT_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/define_struct_inline.hpp b/external/boost/fusion/include/define_struct_inline.hpp deleted file mode 100644 index bf1886523..000000000 --- a/external/boost/fusion/include/define_struct_inline.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2012 Nathan Ridge - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_DEFINE_STRUCT_INLINE_HPP -#define BOOST_FUSION_INCLUDE_DEFINE_STRUCT_INLINE_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/deque.hpp b/external/boost/fusion/include/deque.hpp deleted file mode 100644 index bbbdfe80a..000000000 --- a/external/boost/fusion/include/deque.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_DEQUE) -#define FUSION_INCLUDE_DEQUE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/deque_fwd.hpp b/external/boost/fusion/include/deque_fwd.hpp deleted file mode 100644 index 8a41121a6..000000000 --- a/external/boost/fusion/include/deque_fwd.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_DEQUE) -#define FUSION_INCLUDE_DEQUE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/deque_tie.hpp b/external/boost/fusion/include/deque_tie.hpp deleted file mode 100644 index 400e9803e..000000000 --- a/external/boost/fusion/include/deque_tie.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_GENERATION) -#define FUSION_INCLUDE_GENERATION - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/include/deref.hpp b/external/boost/fusion/include/deref.hpp deleted file mode 100644 index 64dbe6972..000000000 --- a/external/boost/fusion/include/deref.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_DEREF) -#define FUSION_INCLUDE_DEREF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/deref_data.hpp b/external/boost/fusion/include/deref_data.hpp deleted file mode 100644 index e6bc41f4d..000000000 --- a/external/boost/fusion/include/deref_data.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_DEREF_DATA_HPP -#define BOOST_FUSION_INCLUDE_DEREF_DATA_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/distance.hpp b/external/boost/fusion/include/distance.hpp deleted file mode 100644 index f76bad114..000000000 --- a/external/boost/fusion/include/distance.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_DISTANCE) -#define FUSION_INCLUDE_DISTANCE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/empty.hpp b/external/boost/fusion/include/empty.hpp deleted file mode 100644 index 8e6ed931c..000000000 --- a/external/boost/fusion/include/empty.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_EMPTY) -#define FUSION_INCLUDE_EMPTY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/end.hpp b/external/boost/fusion/include/end.hpp deleted file mode 100644 index 255d05f0d..000000000 --- a/external/boost/fusion/include/end.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_END) -#define FUSION_INCLUDE_END - -#include -#include - -#endif diff --git a/external/boost/fusion/include/equal_to.hpp b/external/boost/fusion/include/equal_to.hpp deleted file mode 100644 index 24499a906..000000000 --- a/external/boost/fusion/include/equal_to.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_EQUAL_TO) -#define FUSION_INCLUDE_EQUAL_TO - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/include/erase.hpp b/external/boost/fusion/include/erase.hpp deleted file mode 100644 index 07e756540..000000000 --- a/external/boost/fusion/include/erase.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ERASE) -#define FUSION_INCLUDE_ERASE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/erase_key.hpp b/external/boost/fusion/include/erase_key.hpp deleted file mode 100644 index 11c342c4e..000000000 --- a/external/boost/fusion/include/erase_key.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ERASE_KEY) -#define FUSION_INCLUDE_ERASE_KEY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/filter.hpp b/external/boost/fusion/include/filter.hpp deleted file mode 100644 index 96c8bd6c4..000000000 --- a/external/boost/fusion/include/filter.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FILTER) -#define FUSION_INCLUDE_FILTER - -#include -#include - -#endif diff --git a/external/boost/fusion/include/filter_if.hpp b/external/boost/fusion/include/filter_if.hpp deleted file mode 100644 index 081541b0f..000000000 --- a/external/boost/fusion/include/filter_if.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FILTER_IF) -#define FUSION_INCLUDE_FILTER_IF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/filter_view.hpp b/external/boost/fusion/include/filter_view.hpp deleted file mode 100644 index 6ba64fe16..000000000 --- a/external/boost/fusion/include/filter_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FILTER_VIEW) -#define FUSION_INCLUDE_FILTER_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/find.hpp b/external/boost/fusion/include/find.hpp deleted file mode 100644 index 47167d854..000000000 --- a/external/boost/fusion/include/find.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FIND) -#define FUSION_INCLUDE_FIND - -#include -#include - -#endif diff --git a/external/boost/fusion/include/find_if.hpp b/external/boost/fusion/include/find_if.hpp deleted file mode 100644 index a864d801d..000000000 --- a/external/boost/fusion/include/find_if.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FIND_IF) -#define FUSION_INCLUDE_FIND_IF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/flatten.hpp b/external/boost/fusion/include/flatten.hpp deleted file mode 100644 index 33d734999..000000000 --- a/external/boost/fusion/include/flatten.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2014 Jamboree - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -//////////////////////////////////////////////////////////////////////////////*/ -#ifndef FUSION_INCLUDE_FLATTEN -#define FUSION_INCLUDE_FLATTEN - - -#include - - -#endif diff --git a/external/boost/fusion/include/flatten_view.hpp b/external/boost/fusion/include/flatten_view.hpp deleted file mode 100644 index 9a3536b23..000000000 --- a/external/boost/fusion/include/flatten_view.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2014 Jamboree - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -//////////////////////////////////////////////////////////////////////////////*/ -#ifndef FUSION_INCLUDE_FLATTEN_VIEW -#define FUSION_INCLUDE_FLATTEN_VIEW - - -#include - - -#endif diff --git a/external/boost/fusion/include/fold.hpp b/external/boost/fusion/include/fold.hpp deleted file mode 100644 index 04a18580b..000000000 --- a/external/boost/fusion/include/fold.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FOLD) -#define FUSION_INCLUDE_FOLD - -#include -#include - -#endif diff --git a/external/boost/fusion/include/for_each.hpp b/external/boost/fusion/include/for_each.hpp deleted file mode 100644 index b4a96ae0e..000000000 --- a/external/boost/fusion/include/for_each.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FOR_EACH) -#define FUSION_INCLUDE_FOR_EACH - -#include -#include - -#endif diff --git a/external/boost/fusion/include/front.hpp b/external/boost/fusion/include/front.hpp deleted file mode 100644 index b080fe565..000000000 --- a/external/boost/fusion/include/front.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FRONT) -#define FUSION_INCLUDE_FRONT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/functional.hpp b/external/boost/fusion/include/functional.hpp deleted file mode 100644 index 01e7439a0..000000000 --- a/external/boost/fusion/include/functional.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FUNCTIONAL) -#define FUSION_INCLUDE_FUNCTIONAL - -#include -#include - -#endif diff --git a/external/boost/fusion/include/fused.hpp b/external/boost/fusion/include/fused.hpp deleted file mode 100644 index f27094f1f..000000000 --- a/external/boost/fusion/include/fused.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FUSED) -#define FUSION_INCLUDE_FUSED - -#include -#include - -#endif diff --git a/external/boost/fusion/include/fused_function_object.hpp b/external/boost/fusion/include/fused_function_object.hpp deleted file mode 100644 index 4196410d3..000000000 --- a/external/boost/fusion/include/fused_function_object.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FUSED_FUNCTION_OBJECT) -#define FUSION_INCLUDE_FUSED_FUNCTION_OBJECT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/fused_procedure.hpp b/external/boost/fusion/include/fused_procedure.hpp deleted file mode 100644 index f6c3a01de..000000000 --- a/external/boost/fusion/include/fused_procedure.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_FUSED_PROCEDURE) -#define FUSION_INCLUDE_FUSED_PROCEDURE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/generation.hpp b/external/boost/fusion/include/generation.hpp deleted file mode 100644 index 400e9803e..000000000 --- a/external/boost/fusion/include/generation.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_GENERATION) -#define FUSION_INCLUDE_GENERATION - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/include/greater.hpp b/external/boost/fusion/include/greater.hpp deleted file mode 100644 index e70550ced..000000000 --- a/external/boost/fusion/include/greater.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_NOT_GREATER) -#define FUSION_INCLUDE_NOT_GREATER - -#include -#include - -#endif diff --git a/external/boost/fusion/include/greater_equal.hpp b/external/boost/fusion/include/greater_equal.hpp deleted file mode 100644 index efd462c54..000000000 --- a/external/boost/fusion/include/greater_equal.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_GREATER_EQUAL) -#define FUSION_INCLUDE_GREATER_EQUAL - -#include -#include - -#endif diff --git a/external/boost/fusion/include/has_key.hpp b/external/boost/fusion/include/has_key.hpp deleted file mode 100644 index ee192cf09..000000000 --- a/external/boost/fusion/include/has_key.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_HAS_KEY) -#define FUSION_INCLUDE_HAS_KEY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/hash.hpp b/external/boost/fusion/include/hash.hpp deleted file mode 100644 index 8f483fc6d..000000000 --- a/external/boost/fusion/include/hash.hpp +++ /dev/null @@ -1,12 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Christoph Weiss - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_HASH) -#define FUSION_INCLUDE_HASH - -#include - -#endif diff --git a/external/boost/fusion/include/ignore.hpp b/external/boost/fusion/include/ignore.hpp deleted file mode 100644 index 400e9803e..000000000 --- a/external/boost/fusion/include/ignore.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_GENERATION) -#define FUSION_INCLUDE_GENERATION - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/include/in.hpp b/external/boost/fusion/include/in.hpp deleted file mode 100644 index 4ceb928c9..000000000 --- a/external/boost/fusion/include/in.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_IN) -#define FUSION_INCLUDE_IN - -#include -#include - -#endif diff --git a/external/boost/fusion/include/insert.hpp b/external/boost/fusion/include/insert.hpp deleted file mode 100644 index 389333d40..000000000 --- a/external/boost/fusion/include/insert.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_INSERT) -#define FUSION_INCLUDE_INSERT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/insert_range.hpp b/external/boost/fusion/include/insert_range.hpp deleted file mode 100644 index 9f280e4e7..000000000 --- a/external/boost/fusion/include/insert_range.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_INSERT_RANGE) -#define FUSION_INCLUDE_INSERT_RANGE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/intrinsic.hpp b/external/boost/fusion/include/intrinsic.hpp deleted file mode 100644 index dcceea544..000000000 --- a/external/boost/fusion/include/intrinsic.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_INTRINSIC) -#define FUSION_INCLUDE_INTRINSIC - -#include -#include - -#endif diff --git a/external/boost/fusion/include/invocation.hpp b/external/boost/fusion/include/invocation.hpp deleted file mode 100644 index fbb4061ff..000000000 --- a/external/boost/fusion/include/invocation.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_INVOCATION) -#define FUSION_INCLUDE_INVOCATION - -#include -#include - -#endif diff --git a/external/boost/fusion/include/invoke.hpp b/external/boost/fusion/include/invoke.hpp deleted file mode 100644 index 2565f1fa7..000000000 --- a/external/boost/fusion/include/invoke.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_INVOKE) -#define FUSION_INCLUDE_INVOKE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/invoke_function_object.hpp b/external/boost/fusion/include/invoke_function_object.hpp deleted file mode 100644 index f0ca0a98f..000000000 --- a/external/boost/fusion/include/invoke_function_object.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT) -#define FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/invoke_procedure.hpp b/external/boost/fusion/include/invoke_procedure.hpp deleted file mode 100644 index 28bd35d3c..000000000 --- a/external/boost/fusion/include/invoke_procedure.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_INVOKE_PROCEDURE) -#define FUSION_INCLUDE_INVOKE_PROCEDURE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/io.hpp b/external/boost/fusion/include/io.hpp deleted file mode 100644 index 992e0be29..000000000 --- a/external/boost/fusion/include/io.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_IO) -#define FUSION_INCLUDE_IO - -#include -#include - -#endif diff --git a/external/boost/fusion/include/is_iterator.hpp b/external/boost/fusion/include/is_iterator.hpp deleted file mode 100644 index 83dc1484d..000000000 --- a/external/boost/fusion/include/is_iterator.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_IS_ITERATOR) -#define FUSION_INCLUDE_IS_ITERATOR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/is_segmented.hpp b/external/boost/fusion/include/is_segmented.hpp deleted file mode 100644 index b13be3f00..000000000 --- a/external/boost/fusion/include/is_segmented.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_INCLUDE_IS_SEGMENTED) -#define BOOST_FUSION_INCLUDE_IS_SEGMENTED - -#include -#include - -#endif diff --git a/external/boost/fusion/include/is_sequence.hpp b/external/boost/fusion/include/is_sequence.hpp deleted file mode 100644 index d3d820fcd..000000000 --- a/external/boost/fusion/include/is_sequence.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_IS_SEQUENCE) -#define FUSION_INCLUDE_IS_SEQUENCE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/is_view.hpp b/external/boost/fusion/include/is_view.hpp deleted file mode 100644 index 1f886f4dc..000000000 --- a/external/boost/fusion/include/is_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_IS_VIEW) -#define FUSION_INCLUDE_IS_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/iter_fold.hpp b/external/boost/fusion/include/iter_fold.hpp deleted file mode 100644 index e39651bd1..000000000 --- a/external/boost/fusion/include/iter_fold.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_ITER_FOLD_HPP -#define BOOST_FUSION_INCLUDE_ITER_FOLD_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/iteration.hpp b/external/boost/fusion/include/iteration.hpp deleted file mode 100644 index 612f00c45..000000000 --- a/external/boost/fusion/include/iteration.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ITERATION) -#define FUSION_INCLUDE_ITERATION - -#include -#include - -#endif diff --git a/external/boost/fusion/include/iterator.hpp b/external/boost/fusion/include/iterator.hpp deleted file mode 100644 index a69be6408..000000000 --- a/external/boost/fusion/include/iterator.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ITERATOR) -#define FUSION_INCLUDE_ITERATOR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/iterator_adapter.hpp b/external/boost/fusion/include/iterator_adapter.hpp deleted file mode 100644 index 95de7cfba..000000000 --- a/external/boost/fusion/include/iterator_adapter.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ITERATOR_ADAPTER) -#define FUSION_INCLUDE_ITERATOR_ADAPTER - -#include -#include - -#endif diff --git a/external/boost/fusion/include/iterator_base.hpp b/external/boost/fusion/include/iterator_base.hpp deleted file mode 100644 index 41223c58f..000000000 --- a/external/boost/fusion/include/iterator_base.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ITERATOR_BASE) -#define FUSION_INCLUDE_ITERATOR_BASE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/iterator_facade.hpp b/external/boost/fusion/include/iterator_facade.hpp deleted file mode 100644 index a137414ba..000000000 --- a/external/boost/fusion/include/iterator_facade.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ITERATOR_FACADE) -#define FUSION_INCLUDE_ITERATOR_FACADE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/iterator_range.hpp b/external/boost/fusion/include/iterator_range.hpp deleted file mode 100644 index 1f5d1ed6a..000000000 --- a/external/boost/fusion/include/iterator_range.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ITERATOR_RANGE) -#define FUSION_INCLUDE_ITERATOR_RANGE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/join.hpp b/external/boost/fusion/include/join.hpp deleted file mode 100644 index 419caabf1..000000000 --- a/external/boost/fusion/include/join.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_JOIN) -#define FUSION_INCLUDE_JOIN - -#include -#include - -#endif diff --git a/external/boost/fusion/include/joint_view.hpp b/external/boost/fusion/include/joint_view.hpp deleted file mode 100644 index 94b2d0716..000000000 --- a/external/boost/fusion/include/joint_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_JOINT_VIEW) -#define FUSION_INCLUDE_JOINT_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/key_of.hpp b/external/boost/fusion/include/key_of.hpp deleted file mode 100644 index 4e79a0efb..000000000 --- a/external/boost/fusion/include/key_of.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_KEY_OF_HPP -#define BOOST_FUSION_INCLUDE_KEY_OF_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/less.hpp b/external/boost/fusion/include/less.hpp deleted file mode 100644 index 463b91a65..000000000 --- a/external/boost/fusion/include/less.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_LESS) -#define FUSION_INCLUDE_LESS - -#include -#include - -#endif diff --git a/external/boost/fusion/include/less_equal.hpp b/external/boost/fusion/include/less_equal.hpp deleted file mode 100644 index 48de2a373..000000000 --- a/external/boost/fusion/include/less_equal.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_LESS_EQUAL) -#define FUSION_INCLUDE_LESS_EQUAL - -#include -#include - -#endif diff --git a/external/boost/fusion/include/list.hpp b/external/boost/fusion/include/list.hpp deleted file mode 100644 index 9d8e33c13..000000000 --- a/external/boost/fusion/include/list.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_LIST) -#define FUSION_INCLUDE_LIST - -#include -#include - -#endif diff --git a/external/boost/fusion/include/list_fwd.hpp b/external/boost/fusion/include/list_fwd.hpp deleted file mode 100644 index 8f7216d14..000000000 --- a/external/boost/fusion/include/list_fwd.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_LIST_FWD) -#define FUSION_INCLUDE_LIST_FWD - -#include -#include - -#endif diff --git a/external/boost/fusion/include/list_tie.hpp b/external/boost/fusion/include/list_tie.hpp deleted file mode 100644 index 400e9803e..000000000 --- a/external/boost/fusion/include/list_tie.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_GENERATION) -#define FUSION_INCLUDE_GENERATION - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_cons.hpp b/external/boost/fusion/include/make_cons.hpp deleted file mode 100644 index 89d3a26bd..000000000 --- a/external/boost/fusion/include/make_cons.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_CONS) -#define FUSION_INCLUDE_MAKE_CONS - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_deque.hpp b/external/boost/fusion/include/make_deque.hpp deleted file mode 100644 index d16b3785b..000000000 --- a/external/boost/fusion/include/make_deque.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_DEQUE) -#define FUSION_INCLUDE_MAKE_DEQUE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_fused.hpp b/external/boost/fusion/include/make_fused.hpp deleted file mode 100644 index 82b7ed7ed..000000000 --- a/external/boost/fusion/include/make_fused.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_FUSED) -#define FUSION_INCLUDE_MAKE_FUSED - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_fused_function_object.hpp b/external/boost/fusion/include/make_fused_function_object.hpp deleted file mode 100644 index 68667c777..000000000 --- a/external/boost/fusion/include/make_fused_function_object.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT) -#define FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_fused_procedure.hpp b/external/boost/fusion/include/make_fused_procedure.hpp deleted file mode 100644 index b6ac33398..000000000 --- a/external/boost/fusion/include/make_fused_procedure.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_FUSED_PROCEDURE) -#define FUSION_INCLUDE_MAKE_FUSED_PROCEDURE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_list.hpp b/external/boost/fusion/include/make_list.hpp deleted file mode 100644 index affee7215..000000000 --- a/external/boost/fusion/include/make_list.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_LIST) -#define FUSION_INCLUDE_MAKE_LIST - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_map.hpp b/external/boost/fusion/include/make_map.hpp deleted file mode 100644 index 9492eaefd..000000000 --- a/external/boost/fusion/include/make_map.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_MAP) -#define FUSION_INCLUDE_MAKE_MAP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_set.hpp b/external/boost/fusion/include/make_set.hpp deleted file mode 100644 index c87b3998a..000000000 --- a/external/boost/fusion/include/make_set.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_SET) -#define FUSION_INCLUDE_MAKE_SET - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_tuple.hpp b/external/boost/fusion/include/make_tuple.hpp deleted file mode 100644 index 82f3447d6..000000000 --- a/external/boost/fusion/include/make_tuple.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_TUPLE) -#define FUSION_INCLUDE_MAKE_TUPLE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_unfused.hpp b/external/boost/fusion/include/make_unfused.hpp deleted file mode 100644 index db3ad80c7..000000000 --- a/external/boost/fusion/include/make_unfused.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================== - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_MAKE_UNFUSED_HPP -#define BOOST_FUSION_INCLUDE_MAKE_UNFUSED_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/make_vector.hpp b/external/boost/fusion/include/make_vector.hpp deleted file mode 100644 index 9d9a70a32..000000000 --- a/external/boost/fusion/include/make_vector.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAKE_VECTOR) -#define FUSION_INCLUDE_MAKE_VECTOR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/map.hpp b/external/boost/fusion/include/map.hpp deleted file mode 100644 index 17c4e762d..000000000 --- a/external/boost/fusion/include/map.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAP) -#define FUSION_INCLUDE_MAP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/map_fwd.hpp b/external/boost/fusion/include/map_fwd.hpp deleted file mode 100644 index 86fa7cafa..000000000 --- a/external/boost/fusion/include/map_fwd.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAP_FWD) -#define FUSION_INCLUDE_MAP_FWD - -#include -#include - -#endif diff --git a/external/boost/fusion/include/map_tie.hpp b/external/boost/fusion/include/map_tie.hpp deleted file mode 100644 index 58afafbad..000000000 --- a/external/boost/fusion/include/map_tie.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MAP_TIE) -#define FUSION_INCLUDE_MAP_TIE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/move.hpp b/external/boost/fusion/include/move.hpp deleted file mode 100644 index 8042db48e..000000000 --- a/external/boost/fusion/include/move.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2013 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MOVE) -#define FUSION_INCLUDE_MOVE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/mpl.hpp b/external/boost/fusion/include/mpl.hpp deleted file mode 100644 index cf7fff2f5..000000000 --- a/external/boost/fusion/include/mpl.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_MPL) -#define FUSION_INCLUDE_MPL - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/include/next.hpp b/external/boost/fusion/include/next.hpp deleted file mode 100644 index 266b6ecb3..000000000 --- a/external/boost/fusion/include/next.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_NEXT) -#define FUSION_INCLUDE_NEXT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/nil.hpp b/external/boost/fusion/include/nil.hpp deleted file mode 100644 index 3efde4e99..000000000 --- a/external/boost/fusion/include/nil.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_NIL) -#define FUSION_INCLUDE_NIL - -#include -#include - -#endif diff --git a/external/boost/fusion/include/none.hpp b/external/boost/fusion/include/none.hpp deleted file mode 100644 index 3870b3980..000000000 --- a/external/boost/fusion/include/none.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_NONE) -#define FUSION_INCLUDE_NONE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/not_equal_to.hpp b/external/boost/fusion/include/not_equal_to.hpp deleted file mode 100644 index e11f2d6ae..000000000 --- a/external/boost/fusion/include/not_equal_to.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_NOT_EQUAL_TO) -#define FUSION_INCLUDE_NOT_EQUAL_TO - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/include/nview.hpp b/external/boost/fusion/include/nview.hpp deleted file mode 100644 index f1309ca51..000000000 --- a/external/boost/fusion/include/nview.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_NVIEW) -#define FUSION_INCLUDE_NVIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/out.hpp b/external/boost/fusion/include/out.hpp deleted file mode 100644 index 85d26dda1..000000000 --- a/external/boost/fusion/include/out.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_OUT) -#define FUSION_INCLUDE_OUT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/pair.hpp b/external/boost/fusion/include/pair.hpp deleted file mode 100644 index bf0897d0f..000000000 --- a/external/boost/fusion/include/pair.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_PAIR) -#define FUSION_INCLUDE_PAIR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/pair_tie.hpp b/external/boost/fusion/include/pair_tie.hpp deleted file mode 100644 index 3a783f33c..000000000 --- a/external/boost/fusion/include/pair_tie.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_PAIR_TIE) -#define FUSION_INCLUDE_PAIR_TIE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/pop_back.hpp b/external/boost/fusion/include/pop_back.hpp deleted file mode 100644 index 213fb3b27..000000000 --- a/external/boost/fusion/include/pop_back.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_POP_BACK) -#define FUSION_INCLUDE_POP_BACK - -#include -#include - -#endif diff --git a/external/boost/fusion/include/pop_front.hpp b/external/boost/fusion/include/pop_front.hpp deleted file mode 100644 index d52d61226..000000000 --- a/external/boost/fusion/include/pop_front.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_POP_FRONT) -#define FUSION_INCLUDE_POP_FRONT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/prior.hpp b/external/boost/fusion/include/prior.hpp deleted file mode 100644 index 605b3b398..000000000 --- a/external/boost/fusion/include/prior.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_PRIOR) -#define FUSION_INCLUDE_PRIOR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/proxy_type.hpp b/external/boost/fusion/include/proxy_type.hpp deleted file mode 100644 index a73c23448..000000000 --- a/external/boost/fusion/include/proxy_type.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_PROXY_TYPE_HPP -#define BOOST_FUSION_INCLUDE_PROXY_TYPE_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/push_back.hpp b/external/boost/fusion/include/push_back.hpp deleted file mode 100644 index 6e74b3fa8..000000000 --- a/external/boost/fusion/include/push_back.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_PUSH_BACK) -#define FUSION_INCLUDE_PUSH_BACK - -#include -#include - -#endif diff --git a/external/boost/fusion/include/push_front.hpp b/external/boost/fusion/include/push_front.hpp deleted file mode 100644 index 8c4b0357e..000000000 --- a/external/boost/fusion/include/push_front.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_PUSH_FRONT) -#define FUSION_INCLUDE_PUSH_FRONT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/query.hpp b/external/boost/fusion/include/query.hpp deleted file mode 100644 index edfbd1e29..000000000 --- a/external/boost/fusion/include/query.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_QUERY) -#define FUSION_INCLUDE_QUERY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/remove.hpp b/external/boost/fusion/include/remove.hpp deleted file mode 100644 index 269d86f22..000000000 --- a/external/boost/fusion/include/remove.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_REMOVE) -#define FUSION_INCLUDE_REMOVE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/remove_if.hpp b/external/boost/fusion/include/remove_if.hpp deleted file mode 100644 index 6e6266d30..000000000 --- a/external/boost/fusion/include/remove_if.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_REMOVE_IF) -#define FUSION_INCLUDE_REMOVE_IF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/repetitive_view.hpp b/external/boost/fusion/include/repetitive_view.hpp deleted file mode 100644 index b57c997dd..000000000 --- a/external/boost/fusion/include/repetitive_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_REPETETIVE_VIEW) -#define FUSION_INCLUDE_REPETETIVE_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/replace.hpp b/external/boost/fusion/include/replace.hpp deleted file mode 100644 index 3ff05a67e..000000000 --- a/external/boost/fusion/include/replace.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_REPLACE) -#define FUSION_INCLUDE_REPLACE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/replace_if.hpp b/external/boost/fusion/include/replace_if.hpp deleted file mode 100644 index 9bc9931d5..000000000 --- a/external/boost/fusion/include/replace_if.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_REPLACE_IF) -#define FUSION_INCLUDE_REPLACE_IF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/reverse.hpp b/external/boost/fusion/include/reverse.hpp deleted file mode 100644 index 4f147b988..000000000 --- a/external/boost/fusion/include/reverse.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_REVERSE) -#define FUSION_INCLUDE_REVERSE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/reverse_fold.hpp b/external/boost/fusion/include/reverse_fold.hpp deleted file mode 100644 index 4b3e61c2b..000000000 --- a/external/boost/fusion/include/reverse_fold.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_REVERSE_FOLD_HPP -#define BOOST_FUSION_INCLUDE_REVERSE_FOLD_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/reverse_iter_fold.hpp b/external/boost/fusion/include/reverse_iter_fold.hpp deleted file mode 100644 index bbd1ea40c..000000000 --- a/external/boost/fusion/include/reverse_iter_fold.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_REVERSE_ITER_FOLD_HPP -#define BOOST_FUSION_INCLUDE_REVERSE_ITER_FOLD_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/reverse_view.hpp b/external/boost/fusion/include/reverse_view.hpp deleted file mode 100644 index 6652d0607..000000000 --- a/external/boost/fusion/include/reverse_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_REVERSE_VIEW) -#define FUSION_INCLUDE_REVERSE_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/segmented_fold_until.hpp b/external/boost/fusion/include/segmented_fold_until.hpp deleted file mode 100644 index 7a5cc62d3..000000000 --- a/external/boost/fusion/include/segmented_fold_until.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_INCLUDE_SEGMENTED_FOLD_UNTIL) -#define BOOST_FUSION_INCLUDE_SEGMENTED_FOLD_UNTIL - -#include -#include - -#endif diff --git a/external/boost/fusion/include/segmented_iterator.hpp b/external/boost/fusion/include/segmented_iterator.hpp deleted file mode 100644 index 18d0a65ee..000000000 --- a/external/boost/fusion/include/segmented_iterator.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_INCLUDE_SEGMENTED_ITERATOR) -#define BOOST_FUSION_INCLUDE_SEGMENTED_ITERATOR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/segments.hpp b/external/boost/fusion/include/segments.hpp deleted file mode 100644 index c0a4c50c4..000000000 --- a/external/boost/fusion/include/segments.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_INCLUDE_SEGMENTS) -#define BOOST_FUSION_INCLUDE_SEGMENTS - -#include -#include - -#endif diff --git a/external/boost/fusion/include/sequence.hpp b/external/boost/fusion/include/sequence.hpp deleted file mode 100644 index ff36266b6..000000000 --- a/external/boost/fusion/include/sequence.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SEQUENCE) -#define FUSION_INCLUDE_SEQUENCE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/sequence_base.hpp b/external/boost/fusion/include/sequence_base.hpp deleted file mode 100644 index fc68090e9..000000000 --- a/external/boost/fusion/include/sequence_base.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SEQUENCE_BASE) -#define FUSION_INCLUDE_SEQUENCE_BASE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/sequence_facade.hpp b/external/boost/fusion/include/sequence_facade.hpp deleted file mode 100644 index ef989b4c7..000000000 --- a/external/boost/fusion/include/sequence_facade.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SEQUENCE_FACADE) -#define FUSION_INCLUDE_SEQUENCE_FACADE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/set.hpp b/external/boost/fusion/include/set.hpp deleted file mode 100644 index 370ae6558..000000000 --- a/external/boost/fusion/include/set.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SET) -#define FUSION_INCLUDE_SET - -#include -#include - -#endif diff --git a/external/boost/fusion/include/set_fwd.hpp b/external/boost/fusion/include/set_fwd.hpp deleted file mode 100644 index 3c21cd67b..000000000 --- a/external/boost/fusion/include/set_fwd.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SET_FWD) -#define FUSION_INCLUDE_SET_FWD - -#include -#include - -#endif diff --git a/external/boost/fusion/include/single_view.hpp b/external/boost/fusion/include/single_view.hpp deleted file mode 100644 index 306fac6c5..000000000 --- a/external/boost/fusion/include/single_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SINGLE_VIEW) -#define FUSION_INCLUDE_SINGLE_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/size.hpp b/external/boost/fusion/include/size.hpp deleted file mode 100644 index 5131116da..000000000 --- a/external/boost/fusion/include/size.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SIZE) -#define FUSION_INCLUDE_SIZE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/std_array.hpp b/external/boost/fusion/include/std_array.hpp deleted file mode 100644 index ceb815ba9..000000000 --- a/external/boost/fusion/include/std_array.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2017 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_STD_ARRAY) -#define FUSION_INCLUDE_STD_ARRAY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/std_pair.hpp b/external/boost/fusion/include/std_pair.hpp deleted file mode 100644 index 7a882a97a..000000000 --- a/external/boost/fusion/include/std_pair.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_STD_PAIR) -#define FUSION_INCLUDE_STD_PAIR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/std_tuple.hpp b/external/boost/fusion/include/std_tuple.hpp deleted file mode 100644 index 9c9d8a1a5..000000000 --- a/external/boost/fusion/include/std_tuple.hpp +++ /dev/null @@ -1,12 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_INCLUDE_STD_TUPLE -#define FUSION_INCLUDE_STD_TUPLE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/struct.hpp b/external/boost/fusion/include/struct.hpp deleted file mode 100644 index fc4366fdb..000000000 --- a/external/boost/fusion/include/struct.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_STRUCT) -#define FUSION_INCLUDE_STRUCT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/support.hpp b/external/boost/fusion/include/support.hpp deleted file mode 100644 index 8762517f7..000000000 --- a/external/boost/fusion/include/support.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SUPPORT) -#define FUSION_INCLUDE_SUPPORT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/swap.hpp b/external/boost/fusion/include/swap.hpp deleted file mode 100644 index c25d557f1..000000000 --- a/external/boost/fusion/include/swap.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_SWAP) -#define FUSION_INCLUDE_SWAP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/tag_of.hpp b/external/boost/fusion/include/tag_of.hpp deleted file mode 100644 index dc583eeb5..000000000 --- a/external/boost/fusion/include/tag_of.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TAG_OF) -#define FUSION_INCLUDE_TAG_OF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/tag_of_fwd.hpp b/external/boost/fusion/include/tag_of_fwd.hpp deleted file mode 100644 index 287dc3389..000000000 --- a/external/boost/fusion/include/tag_of_fwd.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TAG_OF_FWD) -#define FUSION_INCLUDE_TAG_OF_FWD - -#include -#include - -#endif diff --git a/external/boost/fusion/include/transform.hpp b/external/boost/fusion/include/transform.hpp deleted file mode 100644 index 04fdc3847..000000000 --- a/external/boost/fusion/include/transform.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TRANSFORM) -#define FUSION_INCLUDE_TRANSFORM - -#include -#include - -#endif diff --git a/external/boost/fusion/include/transform_view.hpp b/external/boost/fusion/include/transform_view.hpp deleted file mode 100644 index b07a79793..000000000 --- a/external/boost/fusion/include/transform_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TRANSFORM_VIEW) -#define FUSION_INCLUDE_TRANSFORM_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/transformation.hpp b/external/boost/fusion/include/transformation.hpp deleted file mode 100644 index 195b3eb2e..000000000 --- a/external/boost/fusion/include/transformation.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TRANSFORMATION) -#define FUSION_INCLUDE_TRANSFORMATION - -#include -#include - -#endif diff --git a/external/boost/fusion/include/tuple.hpp b/external/boost/fusion/include/tuple.hpp deleted file mode 100644 index 5d167f4f9..000000000 --- a/external/boost/fusion/include/tuple.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TUPLE) -#define FUSION_INCLUDE_TUPLE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/tuple_fwd.hpp b/external/boost/fusion/include/tuple_fwd.hpp deleted file mode 100644 index d95ce2be7..000000000 --- a/external/boost/fusion/include/tuple_fwd.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TUPLE_FWD) -#define FUSION_INCLUDE_TUPLE_FWD - -#include -#include - -#endif diff --git a/external/boost/fusion/include/tuple_tie.hpp b/external/boost/fusion/include/tuple_tie.hpp deleted file mode 100644 index c61451a0b..000000000 --- a/external/boost/fusion/include/tuple_tie.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_TUPLE_TIE) -#define FUSION_INCLUDE_TUPLE_TIE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/unfused.hpp b/external/boost/fusion/include/unfused.hpp deleted file mode 100644 index 192d23b29..000000000 --- a/external/boost/fusion/include/unfused.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2010 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_UNFUSED_HPP -#define BOOST_FUSION_INCLUDE_UNFUSED_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/unfused_typed.hpp b/external/boost/fusion/include/unfused_typed.hpp deleted file mode 100644 index c14c51535..000000000 --- a/external/boost/fusion/include/unfused_typed.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_UNFUSED_TYPED) -#define FUSION_INCLUDE_UNFUSED_TYPED - -#include -#include - -#endif diff --git a/external/boost/fusion/include/unused.hpp b/external/boost/fusion/include/unused.hpp deleted file mode 100644 index 6114f282c..000000000 --- a/external/boost/fusion/include/unused.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_UNUSED) -#define FUSION_INCLUDE_UNUSED - -#include -#include - -#endif diff --git a/external/boost/fusion/include/value_at.hpp b/external/boost/fusion/include/value_at.hpp deleted file mode 100644 index d40a9f08b..000000000 --- a/external/boost/fusion/include/value_at.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VALUE_AT) -#define FUSION_INCLUDE_VALUE_AT - -#include -#include - -#endif diff --git a/external/boost/fusion/include/value_at_key.hpp b/external/boost/fusion/include/value_at_key.hpp deleted file mode 100644 index 229210096..000000000 --- a/external/boost/fusion/include/value_at_key.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VALUE_AT_KEY) -#define FUSION_INCLUDE_VALUE_AT_KEY - -#include -#include - -#endif diff --git a/external/boost/fusion/include/value_of.hpp b/external/boost/fusion/include/value_of.hpp deleted file mode 100644 index 33e49d8fd..000000000 --- a/external/boost/fusion/include/value_of.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VALUE_OF) -#define FUSION_INCLUDE_VALUE_OF - -#include -#include - -#endif diff --git a/external/boost/fusion/include/value_of_data.hpp b/external/boost/fusion/include/value_of_data.hpp deleted file mode 100644 index afa9863f8..000000000 --- a/external/boost/fusion/include/value_of_data.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP -#define BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector.hpp b/external/boost/fusion/include/vector.hpp deleted file mode 100644 index 83aa74446..000000000 --- a/external/boost/fusion/include/vector.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR) -#define FUSION_INCLUDE_VECTOR - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector10.hpp b/external/boost/fusion/include/vector10.hpp deleted file mode 100644 index 50e5f1825..000000000 --- a/external/boost/fusion/include/vector10.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR10) -#define FUSION_INCLUDE_VECTOR10 - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector20.hpp b/external/boost/fusion/include/vector20.hpp deleted file mode 100644 index 5d1f1fe62..000000000 --- a/external/boost/fusion/include/vector20.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR20) -#define FUSION_INCLUDE_VECTOR20 - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector30.hpp b/external/boost/fusion/include/vector30.hpp deleted file mode 100644 index 243f2bb9a..000000000 --- a/external/boost/fusion/include/vector30.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR30) -#define FUSION_INCLUDE_VECTOR30 - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector40.hpp b/external/boost/fusion/include/vector40.hpp deleted file mode 100644 index 8dd800a8c..000000000 --- a/external/boost/fusion/include/vector40.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR40) -#define FUSION_INCLUDE_VECTOR40 - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector50.hpp b/external/boost/fusion/include/vector50.hpp deleted file mode 100644 index d3e899688..000000000 --- a/external/boost/fusion/include/vector50.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR50) -#define FUSION_INCLUDE_VECTOR50 - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector_fwd.hpp b/external/boost/fusion/include/vector_fwd.hpp deleted file mode 100644 index f9c71a6f7..000000000 --- a/external/boost/fusion/include/vector_fwd.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR_FWD) -#define FUSION_INCLUDE_VECTOR_FWD - -#include -#include - -#endif diff --git a/external/boost/fusion/include/vector_tie.hpp b/external/boost/fusion/include/vector_tie.hpp deleted file mode 100644 index 390e3bfed..000000000 --- a/external/boost/fusion/include/vector_tie.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VECTOR_TIE) -#define FUSION_INCLUDE_VECTOR_TIE - -#include -#include - -#endif diff --git a/external/boost/fusion/include/view.hpp b/external/boost/fusion/include/view.hpp deleted file mode 100644 index 66ffa74ea..000000000 --- a/external/boost/fusion/include/view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VIEW) -#define FUSION_INCLUDE_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/include/void.hpp b/external/boost/fusion/include/void.hpp deleted file mode 100644 index ee358fb13..000000000 --- a/external/boost/fusion/include/void.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_VOID) -#define FUSION_INCLUDE_VOID - -#include -#include - -#endif diff --git a/external/boost/fusion/include/zip.hpp b/external/boost/fusion/include/zip.hpp deleted file mode 100644 index 87b04bc3f..000000000 --- a/external/boost/fusion/include/zip.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ZIP) -#define FUSION_INCLUDE_ZIP - -#include -#include - -#endif diff --git a/external/boost/fusion/include/zip_view.hpp b/external/boost/fusion/include/zip_view.hpp deleted file mode 100644 index bf0e9cfb9..000000000 --- a/external/boost/fusion/include/zip_view.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2007 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INCLUDE_ZIP_VIEW) -#define FUSION_INCLUDE_ZIP_VIEW - -#include -#include - -#endif diff --git a/external/boost/fusion/iterator.hpp b/external/boost/fusion/iterator.hpp deleted file mode 100644 index 8aa15a39d..000000000 --- a/external/boost/fusion/iterator.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ITERATOR_10022005_0559) -#define FUSION_ITERATOR_10022005_0559 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/iterator/advance.hpp b/external/boost/fusion/iterator/advance.hpp deleted file mode 100644 index f81596a7a..000000000 --- a/external/boost/fusion/iterator/advance.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADVANCE_09172005_1146) -#define FUSION_ADVANCE_09172005_1146 - -#include -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct advance_impl - { - // default implementation - template - struct apply : - mpl::if_c< - (N::value > 0) - , advance_detail::forward - , advance_detail::backward - >::type - { - BOOST_MPL_ASSERT_NOT((traits::is_random_access)); - }; - }; - - template <> - struct advance_impl - { - template - struct apply : Iterator::template advance {}; - }; - - template <> - struct advance_impl; - - template <> - struct advance_impl; - - template <> - struct advance_impl; - } - - namespace result_of - { - template - struct advance_c - : extension::advance_impl::type>::template apply > - {}; - - template - struct advance - : extension::advance_impl::type>::template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::advance_c::type const - advance_c(Iterator const& i) - { - return result_of::advance_c::call(i); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::advance::type const - advance(Iterator const& i) - { - return result_of::advance::call(i); - } - -}} // namespace boost::fusion - -#endif diff --git a/external/boost/fusion/iterator/basic_iterator.hpp b/external/boost/fusion/iterator/basic_iterator.hpp deleted file mode 100644 index eae46e635..000000000 --- a/external/boost/fusion/iterator/basic_iterator.hpp +++ /dev/null @@ -1,156 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP -#define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP - -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace extension - { - template - struct value_of_impl; - - template - struct deref_impl; - - template - struct value_of_data_impl; - - template - struct key_of_impl; - - template - struct deref_data_impl; - } - - template - struct basic_iterator - : iterator_facade, Category> - { - typedef mpl::int_ index; - typedef Seq seq_type; - - template - struct value_of - : extension::value_of_impl::template apply - {}; - - template - struct deref - : extension::deref_impl::template apply - {}; - - template - struct value_of_data - : extension::value_of_data_impl::template apply - {}; - - template - struct key_of - : extension::key_of_impl::template apply - {}; - - template - struct deref_data - : extension::deref_data_impl::template apply - {}; - - template - struct advance - { - typedef - basic_iterator - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return type(*it.seq,0); - } - }; - - template - struct next - : advance > - {}; - - template - struct prior - : advance > - {}; - - template - struct distance - { - typedef mpl::minus type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static - type - call(It1 const&, It2 const&) - { - return type(); - } - }; - - template - struct equal_to - : mpl::and_< - is_same< - typename remove_const::type - , typename remove_const::type - > - , mpl::equal_to - > - {}; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - basic_iterator(basic_iterator const& it) - : seq(it.seq) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - basic_iterator(Seq& in_seq, int) - : seq(&in_seq) - {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - basic_iterator& - operator=(basic_iterator const& it) - { - seq=it.seq; - return *this; - } - - Seq* seq; - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::basic_iterator > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/iterator/deref.hpp b/external/boost/fusion/iterator/deref.hpp deleted file mode 100644 index c31962cb0..000000000 --- a/external/boost/fusion/iterator/deref.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_05042005_1019) -#define FUSION_DEREF_05042005_1019 - -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct deref_impl - { - template - struct apply {}; - }; - - template <> - struct deref_impl - { - template - struct apply : Iterator::template deref {}; - }; - - template <> - struct deref_impl; - - template <> - struct deref_impl; - - template <> - struct deref_impl; - } - - namespace result_of - { - template - struct deref - : extension::deref_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::deref::type - deref(Iterator const& i) - { - typedef result_of::deref deref_meta; - return deref_meta::call(i); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::deref::type - operator*(iterator_base const& i) - { - return fusion::deref(i.cast()); - } -}} - -#endif diff --git a/external/boost/fusion/iterator/deref_data.hpp b/external/boost/fusion/iterator/deref_data.hpp deleted file mode 100644 index 65a43324f..000000000 --- a/external/boost/fusion/iterator/deref_data.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ITERATOR_DEREF_DATA_HPP -#define BOOST_FUSION_ITERATOR_DEREF_DATA_HPP - -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_facade_tag; - - namespace extension - { - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - : It::template deref_data - {}; - }; - } - - namespace result_of - { - template - struct deref_data - : extension::deref_data_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::deref_data::type - deref_data(It const& it) - { - return result_of::deref_data::call(it); - } -}} - -#endif diff --git a/external/boost/fusion/iterator/detail/adapt_deref_traits.hpp b/external/boost/fusion/iterator/detail/adapt_deref_traits.hpp deleted file mode 100644 index bee0934f5..000000000 --- a/external/boost/fusion/iterator/detail/adapt_deref_traits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADAPT_DEREF_TRAITS_05062005_0900) -#define FUSION_ADAPT_DEREF_TRAITS_05062005_0900 - -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - struct adapt_deref_traits - { - template - struct apply - { - typedef typename - result_of::deref::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return *i.first; - } - }; - }; -}}} - -#endif - - diff --git a/external/boost/fusion/iterator/detail/adapt_value_traits.hpp b/external/boost/fusion/iterator/detail/adapt_value_traits.hpp deleted file mode 100644 index e27a2f90f..000000000 --- a/external/boost/fusion/iterator/detail/adapt_value_traits.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADAPT_VALUE_TRAITS_05062005_0859) -#define FUSION_ADAPT_VALUE_TRAITS_05062005_0859 - -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - struct adapt_value_traits - { - template - struct apply - { - typedef typename - result_of::value_of::type - type; - }; - }; -}}} - -#endif - - diff --git a/external/boost/fusion/iterator/detail/advance.hpp b/external/boost/fusion/iterator/detail/advance.hpp deleted file mode 100644 index 7eb3bbbdb..000000000 --- a/external/boost/fusion/iterator/detail/advance.hpp +++ /dev/null @@ -1,107 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADVANCE_09172005_1149) -#define FUSION_ADVANCE_09172005_1149 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace advance_detail -{ - // Default advance implementation, perform next(i) - // or prior(i) N times. - - template - struct forward; - - template - struct next_forward - { - typedef typename - forward< - typename result_of::next::type - , N-1 - >::type - type; - }; - - template - struct forward - { - typedef typename - mpl::eval_if_c< - (N == 0) - , mpl::identity - , next_forward - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type const& - call(type const& i) - { - return i; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(I const& i) - { - return call(fusion::next(i)); - } - }; - - template - struct backward; - - template - struct next_backward - { - typedef typename - backward< - typename result_of::prior::type - , N+1 - >::type - type; - }; - - template - struct backward - { - typedef typename - mpl::eval_if_c< - (N == 0) - , mpl::identity - , next_backward - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type const& - call(type const& i) - { - return i; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(I const& i) - { - return call(fusion::prior(i)); - } - }; - -}}} - -#endif diff --git a/external/boost/fusion/iterator/detail/distance.hpp b/external/boost/fusion/iterator/detail/distance.hpp deleted file mode 100644 index 698490263..000000000 --- a/external/boost/fusion/iterator/detail/distance.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DISTANCE_09172005_0730) -#define FUSION_DISTANCE_09172005_0730 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace distance_detail -{ - // Default distance implementation, linear - // search for the Last iterator. - - template - struct linear_distance; - - template - struct next_distance - { - typedef typename - mpl::next< - typename linear_distance< - typename result_of::next::type - , Last - >::type - >::type - type; - }; - - template - struct linear_distance - : mpl::eval_if< - result_of::equal_to - , mpl::identity > - , next_distance - >::type - { - typedef typename - mpl::eval_if< - result_of::equal_to - , mpl::identity > - , next_distance - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const&, Last const&) - { - return type(); - } - }; - -}}} - -#endif diff --git a/external/boost/fusion/iterator/detail/segment_sequence.hpp b/external/boost/fusion/iterator/detail/segment_sequence.hpp deleted file mode 100644 index 8b8d5c13f..000000000 --- a/external/boost/fusion/iterator/detail/segment_sequence.hpp +++ /dev/null @@ -1,73 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - struct segment_sequence_tag {}; - - // Here, Sequence is a sequence of ranges (which may or may not be - // segmented). - template - struct segment_sequence - : sequence_base > - { - typedef fusion_sequence_tag tag; - typedef segment_sequence_tag fusion_tag; - typedef typename Sequence::is_view is_view; - typedef typename Sequence::category category; - typedef Sequence sequence_type; - sequence_type sequence; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segment_sequence(Sequence const & seq) - : sequence(seq) - {} - }; -} - -namespace extension -{ - template - struct is_segmented_impl; - - template<> - struct is_segmented_impl - { - template - struct apply - : mpl::true_ - {}; - }; - - template - struct segments_impl; - - template<> - struct segments_impl - { - template - struct apply - { - typedef typename Sequence::sequence_type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence & seq) - { - return seq.sequence; - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/iterator/detail/segmented_equal_to.hpp b/external/boost/fusion/iterator/detail/segmented_equal_to.hpp deleted file mode 100644 index 77a080f2b..000000000 --- a/external/boost/fusion/iterator/detail/segmented_equal_to.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - namespace detail - { - template - struct segmented_equal_to - : mpl::and_< - segmented_equal_to< - typename Stack1::cdr_type, - typename Stack2::cdr_type - > - , result_of::equal_to< - typename Stack1::car_type::begin_type, - typename Stack2::car_type::begin_type - > - > - {}; - - template <> - struct segmented_equal_to - : mpl::true_ - {}; - } -}} - -#endif diff --git a/external/boost/fusion/iterator/detail/segmented_iterator.hpp b/external/boost/fusion/iterator/detail/segmented_iterator.hpp deleted file mode 100644 index 9e114155e..000000000 --- a/external/boost/fusion/iterator/detail/segmented_iterator.hpp +++ /dev/null @@ -1,148 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nil_; - - namespace detail - { - template - struct segmented_next_impl; - } - - // A segmented iterator wraps a "context", which is a cons list - // of ranges, the frontmost is range over values and the rest - // are ranges over internal segments. - template - struct segmented_iterator - : iterator_facade, forward_traversal_tag> - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_iterator(Context const& ctx) - : context(ctx) - {} - - //auto deref(it) - //{ - // return deref(begin(car(it.context))) - //} - template - struct deref - { - typedef - typename result_of::deref< - typename It::context_type::car_type::begin_type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(It const& it) - { - return *it.context.car.first; - } - }; - - //auto deref_data(it) - //{ - // return deref_data(begin(car(it.context))) - //} - template - struct deref_data - { - typedef - typename result_of::deref_data< - typename It::context_type::car_type::begin_type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(It const& it) - { - return fusion::deref_data(it.context.car.first); - } - }; - - //auto key_of(it) - //{ - // return key_of(begin(car(it.context))) - //} - template - struct key_of - : result_of::key_of - {}; - - //auto value_of(it) - //{ - // return value_of(begin(car(it.context))) - //} - template - struct value_of - : result_of::value_of - {}; - - //auto value_of_data(it) - //{ - // return value_of_data(begin(car(it.context))) - //} - template - struct value_of_data - : result_of::value_of_data - {}; - - // Compare all the segment iterators in each stack, starting with - // the bottom-most. - template < - typename It1 - , typename It2 - , int Size1 = It1::context_type::size::value - , int Size2 = It2::context_type::size::value - > - struct equal_to - : mpl::false_ - {}; - - template - struct equal_to - : detail::segmented_equal_to< - typename It1::context_type - , typename It2::context_type - > - {}; - - template - struct next - { - typedef detail::segmented_next_impl impl; - typedef segmented_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(It const& it) - { - return type(impl::call(it.context)); - } - }; - - typedef Context context_type; - context_type context; - }; - -}} - -#endif diff --git a/external/boost/fusion/iterator/detail/segmented_next_impl.hpp b/external/boost/fusion/iterator/detail/segmented_next_impl.hpp deleted file mode 100644 index 62502ceef..000000000 --- a/external/boost/fusion/iterator/detail/segmented_next_impl.hpp +++ /dev/null @@ -1,265 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct iterator_range; - - template - struct segmented_iterator; - - namespace detail - { - template - struct segmented_begin_impl; - - //bool is_invalid(stack) - //{ - // return empty(car(stack)); - //} - - template - struct is_invalid - : result_of::equal_to< - typename Stack::car_type::begin_type, - typename Stack::car_type::end_type - > - {}; - - ////Advance the first iterator in the seq at the - ////top of a stack of iterator ranges. Return the - ////new stack. - //auto pop_front_car(stack) - //{ - // return cons(iterator_range(next(begin(car(stack))), end(car(stack))), cdr(stack)); - //} - - template - struct pop_front_car - { - typedef - iterator_range< - typename result_of::next< - typename Stack::car_type::begin_type - >::type - , typename Stack::car_type::end_type - > - car_type; - - typedef - cons - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return type( - car_type(fusion::next(stack.car.first), stack.car.last), - stack.cdr); - } - }; - - template < - typename Stack, - typename Next = typename pop_front_car::type, - bool IsInvalid = is_invalid::value, - int StackSize = Stack::size::value> - struct segmented_next_impl_recurse; - - // Handle the case where the top of the stack has no usable - //auto segmented_next_impl_recurse3(stack) - //{ - // if (size(stack) == 1) - // return cons(iterator_range(end(car(stack)), end(car(stack))), nil_); - // else - // return segmented_next_impl_recurse(stack.cdr); - //} - - template < - typename Stack, - int StackSize = Stack::size::value> - struct segmented_next_impl_recurse3 - { - typedef segmented_next_impl_recurse impl; - typedef typename impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return impl::call(stack.cdr); - } - }; - - template - struct segmented_next_impl_recurse3 - { - typedef typename Stack::car_type::end_type end_type; - typedef iterator_range range_type; - typedef cons type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return type(range_type(stack.car.last, stack.car.last)); - } - }; - - //auto segmented_next_impl_recurse2(stack) - //{ - // auto res = segmented_begin_impl(front(car(stack)), stack); - // if (is_invalid(res)) - // return segmented_next_impl_recurse3(stack); - // else - // return res; - //} - - template < - typename Stack, - typename Sequence = - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type, - typename Result = - typename segmented_begin_impl::type, - bool IsInvalid = - is_invalid::value> - struct segmented_next_impl_recurse2 - { - typedef segmented_next_impl_recurse3 impl; - typedef typename impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return impl::call(stack); - } - }; - - template - struct segmented_next_impl_recurse2 - { - typedef Result type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return segmented_begin_impl::call(*stack.car.first, stack); - } - }; - - //auto segmented_next_impl_recurse(stack) - //{ - // auto next = pop_front_car(stack); - // if (is_invalid(next)) - // if (1 == size(stack)) - // return next; - // else - // return segmented_next_impl_recurse(cdr(stack)); - // else - // return segmented_next_impl_recurse2(next) - //} - - template - struct segmented_next_impl_recurse - { - typedef - typename segmented_next_impl_recurse::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const& stack) - { - return segmented_next_impl_recurse::call(stack.cdr); - } - }; - - template - struct segmented_next_impl_recurse - { - typedef Next type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return pop_front_car::call(stack); - } - }; - - template - struct segmented_next_impl_recurse - { - typedef segmented_next_impl_recurse2 impl; - typedef typename impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return impl::call(pop_front_car::call(stack)); - } - }; - - //auto segmented_next_impl(stack) - //{ - // // car(stack) is a seq of values, not a seq of segments - // auto next = pop_front_car(stack); - // if (is_invalid(next)) - // return segmented_next_impl_recurse(cdr(next)); - // else - // return next; - //} - - template < - typename Stack, - typename Next = typename pop_front_car::type, - bool IsInvalid = is_invalid::value> - struct segmented_next_impl_aux - { - typedef segmented_next_impl_recurse impl; - typedef typename impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return impl::call(stack.cdr); - } - }; - - template - struct segmented_next_impl_aux - { - typedef Next type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const & stack) - { - return pop_front_car::call(stack); - } - }; - - template - struct segmented_next_impl - : segmented_next_impl_aux - {}; - } -}} - -#endif diff --git a/external/boost/fusion/iterator/distance.hpp b/external/boost/fusion/iterator/distance.hpp deleted file mode 100644 index 7f993c0d1..000000000 --- a/external/boost/fusion/iterator/distance.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DISTANCE_09172005_0721) -#define FUSION_DISTANCE_09172005_0721 - -#include -#include -#include - -#include -#include -#include - -#include - -namespace boost { namespace fusion -{ - struct random_access_traversal_tag; - - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct distance_impl - { - // default implementation - template - struct apply : distance_detail::linear_distance - {}; - }; - - template <> - struct distance_impl - { - template - struct apply : First::template distance {}; - }; - - template <> - struct distance_impl; - - template <> - struct distance_impl; - - template <> - struct distance_impl; - } - - namespace result_of - { - template - struct distance - : extension::distance_impl::type>:: - template apply - { - typedef typename extension::distance_impl::type>:: - template apply::type distance_application; - BOOST_STATIC_CONSTANT(int, value = distance_application::value); - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::distance::type - distance(First const& a, Last const& b) - { - return result_of::distance::call(a,b); - } -}} - -#endif diff --git a/external/boost/fusion/iterator/equal_to.hpp b/external/boost/fusion/iterator/equal_to.hpp deleted file mode 100644 index 191795e13..000000000 --- a/external/boost/fusion/iterator/equal_to.hpp +++ /dev/null @@ -1,106 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_05052005_1208) -#define FUSION_EQUAL_TO_05052005_1208 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct equal_to_impl - { - // default implementation - template - struct apply - : is_same::type, typename add_const::type> - {}; - }; - - template <> - struct equal_to_impl - { - template - struct dispatch : mpl::false_ {}; - - template - struct dispatch // same tag - : It1::template equal_to - {}; - - template - struct apply : dispatch - {}; - }; - - template <> - struct equal_to_impl; - - template <> - struct equal_to_impl; - - template <> - struct equal_to_impl; - } - - namespace result_of - { - template - struct equal_to - : extension::equal_to_impl::type>:: - template apply - {}; - } - - namespace iterator_operators - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - mpl::and_, is_fusion_iterator > - , bool - >::type - operator==(Iter1 const&, Iter2 const&) - { - return result_of::equal_to::value; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - mpl::and_, is_fusion_iterator > - , bool - >::type - operator!=(Iter1 const&, Iter2 const&) - { - return !result_of::equal_to::value; - } - } - - using iterator_operators::operator==; - using iterator_operators::operator!=; -}} - -#endif - diff --git a/external/boost/fusion/iterator/iterator_adapter.hpp b/external/boost/fusion/iterator/iterator_adapter.hpp deleted file mode 100644 index de8938f6c..000000000 --- a/external/boost/fusion/iterator/iterator_adapter.hpp +++ /dev/null @@ -1,147 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ITERATOR_ADAPTER_08112011_0942) -#define FUSION_ITERATOR_ADAPTER_08112011_0942 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template ::type> - struct iterator_adapter - : iterator_facade - { - typedef typename - remove_const::type - iterator_base_type; - iterator_base_type iterator_base; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - iterator_adapter(iterator_base_type const& iterator_base_) - : iterator_base(iterator_base_) {} - - // default implementation - template - struct equal_to - : result_of::equal_to< - typename I1::iterator_base_type - , typename I2::iterator_base_type - > - {}; - - // default implementation - template - struct advance - { - typedef typename Derived_::template make< - typename result_of::advance< - typename Iterator::iterator_base_type, N - >::type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return type(fusion::advance(it.iterator_base)); - } - }; - - // default implementation - template - struct distance - : result_of::distance< - typename First::iterator_base_type - , typename Last::iterator_base_type - > - {}; - - // default implementation - template - struct value_of - : result_of::value_of< - typename Iterator::iterator_base_type - > - {}; - - // default implementation - template - struct deref - { - typedef typename - result_of::deref< - typename Iterator::iterator_base_type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return fusion::deref(it.iterator_base); - } - }; - - // default implementation - template - struct next - { - typedef typename Derived_::template make< - typename result_of::next< - typename Iterator::iterator_base_type - >::type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::next(i.iterator_base)); - } - }; - - // default implementation - template - struct prior - { - typedef typename Derived_::template make< - typename result_of::prior< - typename Iterator::iterator_base_type - >::type>::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::prior(i.iterator_base)); - } - }; - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::iterator_adapter > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/iterator/iterator_facade.hpp b/external/boost/fusion/iterator/iterator_facade.hpp deleted file mode 100644 index 1760957ee..000000000 --- a/external/boost/fusion/iterator/iterator_facade.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ITERATOR_FACADE_09252006_1011) -#define FUSION_ITERATOR_FACADE_09252006_1011 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_facade_tag; - - template - struct iterator_facade : iterator_base - { - typedef iterator_facade_tag fusion_tag; - typedef Derived derived_type; - typedef Category category; - - // default implementation - template - struct equal_to // default implementation - : is_same< - typename I1::derived_type - , typename I2::derived_type - > - {}; - - // default implementation - template - struct advance : - mpl::if_c< - (N::value > 0) - , advance_detail::forward - , advance_detail::backward - >::type - { - BOOST_MPL_ASSERT_NOT((traits::is_random_access)); - }; - - // default implementation - template - struct distance : - distance_detail::linear_distance - {}; - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::iterator_facade > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/iterator/key_of.hpp b/external/boost/fusion/iterator/key_of.hpp deleted file mode 100644 index 3459ab58e..000000000 --- a/external/boost/fusion/iterator/key_of.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ITERATOR_KEY_OF_HPP -#define BOOST_FUSION_ITERATOR_KEY_OF_HPP - -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_facade_tag; - - namespace extension - { - template - struct key_of_impl; - - template <> - struct key_of_impl - { - template - struct apply - : It::template key_of - {}; - }; - } - - namespace result_of - { - template - struct key_of - : extension::key_of_impl::type>:: - template apply - {}; - } -}} - -#endif diff --git a/external/boost/fusion/iterator/mpl.hpp b/external/boost/fusion/iterator/mpl.hpp deleted file mode 100644 index fdaf749c0..000000000 --- a/external/boost/fusion/iterator/mpl.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ITERATOR_MPL_10022005_0557) -#define FUSION_ITERATOR_MPL_10022005_0557 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/iterator/mpl/convert_iterator.hpp b/external/boost/fusion/iterator/mpl/convert_iterator.hpp deleted file mode 100644 index 3e17478eb..000000000 --- a/external/boost/fusion/iterator/mpl/convert_iterator.hpp +++ /dev/null @@ -1,62 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_ITERATOR_05062005_1218) -#define FUSION_CONVERT_ITERATOR_05062005_1218 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct mpl_iterator; // forward declaration - - // Test T. If it is a fusion iterator, return a reference to it. - // else, assume it is an mpl iterator. - - template - struct convert_iterator - { - typedef typename - mpl::if_< - is_fusion_iterator - , T - , mpl_iterator - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static T const& - call(T const& x, mpl::true_) - { - return x; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static mpl_iterator - call(T const& /*x*/, mpl::false_) - { - return mpl_iterator(); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename - mpl::if_< - is_fusion_iterator - , T const& - , mpl_iterator - >::type - call(T const& x) - { - return call(x, is_fusion_iterator()); - } - }; -}} - -#endif diff --git a/external/boost/fusion/iterator/mpl/fusion_iterator.hpp b/external/boost/fusion/iterator/mpl/fusion_iterator.hpp deleted file mode 100644 index f8feacf67..000000000 --- a/external/boost/fusion/iterator/mpl/fusion_iterator.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FUSION_ITERATOR_10012005_1551) -#define FUSION_FUSION_ITERATOR_10012005_1551 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - -template -struct to_mpl_category { - typedef typename mpl::eval_if< - is_base_of, - mpl::random_access_iterator_tag, - mpl::eval_if< - is_base_of, - mpl::bidirectional_iterator_tag, - mpl::forward_iterator_tag - > - >::type type; -}; - -}}} - -namespace boost { namespace mpl -{ - template - struct fusion_iterator - { - typedef typename fusion::result_of::value_of::type type; - typedef typename fusion::traits::category_of::type fusion_category; - typedef typename fusion::detail::to_mpl_category::type category; - typedef Iterator iterator; - }; - - template - struct next > - { - typedef fusion_iterator::type> type; - }; - - template - struct prior > - { - typedef fusion_iterator::type> type; - }; - - template - struct advance, N> - { - typedef fusion_iterator::type> type; - }; - - template - struct distance, fusion_iterator > - : fusion::result_of::distance - {}; - -}} - -#endif - - diff --git a/external/boost/fusion/iterator/next.hpp b/external/boost/fusion/iterator/next.hpp deleted file mode 100644 index d6ca3d663..000000000 --- a/external/boost/fusion/iterator/next.hpp +++ /dev/null @@ -1,65 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_05042005_1101) -#define FUSION_NEXT_05042005_1101 - -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct next_impl - { - template - struct apply {}; - }; - - template <> - struct next_impl - { - template - struct apply : Iterator::template next {}; - }; - - template <> - struct next_impl; - - template <> - struct next_impl; - - template <> - struct next_impl; - } - - namespace result_of - { - template - struct next - : extension::next_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::next::type const - next(Iterator const& i) - { - return result_of::next::call(i); - } -}} - -#endif diff --git a/external/boost/fusion/iterator/prior.hpp b/external/boost/fusion/iterator/prior.hpp deleted file mode 100644 index 80e891c79..000000000 --- a/external/boost/fusion/iterator/prior.hpp +++ /dev/null @@ -1,65 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PRIOR_05042005_1144) -#define FUSION_PRIOR_05042005_1144 - -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct prior_impl - { - template - struct apply {}; - }; - - template <> - struct prior_impl - { - template - struct apply : Iterator::template prior {}; - }; - - template <> - struct prior_impl; - - template <> - struct prior_impl; - - template <> - struct prior_impl; - } - - namespace result_of - { - template - struct prior - : extension::prior_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::prior::type const - prior(Iterator const& i) - { - return result_of::prior::call(i); - } -}} - -#endif diff --git a/external/boost/fusion/iterator/segmented_iterator.hpp b/external/boost/fusion/iterator/segmented_iterator.hpp deleted file mode 100644 index b9aac07c6..000000000 --- a/external/boost/fusion/iterator/segmented_iterator.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/iterator/value_of.hpp b/external/boost/fusion/iterator/value_of.hpp deleted file mode 100644 index 1408dc7a5..000000000 --- a/external/boost/fusion/iterator/value_of.hpp +++ /dev/null @@ -1,58 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_OF_05052005_1126) -#define FUSION_VALUE_OF_05052005_1126 - -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct iterator_facade_tag; // iterator facade tag - struct boost_array_iterator_tag; // boost::array iterator tag - struct mpl_iterator_tag; // mpl sequence iterator tag - struct std_pair_iterator_tag; // std::pair iterator tag - - namespace extension - { - template - struct value_of_impl - { - template - struct apply {}; - }; - - template <> - struct value_of_impl - { - template - struct apply : Iterator::template value_of {}; - }; - - template <> - struct value_of_impl; - - template <> - struct value_of_impl; - - template <> - struct value_of_impl; - } - - namespace result_of - { - template - struct value_of - : extension::value_of_impl::type>:: - template apply - {}; - } -}} - -#endif diff --git a/external/boost/fusion/iterator/value_of_data.hpp b/external/boost/fusion/iterator/value_of_data.hpp deleted file mode 100644 index 341fe882a..000000000 --- a/external/boost/fusion/iterator/value_of_data.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP -#define BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP - -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_facade_tag; - - namespace extension - { - template - struct value_of_data_impl; - - template <> - struct value_of_data_impl - { - template - struct apply - : It::template value_of_data - {}; - }; - } - - namespace result_of - { - template - struct value_of_data - : extension::value_of_data_impl::type>:: - template apply - {}; - } -}} - -#endif diff --git a/external/boost/fusion/mpl.hpp b/external/boost/fusion/mpl.hpp deleted file mode 100644 index 705f0db7e..000000000 --- a/external/boost/fusion/mpl.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MPL_09172006_2049) -#define FUSION_MPL_09172006_2049 - -// The fusion <--> MPL link headers -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/mpl/at.hpp b/external/boost/fusion/mpl/at.hpp deleted file mode 100644 index ec4b257d7..000000000 --- a/external/boost/fusion/mpl/at.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AT_10022005_1616) -#define FUSION_AT_10022005_1616 - -#include -#include -#include - -namespace boost { -namespace fusion -{ - struct fusion_sequence_tag; -} - -namespace mpl -{ - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply : fusion::result_of::value_at {}; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/back.hpp b/external/boost/fusion/mpl/back.hpp deleted file mode 100644 index 631b4ea65..000000000 --- a/external/boost/fusion/mpl/back.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BACK_10022005_1620) -#define FUSION_BACK_10022005_1620 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct back_impl; - - template <> - struct back_impl - { - template - struct apply : - fusion::result_of::value_of< - typename fusion::result_of::prior< - typename fusion::result_of::end::type - >::type> {}; - }; -}} - -#endif diff --git a/external/boost/fusion/mpl/begin.hpp b/external/boost/fusion/mpl/begin.hpp deleted file mode 100644 index f97e82ceb..000000000 --- a/external/boost/fusion/mpl/begin.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_10022005_1620) -#define FUSION_BEGIN_10022005_1620 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef fusion_iterator::type> type; - }; - }; -}} - -#endif diff --git a/external/boost/fusion/mpl/clear.hpp b/external/boost/fusion/mpl/clear.hpp deleted file mode 100644 index 745ca0f9c..000000000 --- a/external/boost/fusion/mpl/clear.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CLEAR_10022005_1817) -#define FUSION_CLEAR_10022005_1817 - -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct clear_impl; - - template <> - struct clear_impl - { - template - struct apply - { - typedef typename - fusion::detail::clear::type>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/detail/clear.hpp b/external/boost/fusion/mpl/detail/clear.hpp deleted file mode 100644 index 9e640daad..000000000 --- a/external/boost/fusion/mpl/detail/clear.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CLEAR_10022005_1442) -#define FUSION_CLEAR_10022005_1442 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct cons_tag; - struct map_tag; - struct set_tag; - struct vector_tag; - struct deque_tag; - - namespace detail - { - template - struct clear; - - template <> - struct clear : mpl::identity > {}; - - template <> - struct clear : mpl::identity > {}; - - template <> - struct clear : mpl::identity > {}; - - template <> - struct clear : mpl::identity > {}; - - template <> - struct clear : mpl::identity > {}; - } -}} - -#endif diff --git a/external/boost/fusion/mpl/empty.hpp b/external/boost/fusion/mpl/empty.hpp deleted file mode 100644 index b058ae950..000000000 --- a/external/boost/fusion/mpl/empty.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EMPTY_10022005_1619) -#define FUSION_EMPTY_10022005_1619 - -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct empty_impl; - - template <> - struct empty_impl - { - template - struct apply : fusion::result_of::empty {}; - }; -}} - -#endif diff --git a/external/boost/fusion/mpl/end.hpp b/external/boost/fusion/mpl/end.hpp deleted file mode 100644 index e5aa8b96c..000000000 --- a/external/boost/fusion/mpl/end.hpp +++ /dev/null @@ -1,32 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_10022005_1619) -#define FUSION_END_10022005_1619 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef fusion_iterator::type> type; - }; - }; -}} - -#endif diff --git a/external/boost/fusion/mpl/erase.hpp b/external/boost/fusion/mpl/erase.hpp deleted file mode 100644 index 82d4260fb..000000000 --- a/external/boost/fusion/mpl/erase.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ERASE_10022005_1835) -#define FUSION_ERASE_10022005_1835 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct erase_impl; - - template <> - struct erase_impl - { - template - struct apply - { - typedef typename - fusion::result_of::erase::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/erase_key.hpp b/external/boost/fusion/mpl/erase_key.hpp deleted file mode 100644 index 4dabf0425..000000000 --- a/external/boost/fusion/mpl/erase_key.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ERASE_KEY_10022005_1907) -#define FUSION_ERASE_KEY_10022005_1907 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct erase_key_impl; - - template <> - struct erase_key_impl - { - template - struct apply - { - typedef typename - fusion::result_of::erase_key::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/front.hpp b/external/boost/fusion/mpl/front.hpp deleted file mode 100644 index 45672a6dc..000000000 --- a/external/boost/fusion/mpl/front.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FRONT_10022005_1618) -#define FUSION_FRONT_10022005_1618 - -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct front_impl; - - template <> - struct front_impl - { - template - struct apply : - fusion::result_of::value_of::type> {}; - }; -}} - -#endif diff --git a/external/boost/fusion/mpl/has_key.hpp b/external/boost/fusion/mpl/has_key.hpp deleted file mode 100644 index f1e3359f5..000000000 --- a/external/boost/fusion/mpl/has_key.hpp +++ /dev/null @@ -1,28 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_HAS_KEY_10022005_1617) -#define FUSION_HAS_KEY_10022005_1617 - -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct has_key_impl; - - template <> - struct has_key_impl - { - template - struct apply : fusion::result_of::has_key {}; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/insert.hpp b/external/boost/fusion/mpl/insert.hpp deleted file mode 100644 index 45b5d87d7..000000000 --- a/external/boost/fusion/mpl/insert.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INSERT_10022005_1837) -#define FUSION_INSERT_10022005_1837 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct insert_impl; - - template <> - struct insert_impl - { - template - struct apply - { - typedef typename - fusion::result_of::insert::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/insert_range.hpp b/external/boost/fusion/mpl/insert_range.hpp deleted file mode 100644 index 31389ffc4..000000000 --- a/external/boost/fusion/mpl/insert_range.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_INSERT_RANGE_10022005_1838) -#define FUSION_INSERT_RANGE_10022005_1838 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct insert_range_impl; - - template <> - struct insert_range_impl - { - template - struct apply - { - typedef typename - fusion::result_of::insert_range::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/pop_back.hpp b/external/boost/fusion/mpl/pop_back.hpp deleted file mode 100644 index d91ca8aac..000000000 --- a/external/boost/fusion/mpl/pop_back.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_POP_BACK_10022005_1801) -#define FUSION_POP_BACK_10022005_1801 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct pop_back_impl; - - template <> - struct pop_back_impl - { - template - struct apply - { - typedef typename - fusion::result_of::pop_back::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/pop_front.hpp b/external/boost/fusion/mpl/pop_front.hpp deleted file mode 100644 index 5f6533bc3..000000000 --- a/external/boost/fusion/mpl/pop_front.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_POP_FRONT_10022005_1800) -#define FUSION_POP_FRONT_10022005_1800 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct pop_front_impl; - - template <> - struct pop_front_impl - { - template - struct apply - { - typedef typename - fusion::result_of::pop_front::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/push_back.hpp b/external/boost/fusion/mpl/push_back.hpp deleted file mode 100644 index 8af5456ba..000000000 --- a/external/boost/fusion/mpl/push_back.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PUSH_BACK_10022005_1647) -#define FUSION_PUSH_BACK_10022005_1647 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct push_back_impl; - - template <> - struct push_back_impl - { - template - struct apply - { - typedef typename - fusion::result_of::push_back::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/push_front.hpp b/external/boost/fusion/mpl/push_front.hpp deleted file mode 100644 index 5978fd6e2..000000000 --- a/external/boost/fusion/mpl/push_front.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PUSH_FRONT_10022005_1720) -#define FUSION_PUSH_FRONT_10022005_1720 - -#include -#include -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct push_front_impl; - - template <> - struct push_front_impl - { - template - struct apply - { - typedef typename - fusion::result_of::push_front::type - result; - - typedef typename - fusion::result_of::convert< - typename fusion::detail::tag_of::type, result>::type - type; - }; - }; -}} - -#endif - diff --git a/external/boost/fusion/mpl/size.hpp b/external/boost/fusion/mpl/size.hpp deleted file mode 100644 index c77e55fbd..000000000 --- a/external/boost/fusion/mpl/size.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SIZE_10022005_1617) -#define FUSION_SIZE_10022005_1617 - -#include -#include -#include - -namespace boost { namespace mpl -{ - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply : fusion::result_of::size {}; - }; -}} - -#endif diff --git a/external/boost/fusion/sequence.hpp b/external/boost/fusion/sequence.hpp deleted file mode 100644 index 4d5d8a2b1..000000000 --- a/external/boost/fusion/sequence.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_10022005_0559) -#define FUSION_SEQUENCE_10022005_0559 - -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/sequence/comparison.hpp b/external/boost/fusion/sequence/comparison.hpp deleted file mode 100644 index d319f9e07..000000000 --- a/external/boost/fusion/sequence/comparison.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_COMPARISON_10022005_0615) -#define FUSION_SEQUENCE_COMPARISON_10022005_0615 - -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/sequence/comparison/detail/equal_to.hpp b/external/boost/fusion/sequence/comparison/detail/equal_to.hpp deleted file mode 100644 index cffed6c39..000000000 --- a/external/boost/fusion/sequence/comparison/detail/equal_to.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_05052005_1142) -#define FUSION_EQUAL_TO_05052005_1142 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_equal_to - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return true; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) == extension::as_const(*b) - && call(fusion::next(a), fusion::next(b)); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; - - template - struct sequence_equal_to - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& /*a*/, I2 const& /*b*/) - { - return false; - } - }; -}}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/detail/greater.hpp b/external/boost/fusion/sequence/comparison/detail/greater.hpp deleted file mode 100644 index d76265293..000000000 --- a/external/boost/fusion/sequence/comparison/detail/greater.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_GREATER_05052005_1142) -#define FUSION_GREATER_05052005_1142 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_greater - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return false; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) > extension::as_const(*b) || - (!(extension::as_const(*b) > extension::as_const(*a)) && - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/detail/greater_equal.hpp b/external/boost/fusion/sequence/comparison/detail/greater_equal.hpp deleted file mode 100644 index d15d88c40..000000000 --- a/external/boost/fusion/sequence/comparison/detail/greater_equal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_GREATER_EQUAL_05052005_1142) -#define FUSION_GREATER_EQUAL_05052005_1142 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_greater_equal - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return true; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) >= extension::as_const(*b) - && (!(extension::as_const(*b) >= extension::as_const(*a)) || - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/detail/less.hpp b/external/boost/fusion/sequence/comparison/detail/less.hpp deleted file mode 100644 index 04377d696..000000000 --- a/external/boost/fusion/sequence/comparison/detail/less.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LESS_05052005_1141) -#define FUSION_LESS_05052005_1141 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_less - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return false; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) < extension::as_const(*b) || - (!(extension::as_const(*b) < extension::as_const(*a)) && - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/detail/less_equal.hpp b/external/boost/fusion/sequence/comparison/detail/less_equal.hpp deleted file mode 100644 index e61d33c4f..000000000 --- a/external/boost/fusion/sequence/comparison/detail/less_equal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LESS_EQUAL_05052005_1141) -#define FUSION_LESS_EQUAL_05052005_1141 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_less_equal - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return true; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) <= extension::as_const(*b) - && (!(extension::as_const(*b) <= extension::as_const(*a)) || - call(fusion::next(a), fusion::next(b))); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; -}}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp b/external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp deleted file mode 100644 index 323b2ac9d..000000000 --- a/external/boost/fusion/sequence/comparison/detail/not_equal_to.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NOT_EQUAL_TO_05052005_1141) -#define FUSION_NOT_EQUAL_TO_05052005_1141 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct sequence_not_equal_to - { - typedef typename result_of::end::type end1_type; - typedef typename result_of::end::type end2_type; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const&, I2 const&, mpl::true_) - { - return false; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b, mpl::false_) - { - return extension::as_const(*a) != extension::as_const(*b) - || call(fusion::next(a), fusion::next(b)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - typename result_of::equal_to::type eq; - return call(a, b, eq); - } - }; - - template - struct sequence_not_equal_to - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static bool - call(I1 const& a, I2 const& b) - { - return true; - } - }; -}}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/enable_comparison.hpp b/external/boost/fusion/sequence/comparison/enable_comparison.hpp deleted file mode 100644 index 127941771..000000000 --- a/external/boost/fusion/sequence/comparison/enable_comparison.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ENABLE_COMPARISON_09232005_1958) -#define FUSION_ENABLE_COMPARISON_09232005_1958 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace traits -{ - template - struct enable_equality - : mpl::or_, traits::is_sequence > - {}; - - template - struct enable_comparison - : mpl::and_< - mpl::or_, traits::is_sequence > - , mpl::equal_to, result_of::size > - > - {}; -}}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/equal_to.hpp b/external/boost/fusion/sequence/comparison/equal_to.hpp deleted file mode 100644 index 283ffefc8..000000000 --- a/external/boost/fusion/sequence/comparison/equal_to.hpp +++ /dev/null @@ -1,59 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_05052005_0431) -#define FUSION_EQUAL_TO_05052005_0431 - -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4100) // unreferenced formal parameter -#endif - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - equal_to(Seq1 const& a, Seq2 const& b) - { - return result_of::size::value == result_of::size::value - && detail::sequence_equal_to< - Seq1 const, Seq2 const - , result_of::size::value == result_of::size::value>:: - call(fusion::begin(a), fusion::begin(b)); - } - - namespace operators - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_equality - , bool - >::type - operator==(Seq1 const& a, Seq2 const& b) - { - return fusion::equal_to(a, b); - } - } - using operators::operator==; -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/fusion/sequence/comparison/greater.hpp b/external/boost/fusion/sequence/comparison/greater.hpp deleted file mode 100644 index fbbb7bfae..000000000 --- a/external/boost/fusion/sequence/comparison/greater.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_GREATER_05052005_0432) -#define FUSION_GREATER_05052005_0432 - -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - greater(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return detail::sequence_greater:: - call(fusion::begin(a), fusion::begin(b)); -#else - return (b < a); -#endif - } - - namespace operators - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator>(Seq1 const& a, Seq2 const& b) - { - return fusion::greater(a, b); - } - } - using operators::operator>; -}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/greater_equal.hpp b/external/boost/fusion/sequence/comparison/greater_equal.hpp deleted file mode 100644 index 7b91a8886..000000000 --- a/external/boost/fusion/sequence/comparison/greater_equal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_GREATER_EQUAL_05052005_0432) -#define FUSION_GREATER_EQUAL_05052005_0432 - -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - greater_equal(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return detail::sequence_greater_equal:: - call(fusion::begin(a), fusion::begin(b)); -#else - return !(a < b); -#endif - } - - namespace operators - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator>=(Seq1 const& a, Seq2 const& b) - { - return fusion::greater_equal(a, b); - } - } - using operators::operator>=; -}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/less.hpp b/external/boost/fusion/sequence/comparison/less.hpp deleted file mode 100644 index b056552a9..000000000 --- a/external/boost/fusion/sequence/comparison/less.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LESS_05052005_0432) -#define FUSION_LESS_05052005_0432 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - less(Seq1 const& a, Seq2 const& b) - { - return detail::sequence_less:: - call(fusion::begin(a), fusion::begin(b)); - } - - namespace operators - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator<(Seq1 const& a, Seq2 const& b) - { - return fusion::less(a, b); - } - } - using operators::operator<; -}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/less_equal.hpp b/external/boost/fusion/sequence/comparison/less_equal.hpp deleted file mode 100644 index c5dfa8d5c..000000000 --- a/external/boost/fusion/sequence/comparison/less_equal.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_LESS_EQUAL_05052005_0432) -#define FUSION_LESS_EQUAL_05052005_0432 - -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - less_equal(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return detail::sequence_less_equal:: - call(fusion::begin(a), fusion::begin(b)); -#else - return !(b < a); -#endif - } - - namespace operators - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_comparison - , bool - >::type - operator<=(Seq1 const& a, Seq2 const& b) - { - return fusion::less_equal(a, b); - } - } - using operators::operator<=; -}} - -#endif diff --git a/external/boost/fusion/sequence/comparison/not_equal_to.hpp b/external/boost/fusion/sequence/comparison/not_equal_to.hpp deleted file mode 100644 index fc2fef334..000000000 --- a/external/boost/fusion/sequence/comparison/not_equal_to.hpp +++ /dev/null @@ -1,58 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NOT_EQUAL_TO_05052005_0431) -#define FUSION_NOT_EQUAL_TO_05052005_0431 - -#include -#include -#include -#include -#include - -#if defined(FUSION_DIRECT_OPERATOR_USAGE) -#include -#else -#include -#endif - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - not_equal_to(Seq1 const& a, Seq2 const& b) - { -#if defined(FUSION_DIRECT_OPERATOR_USAGE) - return result_of::size::value != result_of::size::value - || detail::sequence_not_equal_to< - Seq1 const, Seq2 const - , result_of::size::value == result_of::size::value>:: - call(fusion::begin(a), fusion::begin(b)); -#else - return !(a == b); -#endif - } - - namespace operators - { - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - boost::enable_if< - traits::enable_equality - , bool - >::type - operator!=(Seq1 const& a, Seq2 const& b) - { - return fusion::not_equal_to(a, b); - } - } - using operators::operator!=; -}} - -#endif diff --git a/external/boost/fusion/sequence/convert.hpp b/external/boost/fusion/sequence/convert.hpp deleted file mode 100644 index 534d991a2..000000000 --- a/external/boost/fusion/sequence/convert.hpp +++ /dev/null @@ -1,61 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CONVERT_10022005_1442) -#define FUSION_CONVERT_10022005_1442 - -#include -#if BOOST_WORKAROUND(BOOST_GCC, < 30500) -#include -#include -#define BOOST_FUSION_WA_GCC34(type1, type2) \ - boost::lazy_disable_if, type1, type2> -#else -#define BOOST_FUSION_WA_GCC34(type1, type2) type1, type2 -#endif - -namespace boost { namespace fusion -{ - namespace extension - { - template - struct convert_impl; - } - - namespace result_of - { - template - struct convert - { - typedef typename - extension::convert_impl::template apply - gen; - - typedef typename gen::type type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename BOOST_FUSION_WA_GCC34(result_of::convert)::type - convert(Sequence& seq) - { - typedef typename result_of::convert::gen gen; - return gen::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::convert::type - convert(Sequence const& seq) - { - typedef typename result_of::convert::gen gen; - return gen::call(seq); - } -}} - -#undef BOOST_FUSION_WA_GCC34 -#endif diff --git a/external/boost/fusion/sequence/hash.hpp b/external/boost/fusion/sequence/hash.hpp deleted file mode 100644 index bc5b1499d..000000000 --- a/external/boost/fusion/sequence/hash.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Christoph Weiss - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_HASH_23072014_1017) -#define FUSION_HASH_23072014_1017 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace hashing - { - struct hash_combine_fold - { - typedef std::size_t result_type; - template - inline std::size_t operator()(std::size_t seed, T const& v) - { - boost::hash_combine(seed, v); - return seed; - } - }; - - template - inline typename - boost::enable_if, std::size_t>::type - hash_value(Seq const& seq) - { - return fold(seq, 0, hash_combine_fold()); - } - } - - using hashing::hash_value; -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic.hpp b/external/boost/fusion/sequence/intrinsic.hpp deleted file mode 100644 index d3e5af0b0..000000000 --- a/external/boost/fusion/sequence/intrinsic.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_INTRINSIC_10022005_0618) -#define FUSION_SEQUENCE_INTRINSIC_10022005_0618 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/at.hpp b/external/boost/fusion/sequence/intrinsic/at.hpp deleted file mode 100644 index a103e078a..000000000 --- a/external/boost/fusion/sequence/intrinsic/at.hpp +++ /dev/null @@ -1,134 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AT_05042005_0722) -#define FUSION_AT_05042005_0722 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - struct std_tuple_tag; // std::tuple tag - - namespace extension - { - template - struct at_impl - { - template - struct apply; - }; - - template <> - struct at_impl - { - template - struct apply : Sequence::template at {}; - }; - - template <> - struct at_impl; - - template <> - struct at_impl; - - template <> - struct at_impl; - - template <> - struct at_impl; - - template <> - struct at_impl; - } - - namespace detail - { - template - struct at_impl - : mpl::if_< - mpl::or_< - mpl::less::template apply::type> - , traits::is_unbounded - > - , typename extension::at_impl::template apply - , mpl::empty_base - >::type - {}; - } - - namespace result_of - { - template - struct at - : detail::at_impl::type> - {}; - - template - struct at_c - : at > - {}; - } - - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at - >::type - at(Sequence& seq) - { - return result_of::at::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::at::type - at(Sequence const& seq) - { - return result_of::at::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - at_c(Sequence& seq) - { - return fusion::at >(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - at_c(Sequence const& seq) - { - return fusion::at >(seq); - } -}} - -#endif - diff --git a/external/boost/fusion/sequence/intrinsic/at_c.hpp b/external/boost/fusion/sequence/intrinsic/at_c.hpp deleted file mode 100644 index 327798c0c..000000000 --- a/external/boost/fusion/sequence/intrinsic/at_c.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AT_C_08252008_0308) -#define FUSION_AT_C_08252008_0308 - -#include -#include - -#endif - diff --git a/external/boost/fusion/sequence/intrinsic/at_key.hpp b/external/boost/fusion/sequence/intrinsic/at_key.hpp deleted file mode 100644 index 9454cb56f..000000000 --- a/external/boost/fusion/sequence/intrinsic/at_key.hpp +++ /dev/null @@ -1,116 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_AT_KEY_20060304_1755) -#define BOOST_FUSION_AT_KEY_20060304_1755 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct at_key_impl - { - template - struct apply - { - typedef typename - result_of::deref_data< - typename result_of::find::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return fusion::deref_data(fusion::find(seq)); - } - }; - }; - - template <> - struct at_key_impl - { - template - struct apply : Sequence::template at_key_impl {}; - }; - - template <> - struct at_key_impl; - - template <> - struct at_key_impl; - - template <> - struct at_key_impl; - } - - namespace detail - { - template - struct at_key_impl - : mpl::if_< - mpl::or_< - typename extension::has_key_impl::template apply - , traits::is_unbounded - > - , typename extension::at_key_impl::template apply - , mpl::empty_base - >::type - {}; - } - - namespace result_of - { - template - struct at_key - : detail::at_key_impl::type> - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_key - >::type - at_key(Sequence& seq) - { - return result_of::at_key::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_key::type - at_key(Sequence const& seq) - { - return result_of::at_key::call(seq); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/back.hpp b/external/boost/fusion/sequence/intrinsic/back.hpp deleted file mode 100644 index 3f998a7d9..000000000 --- a/external/boost/fusion/sequence/intrinsic/back.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BACK_09162005_0350) -#define FUSION_BACK_09162005_0350 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - - namespace result_of - { - template - struct back - : result_of::deref::type>::type> - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::back::type - back(Sequence& seq) - { - return *fusion::prior(fusion::end(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::back::type - back(Sequence const& seq) - { - return *fusion::prior(fusion::end(seq)); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/begin.hpp b/external/boost/fusion/sequence/intrinsic/begin.hpp deleted file mode 100644 index 79c14d74a..000000000 --- a/external/boost/fusion/sequence/intrinsic/begin.hpp +++ /dev/null @@ -1,98 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_04052005_1132) -#define FUSION_BEGIN_04052005_1132 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; // iterator facade tag - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct begin_impl - { - template - struct apply - : mpl::if_< - traits::is_segmented - , detail::segmented_begin - , mpl::empty_base - >::type - {}; - }; - - template <> - struct begin_impl - { - template - struct apply : Sequence::template begin {}; - }; - - template <> - struct begin_impl; - - template <> - struct begin_impl; - - template <> - struct begin_impl; - - template <> - struct begin_impl; - } - - namespace result_of - { - template - struct begin - : extension::begin_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::begin - >::type const - begin(Sequence& seq) - { - return result_of::begin::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::begin - >::type const - begin(Sequence const& seq) - { - return result_of::begin::call(seq); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp deleted file mode 100644 index ec20ac414..000000000 --- a/external/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - //auto segmented_begin( seq ) - //{ - // return make_segmented_iterator( segmented_begin_impl( seq, nil_ ) ); - //} - - template - struct segmented_begin - { - typedef - segmented_iterator< - typename segmented_begin_impl::type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq) - { - return type( - segmented_begin_impl::call(seq, Nil_())); - } - }; - -}}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp deleted file mode 100644 index 12d9e24c4..000000000 --- a/external/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp +++ /dev/null @@ -1,96 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct iterator_range; -}} - -namespace boost { namespace fusion { namespace detail -{ - struct segmented_begin_fun - { - template - struct apply - { - typedef - iterator_range< - typename fusion::result_of::begin::type - , typename fusion::result_of::end::type - > - range_type; - - typedef cons type; - typedef mpl::false_ continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State const&, Context const& context, segmented_begin_fun) - { - return type(range_type(fusion::begin(seq), fusion::end(seq)), context); - } - }; - }; - - template ::type::value> - struct segmented_begin_impl_aux - { - typedef - segmented_end_impl - end_impl; - - typedef - segmented_fold_until_impl< - Sequence - , typename end_impl::type - , Stack - , segmented_begin_fun - > - fold_impl; - - typedef typename fold_impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, Stack const& stack) - { - return fold_impl::call(seq, end_impl::call(seq, stack), stack, segmented_begin_fun()); - } - }; - - template - struct segmented_begin_impl_aux - { - typedef typename result_of::begin::type begin_type; - typedef typename result_of::end::type end_type; - typedef iterator_range pair_type; - typedef cons type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, Stack stack) - { - return type(pair_type(fusion::begin(seq), fusion::end(seq)), stack); - } - }; - - template - struct segmented_begin_impl - : segmented_begin_impl_aux - {}; - -}}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp deleted file mode 100644 index 55419ed80..000000000 --- a/external/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - //auto segmented_end( seq ) - //{ - // return make_segmented_iterator( segmented_end_impl( seq ) ); - //} - - template - struct segmented_end - { - typedef - segmented_iterator< - typename segmented_end_impl::type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence & seq) - { - return type( - segmented_end_impl::call(seq, Nil_())); - } - }; - -}}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp deleted file mode 100644 index da48649a2..000000000 --- a/external/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct iterator_range; -}} - -namespace boost { namespace fusion { namespace detail -{ - //auto segmented_end_impl( seq, stack ) - //{ - // assert(is_segmented(seq)); - // auto it = end(segments(seq)); - // return cons(iterator_range(it, it), stack); - //} - - template - struct segmented_end_impl - { - BOOST_MPL_ASSERT((traits::is_segmented)); - - typedef - typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::segments::type - >::type - >::type - >::type - end_type; - - typedef iterator_range pair_type; - typedef cons type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static pair_type make_pair(end_type end) - { - return pair_type(end, end); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence & seq, Stack stack) - { - return type( - make_pair(fusion::end(fusion::segments(seq))), - stack); - } - }; - -}}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp b/external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp deleted file mode 100644 index 4defcedde..000000000 --- a/external/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_SIZE_08112006_1141) -#define BOOST_FUSION_SEGMENTED_SIZE_08112006_1141 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - /////////////////////////////////////////////////////////////////////////// - // calculates the size of any segmented data structure. - template - struct segmented_size; - - /////////////////////////////////////////////////////////////////////////// - template::value> - struct segmented_size_impl - : mpl::fold< - typename remove_reference< - typename add_const< - typename result_of::segments::type - >::type - >::type - , mpl::size_t<0> - , mpl::plus > > - >::type - {}; - - template - struct segmented_size_impl - : result_of::size::type - {}; - - template - struct segmented_size - : segmented_size_impl - {}; - -}}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/empty.hpp b/external/boost/fusion/sequence/intrinsic/empty.hpp deleted file mode 100644 index 6a0dbe74a..000000000 --- a/external/boost/fusion/sequence/intrinsic/empty.hpp +++ /dev/null @@ -1,63 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EMPTY_09162005_0335) -#define FUSION_EMPTY_09162005_0335 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct mpl_sequence_tag; // mpl sequence tag - - namespace extension - { - template - struct empty_impl - { - template - struct apply - : mpl::bool_<(result_of::size::value == 0)> - {}; - }; - - template <> - struct empty_impl - { - template - struct apply : Sequence::template empty {}; - }; - - template <> - struct empty_impl; - } - - namespace result_of - { - template - struct empty - : extension::empty_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::empty::type - empty(Sequence const&) - { - typedef typename result_of::empty::type result; - return result(); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/end.hpp b/external/boost/fusion/sequence/intrinsic/end.hpp deleted file mode 100644 index b342468f0..000000000 --- a/external/boost/fusion/sequence/intrinsic/end.hpp +++ /dev/null @@ -1,98 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_04052005_1141) -#define FUSION_END_04052005_1141 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct end_impl - { - template - struct apply - : mpl::if_< - traits::is_segmented - , detail::segmented_end - , mpl::empty_base - >::type - {}; - }; - - template <> - struct end_impl - { - template - struct apply : Sequence::template end {}; - }; - - template <> - struct end_impl; - - template <> - struct end_impl; - - template <> - struct end_impl; - - template <> - struct end_impl; - } - - namespace result_of - { - template - struct end - : extension::end_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::end - >::type const - end(Sequence& seq) - { - return result_of::end::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::end - >::type const - end(Sequence const& seq) - { - return result_of::end::call(seq); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/front.hpp b/external/boost/fusion/sequence/intrinsic/front.hpp deleted file mode 100644 index 8971298ac..000000000 --- a/external/boost/fusion/sequence/intrinsic/front.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FRONT_09162005_0343) -#define FUSION_FRONT_09162005_0343 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct fusion_sequence_tag; - - namespace result_of - { - template - struct front - : result_of::deref::type> - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::front::type - front(Sequence& seq) - { - return *fusion::begin(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::front::type - front(Sequence const& seq) - { - return *fusion::begin(seq); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/has_key.hpp b/external/boost/fusion/sequence/intrinsic/has_key.hpp deleted file mode 100644 index d69a82fbf..000000000 --- a/external/boost/fusion/sequence/intrinsic/has_key.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_HAS_KEY_09232005_1454) -#define FUSION_HAS_KEY_09232005_1454 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - - // Special tags: - struct sequence_facade_tag; - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct has_key_impl - { - template - struct apply - : mpl::not_< - typename result_of::equal_to< - typename result_of::find::type - , typename result_of::end::type - >::type - >::type - {}; - }; - - template <> - struct has_key_impl - { - template - struct apply : Sequence::template has_key {}; - }; - - template <> - struct has_key_impl; - - template <> - struct has_key_impl; - - template <> - struct has_key_impl; - } - - namespace result_of - { - template - struct has_key - : extension::has_key_impl::type>:: - template apply - {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::has_key::type - has_key(Sequence const&) - { - typedef typename result_of::has_key::type result; - return result(); - } -}} - -#endif - diff --git a/external/boost/fusion/sequence/intrinsic/segments.hpp b/external/boost/fusion/sequence/intrinsic/segments.hpp deleted file mode 100644 index 41501a964..000000000 --- a/external/boost/fusion/sequence/intrinsic/segments.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/*============================================================================= - Copyright (c) 2006 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTS_04052005_1141) -#define BOOST_FUSION_SEGMENTS_04052005_1141 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct iterator_range_tag; - - // segments: returns a sequence of sequences - namespace extension - { - template - struct segments_impl - { - template - struct apply {}; - }; - - template <> - struct segments_impl - { - template - struct apply : Sequence::template segments {}; - }; - - template <> - struct segments_impl; - } - - namespace result_of - { - template - struct segments - { - typedef typename traits::tag_of::type tag_type; - - typedef typename - extension::segments_impl::template apply::type - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::segments - >::type - segments(Sequence& seq) - { - typedef typename traits::tag_of::type tag_type; - return extension::segments_impl::template apply::call(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::segments::type - segments(Sequence const& seq) - { - typedef typename traits::tag_of::type tag_type; - return extension::segments_impl::template apply::call(seq); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/size.hpp b/external/boost/fusion/sequence/intrinsic/size.hpp deleted file mode 100644 index 97aa3ef9e..000000000 --- a/external/boost/fusion/sequence/intrinsic/size.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SIZE_05052005_0214) -#define FUSION_SIZE_05052005_0214 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct size_impl - { - template - struct unsegmented_size : Sequence::size {}; - - template - struct apply - : mpl::if_< - traits::is_segmented - , detail::segmented_size - , unsegmented_size - >::type - {}; - }; - - template <> - struct size_impl - { - template - struct apply : Sequence::template size {}; - }; - - template <> - struct size_impl; - - template <> - struct size_impl; - - template <> - struct size_impl; - - template <> - struct size_impl; - } - - namespace result_of - { - template - struct size - : mpl::int_< - extension::size_impl::type> - ::template apply::type::value - > {}; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::size::type - size(Sequence const&) - { - typedef typename result_of::size::type result; - return result(); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/swap.hpp b/external/boost/fusion/sequence/intrinsic/swap.hpp deleted file mode 100644 index 8c49dc489..000000000 --- a/external/boost/fusion/sequence/intrinsic/swap.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SWAP_20070501_1956) -#define BOOST_FUSION_SWAP_20070501_1956 - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - namespace result_of - { - template - struct swap - : enable_if, - traits::is_sequence - > > {}; - } - - namespace detail - { - struct swap - { - template - struct result - { - typedef void type; - }; - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - void operator()(Elem const& e) const - { - using std::swap; - swap(front(e), back(e)); - } - }; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::swap::type - swap(Seq1& lhs, Seq2& rhs) - { - typedef vector references; - for_each(zip_view(references(lhs, rhs)), detail::swap()); - } -}} - -#endif diff --git a/external/boost/fusion/sequence/intrinsic/value_at.hpp b/external/boost/fusion/sequence/intrinsic/value_at.hpp deleted file mode 100644 index 152f0c945..000000000 --- a/external/boost/fusion/sequence/intrinsic/value_at.hpp +++ /dev/null @@ -1,88 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_AT_05052005_0229) -#define FUSION_VALUE_AT_05052005_0229 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct value_at_impl - { - template - struct apply; - }; - - template <> - struct value_at_impl - { - template - struct apply : Sequence::template value_at {}; - }; - - template <> - struct value_at_impl; - - template <> - struct value_at_impl; - - template <> - struct value_at_impl; - - template <> - struct value_at_impl; - } - - namespace detail - { - template - struct value_at_impl - : mpl::if_< - mpl::or_< - mpl::less::template apply::type> - , traits::is_unbounded - > - , typename extension::value_at_impl::template apply - , mpl::empty_base - >::type - {}; - } - - namespace result_of - { - template - struct value_at - : detail::value_at_impl::type> - {}; - - template - struct value_at_c - : fusion::result_of::value_at > - {}; - } -}} - -#endif - diff --git a/external/boost/fusion/sequence/intrinsic/value_at_key.hpp b/external/boost/fusion/sequence/intrinsic/value_at_key.hpp deleted file mode 100644 index 76baf1b8a..000000000 --- a/external/boost/fusion/sequence/intrinsic/value_at_key.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_AT_KEY_05052005_0229) -#define FUSION_VALUE_AT_KEY_05052005_0229 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct value_at_key_impl - { - template - struct apply - : result_of::value_of_data< - typename result_of::find::type - > - {}; - }; - - template <> - struct value_at_key_impl - { - template - struct apply : Sequence::template value_at_key {}; - }; - - template <> - struct value_at_key_impl; - - template <> - struct value_at_key_impl; - - template <> - struct value_at_key_impl; - } - - namespace detail - { - template - struct value_at_key_impl - : mpl::if_< - mpl::or_< - typename extension::has_key_impl::template apply - , traits::is_unbounded - > - , typename extension::value_at_key_impl::template apply - , mpl::empty_base - >::type - {}; - } - - namespace result_of - { - template - struct value_at_key - : detail::value_at_key_impl::type> - {}; - } -}} - -#endif - diff --git a/external/boost/fusion/sequence/intrinsic_fwd.hpp b/external/boost/fusion/sequence/intrinsic_fwd.hpp deleted file mode 100644 index a6354ea3b..000000000 --- a/external/boost/fusion/sequence/intrinsic_fwd.hpp +++ /dev/null @@ -1,223 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED) -#define BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace extension - { - template - struct at_impl; - - template - struct begin_impl; - - template - struct empty_impl; - - template - struct end_impl; - - template - struct has_key_impl; - - template - struct segments_impl; - - template - struct size_impl; - - template - struct value_at_impl; - - template - struct at_key_impl; - - template - struct value_at_key_impl; - } - - namespace result_of - { - template - struct at; - - template - struct at_c; - - template - struct back; - - template - struct begin; - - template - struct empty; - - template - struct end; - - template - struct front; - - template - struct has_key; - - template - struct segments; - - template - struct size; - - template - struct value_at; - - template - struct value_at_c; - - template - struct at_key; - - template - struct value_at_key; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_disable_if< - is_const - , result_of::at - >::type - at(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::at::type - at(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - at_c(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::at_c::type - at_c(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::back::type - back(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::back::type - back(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_enable_if< - traits::is_sequence - , result_of::begin - >::type const - begin(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_enable_if< - traits::is_sequence - , result_of::begin - >::type const - begin(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::empty::type - empty(Sequence const&); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_enable_if< - traits::is_sequence - , result_of::end - >::type const - end(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_enable_if< - traits::is_sequence - , result_of::end - >::type const - end(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::front::type - front(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::front::type - front(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::has_key::type - has_key(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_disable_if< - is_const - , result_of::segments - >::type - segments(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::segments::type - segments(Sequence const& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::size::type - size(Sequence const&); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename - lazy_disable_if< - is_const - , result_of::at_key - >::type - at_key(Sequence& seq); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result_of::at_key::type - at_key(Sequence const& seq); -}} - -#endif diff --git a/external/boost/fusion/sequence/io.hpp b/external/boost/fusion/sequence/io.hpp deleted file mode 100644 index b0baf426c..000000000 --- a/external/boost/fusion/sequence/io.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_IO_10032005_0836) -#define FUSION_SEQUENCE_IO_10032005_0836 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/sequence/io/detail/in.hpp b/external/boost/fusion/sequence/io/detail/in.hpp deleted file mode 100644 index d0a8dc496..000000000 --- a/external/boost/fusion/sequence/io/detail/in.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 1999-2003 Jeremiah Willcock - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_IN_05052005_0121) -#define FUSION_IN_05052005_0121 - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct delimiter_in - { - // read a delimiter - template - static void - read(IS& is, char const* delim, mpl::false_ = mpl::false_()) - { - detail::string_ios_manip manip(is); - manip.read(delim); - } - - template - static void - read(IS&, char const*, mpl::true_) - { - } - }; - - struct read_sequence_loop - { - template - static void - call(IS&, First const&, Last const&, mpl::true_) - { - } - - template - static void - call(IS& is, First const& first, Last const& last, mpl::false_) - { - result_of::equal_to< - typename result_of::next::type - , Last - > - is_last; - - is >> *first; - delimiter_in::read(is, " ", is_last); - call(is, fusion::next(first), last, is_last); - } - - template - static void - call(IS& is, First const& first, Last const& last) - { - result_of::equal_to eq; - call(is, first, last, eq); - } - }; - - template - inline void - read_sequence(IS& is, Sequence& seq) - { - delimiter_in::read(is, "("); - read_sequence_loop::call(is, fusion::begin(seq), fusion::end(seq)); - delimiter_in::read(is, ")"); - } -}}} - -#endif diff --git a/external/boost/fusion/sequence/io/detail/manip.hpp b/external/boost/fusion/sequence/io/detail/manip.hpp deleted file mode 100644 index 01dd476cb..000000000 --- a/external/boost/fusion/sequence/io/detail/manip.hpp +++ /dev/null @@ -1,269 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jeremiah Willcock - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MANIP_05052005_1200) -#define FUSION_MANIP_05052005_1200 - -#include -#include -#include -#include -#include - -// Tuple I/O manipulators - -#define FUSION_GET_CHAR_TYPE(T) typename T::char_type -#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type - -#define FUSION_STRING_OF_STREAM(Stream) \ - std::basic_string< \ - FUSION_GET_CHAR_TYPE(Stream) \ - , FUSION_GET_TRAITS_TYPE(Stream) \ - > - -//$$$ these should be part of the public API$$$ -//$$$ rename tuple_open, tuple_close and tuple_delimiter to -// open, close and delimeter and add these synonyms to the -// TR1 tuple module. - -namespace boost { namespace fusion -{ - namespace detail - { - template - int get_xalloc_index(Tag* = 0) - { - // each Tag will have a unique index - static int index = std::ios::xalloc(); - return index; - } - - template - struct stream_data - { - struct arena - { - ~arena() - { - for ( - typename std::vector::iterator i = data.begin() - ; i != data.end() - ; ++i) - { - delete *i; - } - } - - std::vector data; - }; - - static void attach(Stream& stream, T const& data) - { - static arena ar; // our arena - ar.data.push_back(new T(data)); - stream.pword(get_xalloc_index()) = ar.data.back(); - } - - static T const* get(Stream& stream) - { - return (T const*)stream.pword(get_xalloc_index()); - } - }; - - template - class string_ios_manip - { - public: - - typedef FUSION_STRING_OF_STREAM(Stream) string_type; - - typedef stream_data stream_data_t; - - string_ios_manip(Stream& str_) - : stream(str_) - {} - - void - set(string_type const& s) - { - stream_data_t::attach(stream, s); - } - - void - print(char const* default_) const - { - // print a delimiter - string_type const* p = stream_data_t::get(stream); - if (p) - stream << *p; - else - stream << default_; - } - - void - read(char const* default_) const - { - // read a delimiter - string_type const* p = stream_data_t::get(stream); - std::ws(stream); - - if (p) - { - typedef typename string_type::const_iterator iterator; - for (iterator i = p->begin(); i != p->end(); ++i) - check_delim(*i); - } - else - { - while (*default_) - check_delim(*default_++); - } - } - - private: - - template - void - check_delim(Char c) const - { - using namespace std; - if (!isspace(c)) - { - if (stream.get() != c) - { - stream.unget(); - stream.setstate(std::ios::failbit); - } - } - } - - Stream& stream; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - string_ios_manip& operator= (string_ios_manip const&); - }; - - } // detail - - -#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \ - template \ - inline detail::name##_type \ - name(const std::basic_string& s) \ - { \ - return detail::name##_type(s); \ - } \ - \ - inline detail::name##_type \ - name(char const* s) \ - { \ - return detail::name##_type(std::basic_string(s)); \ - } \ - \ - inline detail::name##_type \ - name(wchar_t const* s) \ - { \ - return detail::name##_type(std::basic_string(s)); \ - } \ - \ - inline detail::name##_type \ - name(char c) \ - { \ - return detail::name##_type(std::basic_string(1, c)); \ - } \ - \ - inline detail::name##_type \ - name(wchar_t c) \ - { \ - return detail::name##_type(std::basic_string(1, c)); \ - } - -#else // defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) - -#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \ - template \ - inline detail::name##_type \ - name(const std::basic_string& s) \ - { \ - return detail::name##_type(s); \ - } \ - \ - template \ - inline detail::name##_type \ - name(Char s[]) \ - { \ - return detail::name##_type(std::basic_string(s)); \ - } \ - \ - template \ - inline detail::name##_type \ - name(Char const s[]) \ - { \ - return detail::name##_type(std::basic_string(s)); \ - } \ - \ - template \ - inline detail::name##_type \ - name(Char c) \ - { \ - return detail::name##_type(std::basic_string(1, c)); \ - } - -#endif - -#define STD_TUPLE_DEFINE_MANIPULATOR(name) \ - namespace detail \ - { \ - struct name##_tag; \ - \ - template > \ - struct name##_type \ - { \ - typedef std::basic_string string_type; \ - string_type data; \ - name##_type(const string_type& d): data(d) {} \ - }; \ - \ - template \ - Stream& operator>>(Stream& s, const name##_type& m) \ - { \ - string_ios_manip manip(s); \ - manip.set(m.data); \ - return s; \ - } \ - \ - template \ - Stream& operator<<(Stream& s, const name##_type& m) \ - { \ - string_ios_manip manip(s); \ - manip.set(m.data); \ - return s; \ - } \ - } \ - - - STD_TUPLE_DEFINE_MANIPULATOR(tuple_open) - STD_TUPLE_DEFINE_MANIPULATOR(tuple_close) - STD_TUPLE_DEFINE_MANIPULATOR(tuple_delimiter) - - STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_open) - STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_close) - STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(tuple_delimiter) - -#undef STD_TUPLE_DEFINE_MANIPULATOR -#undef STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS -#undef FUSION_STRING_OF_STREAM -#undef FUSION_GET_CHAR_TYPE -#undef FUSION_GET_TRAITS_TYPE - -}} - -#endif diff --git a/external/boost/fusion/sequence/io/detail/out.hpp b/external/boost/fusion/sequence/io/detail/out.hpp deleted file mode 100644 index 7da87a53a..000000000 --- a/external/boost/fusion/sequence/io/detail/out.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 1999-2003 Jeremiah Willcock - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_OUT_05052005_0121) -#define FUSION_OUT_05052005_0121 - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct delimiter_out - { - // print a delimiter - template - static void - print(OS& os, char const* delim, mpl::false_ = mpl::false_()) - { - detail::string_ios_manip manip(os); - manip.print(delim); - } - - template - static void - print(OS&, char const*, mpl::true_) - { - } - }; - - struct print_sequence_loop - { - template - static void - call(OS&, First const&, Last const&, mpl::true_) - { - } - - template - static void - call(OS& os, First const& first, Last const& last, mpl::false_) - { - result_of::equal_to< - typename result_of::next::type - , Last - > - is_last; - - os << *first; - delimiter_out::print(os, " ", is_last); - call(os, fusion::next(first), last, is_last); - } - - template - static void - call(OS& os, First const& first, Last const& last) - { - result_of::equal_to eq; - call(os, first, last, eq); - } - }; - - template - inline void - print_sequence(OS& os, Sequence const& seq) - { - delimiter_out::print(os, "("); - print_sequence_loop::call(os, fusion::begin(seq), fusion::end(seq)); - delimiter_out::print(os, ")"); - } -}}} - -#endif diff --git a/external/boost/fusion/sequence/io/in.hpp b/external/boost/fusion/sequence/io/in.hpp deleted file mode 100644 index 288c24733..000000000 --- a/external/boost/fusion/sequence/io/in.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 1999-2003 Jeremiah Willcock - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_IN_05042005_0120) -#define BOOST_IN_05042005_0120 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - inline std::istream& - in(std::istream& is, Sequence& seq) - { - detail::read_sequence(is, seq); - return is; - } - - namespace operators - { - template - inline typename - boost::enable_if< - fusion::traits::is_sequence - , std::istream& - >::type - operator>>(std::istream& is, Sequence& seq) - { - return fusion::in(is, seq); - } - } - using operators::operator>>; -}} - -#endif diff --git a/external/boost/fusion/sequence/io/out.hpp b/external/boost/fusion/sequence/io/out.hpp deleted file mode 100644 index 5c4637d57..000000000 --- a/external/boost/fusion/sequence/io/out.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 1999-2003 Jeremiah Willcock - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_OUT_05042005_0120) -#define BOOST_OUT_05042005_0120 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - inline std::ostream& - out(std::ostream& os, Sequence& seq) - { - detail::print_sequence(os, seq); - return os; - } - - namespace operators - { - template - inline typename - boost::enable_if< - fusion::traits::is_sequence - , std::ostream& - >::type - operator<<(std::ostream& os, Sequence const& seq) - { - return fusion::out(os, seq); - } - } - using operators::operator<<; -}} - -#endif diff --git a/external/boost/fusion/sequence/sequence_facade.hpp b/external/boost/fusion/sequence/sequence_facade.hpp deleted file mode 100644 index ff578a00c..000000000 --- a/external/boost/fusion/sequence/sequence_facade.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_FACADE_09252006_1044) -#define FUSION_SEQUENCE_FACADE_09252006_1044 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct sequence_facade_tag; - - template - struct sequence_facade : sequence_base - { - typedef fusion_sequence_tag tag; - typedef sequence_facade_tag fusion_tag; - typedef Derived derived_type; - typedef Category category; - typedef IsView is_view; - typedef mpl::false_ is_segmented; - }; -}} - -#endif diff --git a/external/boost/fusion/support.hpp b/external/boost/fusion/support.hpp deleted file mode 100644 index 11e17eb56..000000000 --- a/external/boost/fusion/support.hpp +++ /dev/null @@ -1,25 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SUPPORT_10022005_0545) -#define FUSION_SUPPORT_10022005_0545 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/support/as_const.hpp b/external/boost/fusion/support/as_const.hpp deleted file mode 100644 index 04d5bfcc1..000000000 --- a/external/boost/fusion/support/as_const.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*============================================================================= - Copyright (c) 2012 Nathan Ridge - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_SUPPORT_AS_CONST_HPP -#define BOOST_FUSION_SUPPORT_AS_CONST_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - // A customization point that allows certain wrappers around - // Fusion sequence elements (e.g. adt_attribute_proxy) to be - // unwrapped in contexts where the element only needs to be - // read. The library wraps accesses to Fusion elements in - // such contexts with calls to this function. Users can - // specialize this function for their own wrappers. - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline const T& as_const(const T& obj) BOOST_NOEXCEPT - { - return obj; - } - -}}} - -#endif diff --git a/external/boost/fusion/support/category_of.hpp b/external/boost/fusion/support/category_of.hpp deleted file mode 100644 index 92b0ea1b6..000000000 --- a/external/boost/fusion/support/category_of.hpp +++ /dev/null @@ -1,122 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CATEGORY_OF_07202005_0308) -#define FUSION_CATEGORY_OF_07202005_0308 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - struct incrementable_traversal_tag {}; - - struct single_pass_traversal_tag - : incrementable_traversal_tag {}; - - struct forward_traversal_tag - : single_pass_traversal_tag {}; - - struct bidirectional_traversal_tag - : forward_traversal_tag {}; - - struct random_access_traversal_tag - : bidirectional_traversal_tag {}; - - struct associative_tag {}; - - struct unbounded_tag {}; - - namespace extension - { - template - struct category_of_impl - { - template - struct apply : detail::fusion_category_of {}; - }; - - template <> - struct category_of_impl; - - template <> - struct category_of_impl; - - template <> - struct category_of_impl; - - template <> - struct category_of_impl; - } - - namespace traits - { - template - struct category_of - : extension::category_of_impl::type>:: - template apply - {}; - - template - struct is_associative - : is_base_of< - associative_tag - , typename category_of::type> - {}; - - template - struct is_incrementable - : is_base_of< - incrementable_traversal_tag - , typename category_of::type> - {}; - - template - struct is_single_pass - : is_base_of< - single_pass_traversal_tag - , typename category_of::type> - {}; - - template - struct is_forward - : is_base_of< - forward_traversal_tag - , typename category_of::type> - {}; - - template - struct is_bidirectional - : is_base_of< - bidirectional_traversal_tag - , typename category_of::type> - {}; - - template - struct is_random_access - : is_base_of< - random_access_traversal_tag - , typename category_of::type> - {}; - - template - struct is_unbounded - : is_base_of< - unbounded_tag - , typename category_of::type> - {}; - } -}} - -#endif diff --git a/external/boost/fusion/support/config.hpp b/external/boost/fusion/support/config.hpp deleted file mode 100644 index 23554531b..000000000 --- a/external/boost/fusion/support/config.hpp +++ /dev/null @@ -1,99 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Eric Niebler - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SUPPORT_CONFIG_01092014_1718) -#define FUSION_SUPPORT_CONFIG_01092014_1718 - -#include -#include -#include - -#ifndef BOOST_FUSION_GPU_ENABLED -#define BOOST_FUSION_GPU_ENABLED BOOST_GPU_ENABLED -#endif - -// Enclose with inline namespace because unqualified lookup of GCC < 4.5 is broken. -// -// namespace detail { -// struct foo; -// struct X { }; -// } -// -// template void foo(T) { } -// -// int main() -// { -// foo(detail::X()); -// // prog.cc: In function 'int main()': -// // prog.cc:2: error: 'struct detail::foo' is not a function, -// // prog.cc:6: error: conflict with 'template void foo(T)' -// // prog.cc:10: error: in call to 'foo' -// } -namespace boost { namespace fusion { namespace detail -{ - namespace barrier { } - using namespace barrier; -}}} -#define BOOST_FUSION_BARRIER_BEGIN namespace barrier { -#define BOOST_FUSION_BARRIER_END } - - -#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) -// All of rvalue-reference ready MSVC don't perform implicit conversion from -// fundamental type to rvalue-reference of another fundamental type [1]. -// -// Following example doesn't compile -// -// int i; -// long &&l = i; // sigh..., std::forward(i) also fail. -// -// however, following one will work. -// -// int i; -// long &&l = static_cast(i); -// -// OK, now can we replace all usage of std::forward to static_cast? -- I say NO! -// All of rvalue-reference ready Clang doesn't compile above static_cast usage [2], sigh... -// -// References: -// 1. https://connect.microsoft.com/VisualStudio/feedback/details/1037806/implicit-conversion-doesnt-perform-for-fund -// 2. http://llvm.org/bugs/show_bug.cgi?id=19917 -// -// Tentatively, we use static_cast to forward if run under MSVC. -# define BOOST_FUSION_FWD_ELEM(type, value) static_cast(value) -#else -# define BOOST_FUSION_FWD_ELEM(type, value) std::forward(value) -#endif - - -// Workaround for LWG 2408: C++17 SFINAE-friendly std::iterator_traits. -// http://cplusplus.github.io/LWG/lwg-defects.html#2408 -// -// - GCC 4.5 enables the feature under C++11. -// https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01105.html -// -// - MSVC 10.0 implements iterator intrinsics; MSVC 13.0 implements LWG2408. -#if (defined(BOOST_LIBSTDCXX_VERSION) && (BOOST_LIBSTDCXX_VERSION < 40500) && \ - defined(BOOST_LIBSTDCXX11)) || \ - (defined(BOOST_MSVC) && (1600 <= BOOST_MSVC && BOOST_MSVC < 1900)) -# define BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits; -} -#endif - - -// Workaround for older GCC that doesn't accept `this` in constexpr. -#if BOOST_WORKAROUND(BOOST_GCC, < 40700) -#define BOOST_FUSION_CONSTEXPR_THIS -#else -#define BOOST_FUSION_CONSTEXPR_THIS BOOST_CONSTEXPR -#endif - -#endif diff --git a/external/boost/fusion/support/deduce.hpp b/external/boost/fusion/support/deduce.hpp deleted file mode 100644 index b75381c5b..000000000 --- a/external/boost/fusion/support/deduce.hpp +++ /dev/null @@ -1,137 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_SUPPORT_DEDUCE_HPP_INCLUDED) -#define BOOST_FUSION_SUPPORT_DEDUCE_HPP_INCLUDED - -#include -#include - -#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL -#include -#endif - -namespace boost { namespace fusion { namespace traits -{ - template struct deduce; - - //----- ---- --- -- - - - - - - // Non-references pass unchanged - - template - struct deduce - { - typedef T type; - }; - - template - struct deduce - { - typedef T type; - }; - - template - struct deduce - { - typedef T type; - }; - - template - struct deduce - { - typedef T type; - }; - - // Keep references on mutable LValues - - template - struct deduce - { - typedef T & type; - }; - - template - struct deduce - { - typedef T volatile& type; - }; - - // Store away potential RValues - - template - struct deduce - { - typedef T type; - }; - - template - struct deduce - { - typedef T type; - }; - - // Unwrap Boost.RefS (referencee cv is deduced) - - template - struct deduce & > - { - typedef T& type; - }; - - template - struct deduce const & > - { - typedef T& type; - }; - - // Also unwrap C++11 std::ref if available (referencee cv is deduced) -#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL - template - struct deduce &> - { - typedef T& type; - }; - - template - struct deduce const &> - { - typedef T& type; - }; -#endif - - // Keep references on arrays, even if const - - template - struct deduce - { - typedef T(&type)[N]; - }; - - template - struct deduce - { - typedef volatile T(&type)[N]; - }; - - template - struct deduce - { - typedef const T(&type)[N]; - }; - - template - struct deduce - { - typedef const volatile T(&type)[N]; - }; - -}}} - -#endif - diff --git a/external/boost/fusion/support/deduce_sequence.hpp b/external/boost/fusion/support/deduce_sequence.hpp deleted file mode 100644 index 24f4e2d82..000000000 --- a/external/boost/fusion/support/deduce_sequence.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software - License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at - http://www.boost.org/LICENSE_1_0.txt). -==============================================================================*/ - -#if !defined(BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED) -#define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED - -#include -#include -#include -#include -#include - - -namespace boost { namespace fusion { namespace traits -{ - template struct deduce_sequence; - - namespace detail - { - struct deducer - { - template - struct result; - - template - struct result< Self(T) > - : fusion::traits::deduce - { }; - - // never called, but needed for decltype-based result_of (C++0x) -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - BOOST_FUSION_GPU_ENABLED - typename result< deducer(T) >::type - operator()(T&&) const; -#endif - }; - } - - template - struct deduce_sequence - : result_of::as_vector< - fusion::transform_view > - { }; - -}}} - -#endif - diff --git a/external/boost/fusion/support/detail/access.hpp b/external/boost/fusion/support/detail/access.hpp deleted file mode 100644 index ab8853831..000000000 --- a/external/boost/fusion/support/detail/access.hpp +++ /dev/null @@ -1,65 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ACCESS_04182005_0737) -#define FUSION_ACCESS_04182005_0737 - -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct ref_result - { - typedef typename add_reference::type type; - }; - - template - struct cref_result - { - typedef typename - add_reference< - typename add_const::type - >::type - type; - }; - - template - struct call_param - { - typedef T const& type; - }; - - template - struct call_param - { - typedef T& type; - }; - - template - struct call_param - { - typedef T const& type; - }; - - template - struct call_param - { - typedef T const& type; - }; - - template - struct call_param - { - typedef T const& type; - }; - -}}} - -#endif - diff --git a/external/boost/fusion/support/detail/and.hpp b/external/boost/fusion/support/detail/and.hpp deleted file mode 100644 index 1b310dda3..000000000 --- a/external/boost/fusion/support/detail/and.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2016 Lee Clagett - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_AND_07152016_1625 -#define FUSION_AND_07152016_1625 - -#include -#include - -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#error fusion::detail::and_ requires variadic templates -#endif - -namespace boost { namespace fusion { namespace detail { - template - struct and_impl : false_type {}; - - template - struct and_impl...> : true_type {}; - - // This specialization is necessary to avoid MSVC-12 variadics bug. - template - struct and_impl1 : and_impl...> {}; - - /* fusion::detail::and_ differs from mpl::and_ in the following ways: - - The empty set is valid and returns true - - A single element set is valid and returns the identity - - There is no upper bound on the set size - - The conditions are evaluated at once, and are not short-circuited. This - reduces instantations when returning true; the implementation is not - recursive. */ - template - struct and_ : and_impl1 {}; -}}} - -#endif // FUSION_AND_07152016_1625 diff --git a/external/boost/fusion/support/detail/as_fusion_element.hpp b/external/boost/fusion/support/detail/as_fusion_element.hpp deleted file mode 100644 index 2af960eed..000000000 --- a/external/boost/fusion/support/detail/as_fusion_element.hpp +++ /dev/null @@ -1,60 +0,0 @@ -/*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AS_FUSION_ELEMENT_05052005_0338) -#define FUSION_AS_FUSION_ELEMENT_05052005_0338 - -#include -#include - -#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL -#include -#endif - -namespace boost { namespace fusion { namespace detail -{ - template - struct as_fusion_element - { - typedef T type; - }; - - template - struct as_fusion_element > - { - typedef T& type; - }; - -#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL - template - struct as_fusion_element > - { - typedef T& type; - }; -#endif - - template - struct as_fusion_element - { - typedef const T(&type)[N]; - }; - - template - struct as_fusion_element - { - typedef const volatile T(&type)[N]; - }; - - template - struct as_fusion_element - { - typedef const volatile T(&type)[N]; - }; - -}}} - -#endif diff --git a/external/boost/fusion/support/detail/category_of.hpp b/external/boost/fusion/support/detail/category_of.hpp deleted file mode 100644 index e7ac44e55..000000000 --- a/external/boost/fusion/support/detail/category_of.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_CATEGORY_OF_07212005_1025) -#define FUSION_CATEGORY_OF_07212005_1025 - -namespace boost { namespace fusion { namespace detail -{ - template - struct fusion_category_of - { - typedef typename T::category type; - }; -}}} - -#endif diff --git a/external/boost/fusion/support/detail/enabler.hpp b/external/boost/fusion/support/detail/enabler.hpp deleted file mode 100644 index ea263a41d..000000000 --- a/external/boost/fusion/support/detail/enabler.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_SUPPORT_DETAIL_ENABLER_12102015_0346 -#define BOOST_FUSION_SUPPORT_DETAIL_ENABLER_12102015_0346 - -#include - -namespace boost { namespace fusion { namespace detail -{ - -struct enabler_ {}; -BOOST_STATIC_CONSTEXPR enabler_ enabler = {}; - -}}} - -#endif - diff --git a/external/boost/fusion/support/detail/index_sequence.hpp b/external/boost/fusion/support/detail/index_sequence.hpp deleted file mode 100644 index e86def005..000000000 --- a/external/boost/fusion/support/detail/index_sequence.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/*============================================================================= - Copyright (c) 2015 Agustin K-ballo Berge - Copyright (c) 2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_SUPPORT_DETAIL_INDEX_SEQUENCE_06232015_1038 -#define BOOST_FUSION_SUPPORT_DETAIL_INDEX_SEQUENCE_06232015_1038 - -#include -#include - -// GCC5 has O(logN) implementation, see https://gcc.gnu.org/PR66059 . -#if (defined(__cpp_lib_integer_sequence) && __cpp_lib_integer_sequence >= 201304) \ - || (defined(BOOST_LIBSTDCXX_VERSION) \ - && BOOST_LIBSTDCXX_VERSION >= 500000 && __cplusplus >= 201402) -#include -#define BOOST_FUSION_STDLIB_HAS_INTEGER_SEQUENCE -#endif - -namespace boost { namespace fusion { namespace detail -{ -#ifdef BOOST_FUSION_STDLIB_HAS_INTEGER_SEQUENCE - // Use aliasing templates without checking availability, the compiler should work. - template - using index_sequence = std::index_sequence; - - template - struct make_index_sequence - { - using type = std::make_index_sequence; - }; -#else - template - struct index_sequence - { - typedef std::size_t value_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static std::size_t size() BOOST_NOEXCEPT - { return sizeof...(Ints); } - - // non standard extension - typedef index_sequence type; - }; - - template - struct _make_index_sequence_join; - - template - struct _make_index_sequence_join< - index_sequence, index_sequence - > : index_sequence - {}; - - template - struct make_index_sequence - : _make_index_sequence_join< - typename make_index_sequence::type - , typename make_index_sequence::type - > - {}; - - template <> - struct make_index_sequence<1> - : index_sequence<0> - {}; - - template <> - struct make_index_sequence<0> - : index_sequence<> - {}; -#endif -}}} - -#endif - diff --git a/external/boost/fusion/support/detail/is_mpl_sequence.hpp b/external/boost/fusion/support/detail/is_mpl_sequence.hpp deleted file mode 100644 index 1c485f91c..000000000 --- a/external/boost/fusion/support/detail/is_mpl_sequence.hpp +++ /dev/null @@ -1,28 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DETAIL_IS_MPL_SEQUENCE_29122006_1105) -#define FUSION_DETAIL_IS_MPL_SEQUENCE_29122006_1105 - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct is_mpl_sequence - : mpl::and_< - mpl::not_ > - , mpl::is_sequence > - {}; -}}} - -#endif diff --git a/external/boost/fusion/support/detail/is_same_size.hpp b/external/boost/fusion/support/detail/is_same_size.hpp deleted file mode 100644 index b1bf7cde4..000000000 --- a/external/boost/fusion/support/detail/is_same_size.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_IS_SAME_SIZE_10082015_1156 -#define FUSION_IS_SAME_SIZE_10082015_1156 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct is_same_size : mpl::false_ {}; - - template - struct is_same_size >::type, - typename enable_if >::type> - : mpl::equal_to, result_of::size > - {}; -}}} - -#endif diff --git a/external/boost/fusion/support/detail/is_view.hpp b/external/boost/fusion/support/detail/is_view.hpp deleted file mode 100644 index c518dfc46..000000000 --- a/external/boost/fusion/support/detail/is_view.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_IS_VIEW_03202006_0018) -#define FUSION_IS_VIEW_03202006_0018 - -namespace boost { namespace fusion { namespace detail -{ - template - struct fusion_is_view - { - typedef typename T::is_view type; - }; -}}} - -#endif diff --git a/external/boost/fusion/support/detail/mpl_iterator_category.hpp b/external/boost/fusion/support/detail/mpl_iterator_category.hpp deleted file mode 100644 index fcb00a01c..000000000 --- a/external/boost/fusion/support/detail/mpl_iterator_category.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_MPL_ITERATOR_CATEGORY_07212005_0923) -#define FUSION_MPL_ITERATOR_CATEGORY_07212005_0923 - -namespace boost { namespace mpl -{ - struct forward_iterator_tag; - struct bidirectional_iterator_tag; - struct random_access_iterator_tag; -}} - -namespace boost { namespace fusion -{ - struct forward_traversal_tag; - struct bidirectional_traversal_tag; - struct random_access_traversal_tag; -}} - -namespace boost { namespace fusion { namespace detail -{ - template - struct mpl_iterator_category; - - template <> - struct mpl_iterator_category - { - typedef forward_traversal_tag type; - }; - - template <> - struct mpl_iterator_category - { - typedef bidirectional_traversal_tag type; - }; - - template <> - struct mpl_iterator_category - { - typedef random_access_traversal_tag type; - }; - - template <> - struct mpl_iterator_category - { - typedef forward_traversal_tag type; - }; - - template <> - struct mpl_iterator_category - { - typedef bidirectional_traversal_tag type; - }; - - template <> - struct mpl_iterator_category - { - typedef random_access_traversal_tag type; - }; -}}} - -#endif diff --git a/external/boost/fusion/support/detail/pp_round.hpp b/external/boost/fusion/support/detail/pp_round.hpp deleted file mode 100644 index 6c43b66f1..000000000 --- a/external/boost/fusion/support/detail/pp_round.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Thomas Heller - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP -#define BOOST_BOOST_FUSION_SUPPORT_PP_ROUND_HPP - -#include -#include -#include -#include - -#define BOOST_FUSION_PP_ROUND_UP(N) \ - BOOST_PP_CAT(BOOST_FUSION_PP_DO_ROUND_UP_, N)() \ -/**/ - -#define BOOST_FUSION_PP_DO_ROUND_UP_0() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_1() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_2() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_3() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_4() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_5() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_6() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_7() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_8() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_9() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_10() 10 -#define BOOST_FUSION_PP_DO_ROUND_UP_11() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_12() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_13() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_14() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_15() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_16() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_17() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_18() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_19() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_20() 20 -#define BOOST_FUSION_PP_DO_ROUND_UP_21() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_22() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_23() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_24() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_25() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_26() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_27() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_28() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_29() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_30() 30 -#define BOOST_FUSION_PP_DO_ROUND_UP_31() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_32() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_33() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_34() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_35() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_36() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_37() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_38() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_39() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_40() 40 -#define BOOST_FUSION_PP_DO_ROUND_UP_41() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_42() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_43() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_44() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_45() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_46() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_47() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_48() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_49() 50 -#define BOOST_FUSION_PP_DO_ROUND_UP_50() 50 - -#endif diff --git a/external/boost/fusion/support/detail/segmented_fold_until_impl.hpp b/external/boost/fusion/support/detail/segmented_fold_until_impl.hpp deleted file mode 100644 index 6a388bf83..000000000 --- a/external/boost/fusion/support/detail/segmented_fold_until_impl.hpp +++ /dev/null @@ -1,401 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_IMPL_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -// fun(seq, state, context) -// seq: a non-segmented range -// state: the state of the fold so far -// context: the path to the current range -// -// returns: (state', fcontinue) - -namespace boost { namespace fusion -{ - template - struct iterator_range; - - template - struct segmented_iterator; - - namespace result_of - { - template - struct make_segmented_iterator - { - typedef - iterator_range< - Cur - , typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Context::car_type::begin_type - >::type - >::type - >::type - >::type - > - range_type; - - typedef - segmented_iterator > - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::make_segmented_iterator::type - make_segmented_iterator(Cur const& cur, Context const& context) - { - typedef result_of::make_segmented_iterator impl_type; - typedef typename impl_type::type type; - typedef typename impl_type::range_type range_type; - return type(cons(range_type(cur, fusion::end(*context.car.first)), context)); - } - - namespace detail - { - template < - typename Begin - , typename End - , typename State - , typename Context - , typename Fun - , bool IsEmpty - > - struct segmented_fold_until_iterate_skip_empty; - - template < - typename Begin - , typename End - , typename State - , typename Context - , typename Fun - , bool IsDone = result_of::equal_to::type::value - > - struct segmented_fold_until_iterate; - - template < - typename Sequence - , typename State - , typename Context - , typename Fun - , bool IsSegmented = traits::is_segmented::type::value - > - struct segmented_fold_until_impl; - - template - struct segmented_fold_until_on_segments; - - //auto push_context(cur, end, context) - //{ - // return push_back(context, segment_sequence(iterator_range(cur, end))); - //} - - template - struct push_context - { - typedef iterator_range range_type; - typedef cons type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Cur const& cur, End const& end, Context const& context) - { - return cons(range_type(cur, end), context); - } - }; - - //auto make_segmented_iterator(cur, end, context) - //{ - // return segmented_iterator(push_context(cur, end, context)); - //} - // - //auto segmented_fold_until_impl(seq, state, context, fun) - //{ - // if (is_segmented(seq)) - // { - // segmented_fold_until_on_segments(segments(seq), state, context, fun); - // } - // else - // { - // return fun(seq, state, context); - // } - //} - - template < - typename Sequence - , typename State - , typename Context - , typename Fun - , bool IsSegmented - > - struct segmented_fold_until_impl - { - typedef - segmented_fold_until_on_segments< - typename remove_reference< - typename add_const< - typename result_of::segments::type - >::type - >::type - , State - , Context - , Fun - > - impl; - - typedef typename impl::type type; - typedef typename impl::continue_type continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) - { - return impl::call(fusion::segments(seq), state, context, fun); - } - }; - - template < - typename Sequence - , typename State - , typename Context - , typename Fun - > - struct segmented_fold_until_impl - { - typedef - typename Fun::template apply - apply_type; - - typedef typename apply_type::type type; - typedef typename apply_type::continue_type continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) - { - return apply_type::call(seq, state, context, fun); - } - }; - - //auto segmented_fold_until_on_segments(segs, state, context, fun) - //{ - // auto cur = begin(segs), end = end(segs); - // for (; cur != end; ++cur) - // { - // if (empty(*cur)) - // continue; - // auto context` = push_context(cur, end, context); - // state = segmented_fold_until_impl(*cur, state, context`, fun); - // if (!second(state)) - // return state; - // } - //} - - template - struct continue_wrap - { - typedef typename Apply::continue_type type; - }; - - template - struct segmented_fold_until_iterate_skip_empty - { - // begin != end and !empty(*begin) - typedef - push_context - push_context_impl; - - typedef - typename push_context_impl::type - next_context_type; - - typedef - segmented_fold_until_impl< - typename remove_reference< - typename add_const< - typename result_of::deref::type - >::type - >::type - , State - , next_context_type - , Fun - > - fold_recurse_impl; - - typedef - typename fold_recurse_impl::type - next_state_type; - - typedef - segmented_fold_until_iterate< - typename result_of::next::type - , End - , next_state_type - , Context - , Fun - > - next_iteration_impl; - - typedef - typename mpl::eval_if< - typename fold_recurse_impl::continue_type - , next_iteration_impl - , mpl::identity - >::type - type; - - typedef - typename mpl::eval_if< - typename fold_recurse_impl::continue_type - , continue_wrap - , mpl::identity - >::type - continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Begin const& beg, End const& end, State const& state - , Context const& context, Fun const& fun) - { - return call(beg, end, state, context, fun, typename fold_recurse_impl::continue_type()); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Begin const& beg, End const& end, State const& state - , Context const& context, Fun const& fun, mpl::true_) // continue - { - return next_iteration_impl::call( - fusion::next(beg) - , end - , fold_recurse_impl::call( - *beg - , state - , push_context_impl::call(beg, end, context) - , fun) - , context - , fun); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Begin const& beg, End const& end, State const& state - , Context const& context, Fun const& fun, mpl::false_) // break - { - return fold_recurse_impl::call( - *beg - , state - , push_context_impl::call(beg, end, context) - , fun); - } - }; - - template - struct segmented_fold_until_iterate_skip_empty - { - typedef - segmented_fold_until_iterate< - typename result_of::next::type - , End - , State - , Context - , Fun - > - impl; - - typedef typename impl::type type; - typedef typename impl::continue_type continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Begin const& beg, End const& end, State const& state - , Context const& context, Fun const& fun) - { - return impl::call(fusion::next(beg), end, state, context, fun); - } - }; - - template - struct segmented_fold_until_iterate - { - typedef - typename result_of::empty< - typename remove_reference< - typename result_of::deref::type - >::type - >::type - empty_type; - - typedef - segmented_fold_until_iterate_skip_empty - impl; - - typedef typename impl::type type; - typedef typename impl::continue_type continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Begin const& beg, End const& end, State const& state - , Context const& context, Fun const& fun) - { - return impl::call(beg, end, state, context, fun); - } - }; - - template - struct segmented_fold_until_iterate - { - typedef State type; - typedef mpl::true_ continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Begin const&, End const&, State const& state - , Context const&, Fun const&) - { - return state; - } - }; - - template - struct segmented_fold_until_on_segments - { - typedef - segmented_fold_until_iterate< - typename result_of::begin::type - , typename result_of::end::type - , State - , Context - , Fun - > - impl; - - typedef typename impl::type type; - typedef typename impl::continue_type continue_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Segments& segs, State const& state, Context const& context, Fun const& fun) - { - return impl::call(fusion::begin(segs), fusion::end(segs), state, context, fun); - } - }; - } -}} - -#endif diff --git a/external/boost/fusion/support/detail/unknown_key.hpp b/external/boost/fusion/support/detail/unknown_key.hpp deleted file mode 100644 index 9466b9c04..000000000 --- a/external/boost/fusion/support/detail/unknown_key.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_UNKNOWN_KEY_09242005_1219) -#define FUSION_UNKNOWN_KEY_09242005_1219 - -namespace boost { namespace fusion { namespace detail -{ - template - struct unknown_key {}; -}}} - -#endif diff --git a/external/boost/fusion/support/is_iterator.hpp b/external/boost/fusion/support/is_iterator.hpp deleted file mode 100644 index b48aab8c3..000000000 --- a/external/boost/fusion/support/is_iterator.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_IS_ITERATOR_05062005_1219) -#define FUSION_IS_ITERATOR_05062005_1219 - -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_root; - - template - struct is_fusion_iterator : is_base_of {}; -}} - -#endif diff --git a/external/boost/fusion/support/is_segmented.hpp b/external/boost/fusion/support/is_segmented.hpp deleted file mode 100644 index 1326feb34..000000000 --- a/external/boost/fusion/support/is_segmented.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2006 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_IS_SEGMENTED_03202006_0015) -#define FUSION_IS_SEGMENTED_03202006_0015 - -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct iterator_range_tag; - - namespace extension - { - template - struct is_segmented_impl - { - template - struct apply - : mpl::false_ - {}; - }; - - template <> - struct is_segmented_impl - { - template - struct apply : Sequence::is_segmented {}; - }; - - template <> - struct is_segmented_impl; - } - - namespace traits - { - template - struct is_segmented - : mpl::bool_< - (bool)extension::is_segmented_impl::type>:: - template apply::type::value - > - { - }; - } -}} - -#endif diff --git a/external/boost/fusion/support/is_sequence.hpp b/external/boost/fusion/support/is_sequence.hpp deleted file mode 100644 index 6b9b21185..000000000 --- a/external/boost/fusion/support/is_sequence.hpp +++ /dev/null @@ -1,77 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_IS_SEQUENCE_05052005_1002) -#define FUSION_IS_SEQUENCE_05052005_1002 - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct non_fusion_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct is_sequence_impl - { - template - struct apply - : is_convertible - {}; - }; - - template <> - struct is_sequence_impl - { - template - struct apply : mpl::false_ {}; - }; - - template <> - struct is_sequence_impl; - - template <> - struct is_sequence_impl; - - template <> - struct is_sequence_impl; - - template <> - struct is_sequence_impl; - } - - namespace traits - { - template - struct is_sequence - : mpl::bool_< - (bool)extension::is_sequence_impl< - typename fusion::detail::tag_of::type - >::template apply::type::value - > - {}; - - template - struct is_native_fusion_sequence - : is_convertible - {}; - } -}} - -#endif diff --git a/external/boost/fusion/support/is_view.hpp b/external/boost/fusion/support/is_view.hpp deleted file mode 100644 index c54e60e19..000000000 --- a/external/boost/fusion/support/is_view.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_IS_VIEW_03202006_0015) -#define FUSION_IS_VIEW_03202006_0015 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Special tags: - struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple tag - struct boost_array_tag; // boost::array tag - struct mpl_sequence_tag; // mpl sequence tag - struct std_pair_tag; // std::pair tag - - namespace extension - { - template - struct is_view_impl - { - template - struct apply - : detail::fusion_is_view - {}; - }; - - template <> - struct is_view_impl - { - template - struct apply : Sequence::is_view {}; - }; - - template <> - struct is_view_impl; - - template <> - struct is_view_impl; - - template <> - struct is_view_impl; - - template <> - struct is_view_impl; - } - - namespace traits - { - template - struct is_view : - mpl::bool_< - (bool)extension::is_view_impl::type>:: - template apply::type::value - > - {}; - } -}} - -#endif diff --git a/external/boost/fusion/support/iterator_base.hpp b/external/boost/fusion/support/iterator_base.hpp deleted file mode 100644 index 5d8ce3abb..000000000 --- a/external/boost/fusion/support/iterator_base.hpp +++ /dev/null @@ -1,36 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ITERATOR_BASE_05042005_1008) -#define FUSION_ITERATOR_BASE_05042005_1008 - -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_root {}; - - template - struct iterator_base : iterator_root - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - Iterator const& - cast() const BOOST_NOEXCEPT - { - return static_cast(*this); - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - Iterator& - cast() BOOST_NOEXCEPT - { - return static_cast(*this); - } - }; -}} - -#endif diff --git a/external/boost/fusion/support/pair.hpp b/external/boost/fusion/support/pair.hpp deleted file mode 100644 index a4cd1ff09..000000000 --- a/external/boost/fusion/support/pair.hpp +++ /dev/null @@ -1,168 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PAIR_07222005_1203) -#define FUSION_PAIR_07222005_1203 - -#include -#include - -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - // A half runtime pair where the first type does not have data - template - struct pair - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair() - : second() {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair(pair const& rhs) - : second(rhs.second) {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair(pair&& rhs) - : second(BOOST_FUSION_FWD_ELEM(Second, rhs.second)) {} -#endif - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair(typename detail::call_param::type val) - : second(val) {} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - pair(Second2&& val - , typename boost::disable_if >::type* /* dummy */ = 0 - , typename boost::enable_if >::type* /*dummy*/ = 0 - ) : second(BOOST_FUSION_FWD_ELEM(Second, val)) {} -#endif - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair(pair const& rhs) - : second(rhs.second) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair& operator=(pair const& rhs) - { - second = rhs.second; - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair& operator=(pair const& rhs) - { - second = rhs.second; - return *this; - } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - pair& operator=(pair&& rhs) - { - second = BOOST_FUSION_FWD_ELEM(Second, rhs.second); - return *this; - } -#endif - - typedef First first_type; - typedef Second second_type; - Second second; - }; - - namespace result_of - { - template - struct make_pair - { - typedef fusion::pair::type> type; - }; - - template - struct first - { - typedef typename Pair::first_type type; - }; - - template - struct second - { - typedef typename Pair::second_type type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::make_pair::type - make_pair(Second const& val) - { - return pair::type>(val); - } - - template - inline std::ostream& - operator<<(std::ostream& os, pair const& p) - { - os << p.second; - return os; - } - - template - inline std::istream& - operator>>(std::istream& is, pair& p) - { - is >> p.second; - return is; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - operator==(pair const& l, pair const& r) - { - return l.second == r.second; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - operator!=(pair const& l, pair const& r) - { - return l.second != r.second; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline bool - operator<(pair const& l, pair const& r) - { - return l.second < r.second; - } -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/fusion/support/segmented_fold_until.hpp b/external/boost/fusion/support/segmented_fold_until.hpp deleted file mode 100644 index 8fb09ee38..000000000 --- a/external/boost/fusion/support/segmented_fold_until.hpp +++ /dev/null @@ -1,71 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - //auto segmented_fold_until(seq, state, fun) - //{ - // return first(segmented_fold_until_impl(seq, state, nil_, fun)); - //} - - namespace result_of - { - template - struct segmented_fold_until - { - typedef - detail::segmented_fold_until_impl< - Sequence - , State - , fusion::nil_ - , Fun - > - filter; - - typedef - typename filter::type - type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::segmented_fold_until - >::type - segmented_fold_until(Sequence& seq, State const& state, Fun const& fun) - { - typedef - typename result_of::segmented_fold_until::filter - filter; - - return filter::call(seq, state, fusion::nil_(), fun); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::segmented_fold_until::type - segmented_fold_until(Sequence const& seq, State const& state, Fun const& fun) - { - typedef - typename result_of::segmented_fold_until::filter - filter; - - return filter::call(seq, state, fusion::nil_(), fun); - } -}} - -#endif diff --git a/external/boost/fusion/support/sequence_base.hpp b/external/boost/fusion/support/sequence_base.hpp deleted file mode 100644 index 2f9320e6c..000000000 --- a/external/boost/fusion/support/sequence_base.hpp +++ /dev/null @@ -1,59 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_BASE_04182005_0737) -#define FUSION_SEQUENCE_BASE_04182005_0737 - -#include -#include -#include - -namespace boost { namespace fusion -{ - namespace detail - { - struct from_sequence_convertible_type - {}; - } - - template - struct sequence_base - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - Sequence const& - derived() const BOOST_NOEXCEPT - { - return static_cast(*this); - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - Sequence& - derived() BOOST_NOEXCEPT - { - return static_cast(*this); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - operator detail::from_sequence_convertible_type() const BOOST_NOEXCEPT - { - return detail::from_sequence_convertible_type(); - } - }; - - struct fusion_sequence_tag; -}} - -namespace boost { namespace mpl -{ - // Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence - // is not an MPL sequence by returning mpl::void_. - // In other words: Fusion Sequences are always MPL Sequences, but they can - // be incompletely defined. - template<> struct begin_impl< boost::fusion::fusion_sequence_tag >; -}} - -#endif diff --git a/external/boost/fusion/support/tag_of.hpp b/external/boost/fusion/support/tag_of.hpp deleted file mode 100644 index 61cb3b19a..000000000 --- a/external/boost/fusion/support/tag_of.hpp +++ /dev/null @@ -1,83 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TAG_OF_09232005_0845) -#define FUSION_TAG_OF_09232005_0845 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost -{ - template - class array; // forward - - namespace tuples - { - struct null_type; - - template < - class T0, class T1, class T2, class T3, class T4, - class T5, class T6, class T7, class T8, class T9 - > - class tuple; - - template - struct cons; - } -} - -namespace boost { namespace fusion -{ - struct non_fusion_tag; - struct mpl_sequence_tag; - - namespace detail - { - BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag) - - template - struct tag_of_impl - : mpl::if_, - mpl::identity, - mpl::identity >::type - {}; - - template - struct tag_of_impl< - Sequence - , typename boost::enable_if >::type> - { - typedef typename Sequence::fusion_tag type; - }; - } - - namespace traits - { - template - struct tag_of - : boost::fusion::detail::tag_of_impl - {}; - } - - namespace detail - { - template - struct tag_of - : traits::tag_of::type> - {}; - } -}} -#endif diff --git a/external/boost/fusion/support/tag_of_fwd.hpp b/external/boost/fusion/support/tag_of_fwd.hpp deleted file mode 100644 index ba434d933..000000000 --- a/external/boost/fusion/support/tag_of_fwd.hpp +++ /dev/null @@ -1,20 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_TAG_OF_FWD_31122005_1445) -#define BOOST_FUSION_TAG_OF_FWD_31122005_1445 - -namespace boost { namespace fusion -{ - namespace traits - { - template - struct tag_of; - } -}} - -#endif diff --git a/external/boost/fusion/support/unused.hpp b/external/boost/fusion/support/unused.hpp deleted file mode 100644 index 964839ab2..000000000 --- a/external/boost/fusion/support/unused.hpp +++ /dev/null @@ -1,95 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SUPPORT_UNUSED_20070305_1038) -#define BOOST_FUSION_SUPPORT_UNUSED_20070305_1038 - -#include -#include - -#include -#if defined(BOOST_MSVC) -# pragma warning(push) -# pragma warning(disable: 4522) // multiple assignment operators specified warning -#endif - -#define BOOST_FUSION_UNUSED_HAS_IO - -namespace boost { namespace fusion -{ - struct unused_type - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type() BOOST_NOEXCEPT - { - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type(T const&) BOOST_NOEXCEPT - { - } - - template - BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED - unused_type const& - operator=(T const&) const BOOST_NOEXCEPT - { - return *this; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type& - operator=(T const&) BOOST_NOEXCEPT - { - return *this; - } - - BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED - unused_type const& - operator=(unused_type const&) const BOOST_NOEXCEPT - { - return *this; - } - - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type& - operator=(unused_type const&) BOOST_NOEXCEPT - { - return *this; - } - }; - - BOOST_CONSTEXPR_OR_CONST unused_type unused = unused_type(); - - namespace detail - { - struct unused_only - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_only(unused_type const&) BOOST_NOEXCEPT {} - }; - } - - BOOST_CONSTEXPR - inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) BOOST_NOEXCEPT - { - return out; - } - - BOOST_CONSTEXPR - inline std::istream& operator>>(std::istream& in, unused_type&) BOOST_NOEXCEPT - { - return in; - } -}} - -#if defined(BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif diff --git a/external/boost/fusion/support/void.hpp b/external/boost/fusion/support/void.hpp deleted file mode 100644 index 765051901..000000000 --- a/external/boost/fusion/support/void.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SUPPORT_VOID_20070706_2125) -#define BOOST_FUSION_SUPPORT_VOID_20070706_2125 - -namespace boost { namespace fusion -{ - struct void_ {}; -}} - -#endif diff --git a/external/boost/fusion/tuple.hpp b/external/boost/fusion/tuple.hpp deleted file mode 100644 index 49dac1d74..000000000 --- a/external/boost/fusion/tuple.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TUPLE_10032005_0806) -#define FUSION_TUPLE_10032005_0806 - -#include -#include -#include -#include -#include - -#endif - diff --git a/external/boost/fusion/tuple/detail/make_tuple.hpp b/external/boost/fusion/tuple/detail/make_tuple.hpp deleted file mode 100644 index f87ea5a23..000000000 --- a/external/boost/fusion/tuple/detail/make_tuple.hpp +++ /dev/null @@ -1,86 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_MAKE_TUPLE_10032005_0843) -#define FUSION_MAKE_TUPLE_10032005_0843 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - BOOST_FUSION_GPU_ENABLED inline tuple<> - make_tuple() - { - return tuple<>(); - } -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template - BOOST_FUSION_GPU_ENABLED - inline tuple - make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) - { - return tuple( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp deleted file mode 100644 index 6abb03368..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/make_tuple.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp deleted file mode 100644 index f0ba114d6..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp +++ /dev/null @@ -1,91 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type> - make_tuple(T0 const& arg0) - { - return tuple::type>( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1) - { - return tuple::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp deleted file mode 100644 index 31ef304e2..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp +++ /dev/null @@ -1,171 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type> - make_tuple(T0 const& arg0) - { - return tuple::type>( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1) - { - return tuple::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp deleted file mode 100644 index 850829f3c..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp +++ /dev/null @@ -1,251 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type> - make_tuple(T0 const& arg0) - { - return tuple::type>( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1) - { - return tuple::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp deleted file mode 100644 index c85741b95..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp +++ /dev/null @@ -1,331 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type> - make_tuple(T0 const& arg0) - { - return tuple::type>( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1) - { - return tuple::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp b/external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp deleted file mode 100644 index b4c99c518..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp +++ /dev/null @@ -1,411 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type> - make_tuple(T0 const& arg0) - { - return tuple::type>( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1) - { - return tuple::type , typename detail::as_fusion_element::type>( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) - { - return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple.hpp deleted file mode 100644 index 3fd0e18be..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif - diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp deleted file mode 100644 index a24a29a12..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple10.hpp +++ /dev/null @@ -1,209 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(static_cast(rhs)) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type arg0) - : base_type(arg0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : base_type(arg0 , arg1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : base_type(arg0 , arg1 , arg2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : base_type(arg0 , arg1 , arg2 , arg3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(static_cast(rhs)); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp deleted file mode 100644 index 7ec319608..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple10_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ - > - struct tuple; -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp deleted file mode 100644 index 73de49ffb..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple20.hpp +++ /dev/null @@ -1,349 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(static_cast(rhs)) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type arg0) - : base_type(arg0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : base_type(arg0 , arg1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : base_type(arg0 , arg1 , arg2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : base_type(arg0 , arg1 , arg2 , arg3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(static_cast(rhs)); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp deleted file mode 100644 index 3769f8902..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple20_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ - > - struct tuple; -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp deleted file mode 100644 index 9db26a0c9..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple30.hpp +++ /dev/null @@ -1,489 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(static_cast(rhs)) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type arg0) - : base_type(arg0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : base_type(arg0 , arg1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : base_type(arg0 , arg1 , arg2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : base_type(arg0 , arg1 , arg2 , arg3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(static_cast(rhs)); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp deleted file mode 100644 index b9f3e017c..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple30_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ - > - struct tuple; -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp deleted file mode 100644 index 44e0d2c1d..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple40.hpp +++ /dev/null @@ -1,629 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(static_cast(rhs)) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type arg0) - : base_type(arg0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : base_type(arg0 , arg1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : base_type(arg0 , arg1 , arg2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : base_type(arg0 , arg1 , arg2 , arg3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(static_cast(rhs)); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp deleted file mode 100644 index 200bf5db5..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple40_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ - > - struct tuple; -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp deleted file mode 100644 index db157b654..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple50.hpp +++ /dev/null @@ -1,769 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> - base_type; - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(static_cast(rhs)) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - tuple(typename detail::call_param::type arg0) - : base_type(arg0) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) - : base_type(arg0 , arg1) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) - : base_type(arg0 , arg1 , arg2) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) - : base_type(arg0 , arg1 , arg2 , arg3) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) - : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(static_cast(rhs)); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - template - struct tuple_size : result_of::size {}; - template - struct tuple_element : result_of::value_at_c {}; - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp deleted file mode 100644 index 18fd75c40..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple50_fwd.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - template < - typename T0 = void_ , typename T1 = void_ , typename T2 = void_ , typename T3 = void_ , typename T4 = void_ , typename T5 = void_ , typename T6 = void_ , typename T7 = void_ , typename T8 = void_ , typename T9 = void_ , typename T10 = void_ , typename T11 = void_ , typename T12 = void_ , typename T13 = void_ , typename T14 = void_ , typename T15 = void_ , typename T16 = void_ , typename T17 = void_ , typename T18 = void_ , typename T19 = void_ , typename T20 = void_ , typename T21 = void_ , typename T22 = void_ , typename T23 = void_ , typename T24 = void_ , typename T25 = void_ , typename T26 = void_ , typename T27 = void_ , typename T28 = void_ , typename T29 = void_ , typename T30 = void_ , typename T31 = void_ , typename T32 = void_ , typename T33 = void_ , typename T34 = void_ , typename T35 = void_ , typename T36 = void_ , typename T37 = void_ , typename T38 = void_ , typename T39 = void_ , typename T40 = void_ , typename T41 = void_ , typename T42 = void_ , typename T43 = void_ , typename T44 = void_ , typename T45 = void_ , typename T46 = void_ , typename T47 = void_ , typename T48 = void_ , typename T49 = void_ - > - struct tuple; -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp deleted file mode 100644 index 234936c58..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple_fwd.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp deleted file mode 100644 index 5898c6b97..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -#if FUSION_MAX_VECTOR_SIZE <= 10 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 20 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 30 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 40 -#include -#elif FUSION_MAX_VECTOR_SIZE <= 50 -#include -#else -#error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" -#endif diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp deleted file mode 100644 index 67ec63b78..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp +++ /dev/null @@ -1,91 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0) - { - return tuple( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1) - { - return tuple( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return tuple( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return tuple( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp deleted file mode 100644 index 37581f20c..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp +++ /dev/null @@ -1,171 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0) - { - return tuple( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1) - { - return tuple( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return tuple( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return tuple( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp deleted file mode 100644 index d81cb0cdd..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp +++ /dev/null @@ -1,251 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0) - { - return tuple( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1) - { - return tuple( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return tuple( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return tuple( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp deleted file mode 100644 index 69eb0d8dd..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp +++ /dev/null @@ -1,331 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0) - { - return tuple( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1) - { - return tuple( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return tuple( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return tuple( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } -}} diff --git a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp b/external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp deleted file mode 100644 index a024e5731..000000000 --- a/external/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp +++ /dev/null @@ -1,411 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0) - { - return tuple( - arg0); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1) - { - return tuple( - arg0 , arg1); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2) - { - return tuple( - arg0 , arg1 , arg2); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) - { - return tuple( - arg0 , arg1 , arg2 , arg3); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); - } - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) - { - return tuple( - arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); - } -}} diff --git a/external/boost/fusion/tuple/detail/tuple.hpp b/external/boost/fusion/tuple/detail/tuple.hpp deleted file mode 100644 index 45408f065..000000000 --- a/external/boost/fusion/tuple/detail/tuple.hpp +++ /dev/null @@ -1,122 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TUPLE_10032005_0810) -#define FUSION_TUPLE_10032005_0810 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> - base_type; - - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(static_cast(rhs)) {} - - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - - #include - - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(static_cast(rhs)); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - - template - struct tuple_size : result_of::size {}; - - template - struct tuple_element : result_of::value_at_c {}; - - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/external/boost/fusion/tuple/detail/tuple_expand.hpp b/external/boost/fusion/tuple/detail/tuple_expand.hpp deleted file mode 100644 index 3909f647b..000000000 --- a/external/boost/fusion/tuple/detail/tuple_expand.hpp +++ /dev/null @@ -1,53 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_TUPLE_EXPAND_10032005_0815) -#define FUSION_TUPLE_EXPAND_10032005_0815 - -#include -#include -#include - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - BOOST_FUSION_GPU_ENABLED -#if N == 1 - explicit -#endif - tuple(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type arg)) - : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} - - template - BOOST_FUSION_GPU_ENABLED - tuple(tuple const& rhs) - : base_type(rhs) {} - - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/tuple/detail/tuple_fwd.hpp b/external/boost/fusion/tuple/detail/tuple_fwd.hpp deleted file mode 100644 index ef6bdfe8b..000000000 --- a/external/boost/fusion/tuple/detail/tuple_fwd.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TUPLE_FORWARD_10032005_0956) -#define FUSION_TUPLE_FORWARD_10032005_0956 - -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - > - struct tuple; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif - diff --git a/external/boost/fusion/tuple/detail/tuple_tie.hpp b/external/boost/fusion/tuple/detail/tuple_tie.hpp deleted file mode 100644 index b650d1cc1..000000000 --- a/external/boost/fusion/tuple/detail/tuple_tie.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_PP_IS_ITERATING -#if !defined(FUSION_TUPLE_TIE_10032005_0846) -#define FUSION_TUPLE_TIE_10032005_0846 - -#include -#include -#include -#include -#include - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple_tie" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) - { - return tuple( - BOOST_PP_ENUM_PARAMS(N, arg)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/external/boost/fusion/tuple/make_tuple.hpp b/external/boost/fusion/tuple/make_tuple.hpp deleted file mode 100644 index e5cbb3b2a..000000000 --- a/external/boost/fusion/tuple/make_tuple.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_MAKE_TUPLE_14122014_0048 -#define FUSION_MAKE_TUPLE_14122014_0048 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline tuple::type - >::type - >::type...> - make_tuple(T&&... arg) - { - typedef tuple::type - >::type - >::type...> result_type; - return result_type(std::forward(arg)...); - } -}} - -#endif -#endif - diff --git a/external/boost/fusion/tuple/tuple.hpp b/external/boost/fusion/tuple/tuple.hpp deleted file mode 100644 index 16b855113..000000000 --- a/external/boost/fusion/tuple/tuple.hpp +++ /dev/null @@ -1,127 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_TUPLE_14122014_0102 -#define FUSION_TUPLE_14122014_0102 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - template - struct tuple - : vector_detail::vector_data< - typename detail::make_index_sequence::type - , T... - > - { - typedef vector_detail::vector_data< - typename detail::make_index_sequence::type - , T... - > base; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - BOOST_DEFAULTED_FUNCTION(tuple(), {}) - - template < - typename ...U - , typename = typename boost::enable_if_c< - sizeof...(U) >= sizeof...(T) - >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - tuple(tuple const& other) - : base(vector_detail::each_elem(), other) {} - - template < - typename ...U - , typename = typename boost::enable_if_c< - sizeof...(U) >= sizeof...(T) - >::type - > - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - tuple(tuple&& other) - : base(vector_detail::each_elem(), std::move(other)) {} - - template < - typename ...U - , typename = typename boost::enable_if_c<( - fusion::detail::and_...>::value && - sizeof...(U) >= 1 - )>::type - > - /*BOOST_CONSTEXPR*/ BOOST_FUSION_GPU_ENABLED - explicit - tuple(U&&... args) - : base(vector_detail::each_elem(), std::forward(args)...) {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& other) - : base(vector_detail::each_elem(), other.first, other.second) {} - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - tuple(std::pair&& other) - : base(vector_detail::each_elem(), std::move(other.first), std::move(other.second)) {} - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - tuple& operator=(U&& rhs) - { - base::assign_sequence(std::forward(rhs)); - return *this; - } - }; - - template - struct tuple_size : result_of::size {}; - - template - struct tuple_element : result_of::value_at_c {}; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple& tup) - { - return at_c(tup); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} - -#endif -#endif - diff --git a/external/boost/fusion/tuple/tuple_fwd.hpp b/external/boost/fusion/tuple/tuple_fwd.hpp deleted file mode 100644 index b763acd52..000000000 --- a/external/boost/fusion/tuple/tuple_fwd.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2014-2015 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_TUPLE_FORWARD_14122014_0051 -#define FUSION_TUPLE_FORWARD_14122014_0051 - -#include -#include -#include - -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) \ - || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -# if defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) -# undef BOOST_FUSION_HAS_VARIADIC_TUPLE -# endif -#else -# if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) -# define BOOST_FUSION_HAS_VARIADIC_TUPLE -# endif -#endif - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion -{ - template - struct tuple; -}} - -#endif -#endif - diff --git a/external/boost/fusion/tuple/tuple_tie.hpp b/external/boost/fusion/tuple/tuple_tie.hpp deleted file mode 100644 index a07dc0a43..000000000 --- a/external/boost/fusion/tuple/tuple_tie.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef FUSION_TUPLE_TIE_14122014_0115 -#define FUSION_TUPLE_TIE_14122014_0115 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// With no variadics, we will use the C++03 version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_TUPLE) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(T&... arg) - { - return tuple(arg...); - } -}} - -#endif -#endif - diff --git a/external/boost/fusion/view.hpp b/external/boost/fusion/view.hpp deleted file mode 100644 index 4cb49122d..000000000 --- a/external/boost/fusion/view.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_VIEW_10022005_0620) -#define FUSION_SEQUENCE_VIEW_10022005_0620 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/detail/strictest_traversal.hpp b/external/boost/fusion/view/detail/strictest_traversal.hpp deleted file mode 100644 index 4092ea4da..000000000 --- a/external/boost/fusion/view/detail/strictest_traversal.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_STRICTEST_TRAVERSAL_20060123_2101) -#define FUSION_STRICTEST_TRAVERSAL_20060123_2101 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct forward_traversal_tag; - struct bidirectional_traversal_tag; - struct random_access_traversal_tag; - - namespace detail - { - template::value> - struct stricter_traversal - { - typedef Tag1 type; - }; - - template - struct stricter_traversal - { - typedef Tag2 type; - }; - - struct strictest_traversal_impl - { - template - struct result; - - template - struct result - { - typedef typename remove_reference::type next_value; - typedef typename remove_reference::type strictest_so_far; - - typedef strictest_so_far tag1; - typedef typename traits::category_of::type tag2; - - typedef typename stricter_traversal::type type; - }; - - // never called, but needed for decltype-based result_of (C++0x) -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(StrictestSoFar&&, Next&&) const; -#endif - }; - - template - struct strictest_traversal - : result_of::fold< - Sequence, fusion::random_access_traversal_tag, - strictest_traversal_impl> - {}; - - } -}} - -#endif diff --git a/external/boost/fusion/view/filter_view.hpp b/external/boost/fusion/view/filter_view.hpp deleted file mode 100644 index 2226026b6..000000000 --- a/external/boost/fusion/view/filter_view.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608) -#define FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/filter_view/detail/begin_impl.hpp b/external/boost/fusion/view/filter_view/detail/begin_impl.hpp deleted file mode 100644 index 3ce439a41..000000000 --- a/external/boost/fusion/view/filter_view/detail/begin_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_05062005_0903) -#define FUSION_BEGIN_IMPL_05062005_0903 - -namespace boost { namespace fusion -{ - struct filter_view_tag; - - template - struct filter_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - typedef typename Sequence::last_type last_type; - typedef typename Sequence::pred_type pred_type; - typedef typename Sequence::category category; - typedef filter_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.first()); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp b/external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp deleted file mode 100644 index e0d9a0edb..000000000 --- a/external/boost/fusion/view/filter_view/detail/deref_data_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename - result_of::deref_data::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref_data(it.first); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/filter_view/detail/deref_impl.hpp b/external/boost/fusion/view/filter_view/detail/deref_impl.hpp deleted file mode 100644 index d122dc537..000000000 --- a/external/boost/fusion/view/filter_view/detail/deref_impl.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_IMPL_05062005_0905) -#define FUSION_DEREF_IMPL_05062005_0905 - -#include -#include - -namespace boost { namespace fusion -{ - struct filter_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - : detail::adapt_deref_traits {}; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/filter_view/detail/end_impl.hpp b/external/boost/fusion/view/filter_view/detail/end_impl.hpp deleted file mode 100644 index 1a2a5ba48..000000000 --- a/external/boost/fusion/view/filter_view/detail/end_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_05062005_0906) -#define FUSION_END_IMPL_05062005_0906 - -namespace boost { namespace fusion -{ - struct filter_view_tag; - - template - struct filter_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last_type last_type; - typedef typename Sequence::pred_type pred_type; - typedef typename Sequence::category category; - typedef filter_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.last()); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp deleted file mode 100644 index 2836a2512..000000000 --- a/external/boost/fusion/view/filter_view/detail/equal_to_impl.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_EQUAL_TO_IMPL_02012005_2133) -#define BOOST_FUSION_EQUAL_TO_IMPL_02012005_2133 - -namespace boost { namespace fusion -{ - struct filter_view_iterator_tag; - - namespace extension - { - template - struct equal_to; - - template - struct equal_to_impl; - - template<> - struct equal_to_impl - { - template - struct apply - : result_of::equal_to - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/filter_view/detail/key_of_impl.hpp b/external/boost/fusion/view/filter_view/detail/key_of_impl.hpp deleted file mode 100644 index 4ab69a695..000000000 --- a/external/boost/fusion/view/filter_view/detail/key_of_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP -#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct key_of_impl; - - template <> - struct key_of_impl - { - template - struct apply - : result_of::key_of - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/filter_view/detail/next_impl.hpp b/external/boost/fusion/view/filter_view/detail/next_impl.hpp deleted file mode 100644 index 4f1745576..000000000 --- a/external/boost/fusion/view/filter_view/detail/next_impl.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_06052005_0900) -#define FUSION_NEXT_IMPL_06052005_0900 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct filter_view_iterator_tag; - - template - struct filter_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::last_type last_type; - typedef typename Iterator::pred_type pred_type; - typedef typename Iterator::category category; - - typedef typename - mpl::eval_if< - result_of::equal_to - , mpl::identity - , result_of::next - >::type - next_type; - - typedef typename - detail::static_find_if< - next_type - , last_type - , mpl::bind1< - typename mpl::lambda::type - , mpl::bind1,mpl::_1> - > - > - filter; - - typedef filter_iterator< - category, typename filter::type, last_type, pred_type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(filter::iter_call(i.first)); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/filter_view/detail/size_impl.hpp b/external/boost/fusion/view/filter_view/detail/size_impl.hpp deleted file mode 100644 index f6cf17cb3..000000000 --- a/external/boost/fusion/view/filter_view/detail/size_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SIZE_IMPL_09232005_1058) -#define FUSION_SIZE_IMPL_09232005_1058 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct filter_view_tag; - - namespace extension - { - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply - : result_of::distance< - typename result_of::begin::type - , typename result_of::end::type> - {}; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp b/external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp deleted file mode 100644 index a845ac2a5..000000000 --- a/external/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_data_impl; - - template <> - struct value_of_data_impl - { - template - struct apply - : result_of::value_of_data - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/filter_view/detail/value_of_impl.hpp b/external/boost/fusion/view/filter_view/detail/value_of_impl.hpp deleted file mode 100644 index b460a48bc..000000000 --- a/external/boost/fusion/view/filter_view/detail/value_of_impl.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_OF_IMPL_05062005_0857) -#define FUSION_VALUE_OF_IMPL_05062005_0857 - -#include -#include - -namespace boost { namespace fusion -{ - struct filter_view_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - : detail::adapt_value_traits {}; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/filter_view/filter_view.hpp b/external/boost/fusion/view/filter_view/filter_view.hpp deleted file mode 100644 index db61cad60..000000000 --- a/external/boost/fusion/view/filter_view/filter_view.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_FILTER_VIEW_HPP) -#define FUSION_SEQUENCE_FILTER_VIEW_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct filter_view_tag; - struct forward_traversal_tag; - struct fusion_sequence_tag; - - template - struct filter_view : sequence_base > - { - typedef filter_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef typename - mpl::eval_if< - traits::is_associative - , mpl::inherit2 - , mpl::identity - >::type - category; - typedef mpl::true_ is_view; - - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - typedef Pred pred_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - filter_view(Sequence& in_seq) - : seq(in_seq) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - first_type first() const { return fusion::begin(seq); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - last_type last() const { return fusion::end(seq); } - typename mpl::if_, Sequence, Sequence&>::type seq; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - filter_view& operator= (filter_view const&); - }; -}} - -#endif - - diff --git a/external/boost/fusion/view/filter_view/filter_view_iterator.hpp b/external/boost/fusion/view/filter_view/filter_view_iterator.hpp deleted file mode 100644 index f1b9f54de..000000000 --- a/external/boost/fusion/view/filter_view/filter_view_iterator.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_FILTER_VIEW_ITERATOR_05062005_0849) -#define FUSION_FILTER_VIEW_ITERATOR_05062005_0849 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct filter_view_iterator_tag; - struct forward_traversal_tag; - - template - struct filter_iterator : iterator_base > - { - typedef convert_iterator first_converter; - typedef typename first_converter::type first_iter; - typedef convert_iterator last_converter; - typedef typename last_converter::type last_iter; - - typedef filter_view_iterator_tag fusion_tag; - typedef Category category; - typedef - detail::static_find_if< - first_iter - , last_iter - , mpl::bind1< - typename mpl::lambda::type - , mpl::bind1,mpl::_1> - > - > - filter; - typedef typename filter::type first_type; - typedef last_iter last_type; - typedef Pred pred_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - filter_iterator(First const& in_first) - : first(filter::iter_call(first_converter::call(in_first))) {} - - first_type first; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - filter_iterator& operator= (filter_iterator const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::filter_iterator > - { }; -} -#endif - -#endif - - diff --git a/external/boost/fusion/view/flatten_view.hpp b/external/boost/fusion/view/flatten_view.hpp deleted file mode 100644 index 25428544d..000000000 --- a/external/boost/fusion/view/flatten_view.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================== - Copyright (c) 2013 Jamboree - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED -#define BOOST_FUSION_SEQUENCE_FLATTEN_VIEW_HPP_INCLUDED - - -#include -#include - - -#endif diff --git a/external/boost/fusion/view/flatten_view/flatten_view.hpp b/external/boost/fusion/view/flatten_view/flatten_view.hpp deleted file mode 100644 index 401f65dc8..000000000 --- a/external/boost/fusion/view/flatten_view/flatten_view.hpp +++ /dev/null @@ -1,133 +0,0 @@ -/*============================================================================== - Copyright (c) 2013 Jamboree - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_FLATTEN_VIEW_HPP_INCLUDED -#define BOOST_FUSION_FLATTEN_VIEW_HPP_INCLUDED - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace fusion -{ - struct forward_traversal_tag; - struct flatten_view_tag; - - template - struct flatten_view - : sequence_base > - { - typedef flatten_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - typedef forward_traversal_tag category; - - typedef Sequence sequence_type; - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit flatten_view(Sequence& seq) - : seq(seq) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - first_type first() const { return fusion::begin(seq); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - last_type last() const { return fusion::end(seq); } - - typename mpl::if_, Sequence, Sequence&>::type seq; - }; -}} - -namespace boost { namespace fusion { namespace extension -{ - template<> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - - typedef typename - result_of::begin< - mpl::single_view< - typename Sequence::sequence_type> >::type - root_iterator; - - typedef - detail::seek_descent - seek_descent; - - typedef typename seek_descent::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline - type call(Sequence& seq) - { - return seek_descent::apply(root_iterator(), seq.first()); - } - }; - }; - - template<> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last_type last_type; - - typedef typename - result_of::end< - mpl::single_view< - typename Sequence::sequence_type> >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline - type call(Sequence&) - { - return type(); - } - }; - }; - - template<> - struct size_impl - { - template - struct apply - : result_of::distance - < - typename result_of::begin::type - , typename result_of::end::type - > - {}; - }; - - template<> - struct empty_impl - { - template - struct apply - : result_of::empty - {}; - }; -}}} - - -#endif diff --git a/external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp b/external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp deleted file mode 100644 index be115d910..000000000 --- a/external/boost/fusion/view/flatten_view/flatten_view_iterator.hpp +++ /dev/null @@ -1,218 +0,0 @@ -/*============================================================================== - Copyright (c) 2013 Jamboree - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_FLATTEN_VIEW_ITERATOR_HPP_INCLUDED -#define BOOST_FUSION_FLATTEN_VIEW_ITERATOR_HPP_INCLUDED - - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace fusion -{ - struct forward_traversal_tag; - struct flatten_view_iterator_tag; - - template - struct flatten_view_iterator - : iterator_base > - { - typedef flatten_view_iterator_tag fusion_tag; - typedef forward_traversal_tag category; - - typedef convert_iterator first_converter; - typedef typename first_converter::type first_type; - typedef Base base_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - flatten_view_iterator(First const& first, Base const& base) - : first(first), base(base) - {} - - first_type first; - base_type base; - }; -}} - -namespace boost { namespace fusion { namespace detail -{ - template - struct make_descent_cons - { - typedef cons type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type apply(Iterator const& it) - { - return type(it); - } - }; - - template - struct make_descent_cons::type> >::type> - { - // we use 'value_of' above for convenience, assuming the value won't be reference, - // while we must use the regular 'deref' here for const issues... - typedef typename - remove_reference::type>::type - sub_sequence; - - typedef typename - result_of::begin::type - sub_begin; - - typedef cons::type> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type apply(Iterator const& it) - { - return type(it, make_descent_cons::apply( - fusion::begin(*it))); - } - }; - - template - struct build_flatten_view_iterator; - - template - struct build_flatten_view_iterator, Base> - { - typedef flatten_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type apply(cons const& cons, Base const& base) - { - return type(cons.car, base); - } - }; - - template - struct build_flatten_view_iterator, Base> - { - typedef flatten_view_iterator next_base; - typedef build_flatten_view_iterator next; - typedef typename next::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type apply(cons const& cons, Base const& base) - { - return next::apply(cons.cdr, next_base(cons.car, base)); - } - }; - - template - struct seek_descent - { - typedef make_descent_cons make_descent_cons_; - typedef typename make_descent_cons_::type cons_type; - typedef - build_flatten_view_iterator - build_flatten_view_iterator_; - typedef typename build_flatten_view_iterator_::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type apply(Base const& base, Iterator const& it) - { - return build_flatten_view_iterator_::apply( - make_descent_cons_::apply(it), base); - } - }; - - template - struct seek_descent::type>::type> >::type> - { - typedef typename result_of::next::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline type apply(Base const& base, Iterator const&) - { - return fusion::next(base); - } - }; -}}} - -namespace boost { namespace fusion { namespace extension -{ - template<> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::base_type base_type; - typedef typename result_of::next::type next_type; - - typedef detail::seek_descent seek_descent; - typedef typename seek_descent::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline - type call(Iterator const& it) - { - return seek_descent::apply(it.base, fusion::next(it.first)); - } - }; - }; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static inline - type call(Iterator const& it) - { - return *it.first; - } - }; - }; - - template<> - struct value_of_impl - { - template - struct apply - { - typedef typename - result_of::value_of::type - type; - }; - }; -}}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::flatten_view_iterator > - { }; -} -#endif - - -#endif - diff --git a/external/boost/fusion/view/iterator_range.hpp b/external/boost/fusion/view/iterator_range.hpp deleted file mode 100644 index 78d6ffad9..000000000 --- a/external/boost/fusion/view/iterator_range.hpp +++ /dev/null @@ -1,13 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610) -#define FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610 - -#include -#include - -#endif diff --git a/external/boost/fusion/view/iterator_range/detail/at_impl.hpp b/external/boost/fusion/view/iterator_range/detail/at_impl.hpp deleted file mode 100644 index 20f175831..000000000 --- a/external/boost/fusion/view/iterator_range/detail/at_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_ITERATOR_RANGE_AT_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef typename Seq::begin_type begin_type; - typedef typename result_of::advance::type pos; - typedef typename result_of::deref::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& s) - { - return * fusion::advance(s.first); - } - }; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/view/iterator_range/detail/begin_impl.hpp b/external/boost/fusion/view/iterator_range/detail/begin_impl.hpp deleted file mode 100644 index 7e00dec09..000000000 --- a/external/boost/fusion/view/iterator_range/detail/begin_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_05062005_1226) -#define FUSION_BEGIN_IMPL_05062005_1226 - -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::begin_type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return s.first; - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/iterator_range/detail/end_impl.hpp b/external/boost/fusion/view/iterator_range/detail/end_impl.hpp deleted file mode 100644 index b76aa91cd..000000000 --- a/external/boost/fusion/view/iterator_range/detail/end_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_05062005_1226) -#define FUSION_END_IMPL_05062005_1226 - -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::end_type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return s.last; - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp b/external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp deleted file mode 100644 index 88f4358bd..000000000 --- a/external/boost/fusion/view/iterator_range/detail/is_segmented_impl.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED) -#define BOOST_FUSION_ITERATOR_RANGE_IS_SEGMENTED_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - template - struct segmented_iterator; - - namespace extension - { - template - struct is_segmented_impl; - - // An iterator_range of segmented_iterators is segmented - template <> - struct is_segmented_impl - { - private: - template - struct is_segmented_iterator - : mpl::false_ - {}; - - template - struct is_segmented_iterator - : is_segmented_iterator - {}; - - template - struct is_segmented_iterator - : is_segmented_iterator - {}; - - template - struct is_segmented_iterator > - : mpl::true_ - {}; - - public: - template - struct apply - : is_segmented_iterator - { - BOOST_MPL_ASSERT_RELATION( - is_segmented_iterator::value - , == - , is_segmented_iterator::value); - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp b/external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp deleted file mode 100644 index 4b2c11ebe..000000000 --- a/external/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp +++ /dev/null @@ -1,556 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Invariants: -// - Each segmented iterator has a stack -// - Each value in the stack is an iterator range -// - The range at the top of the stack points to values -// - All other ranges point to ranges -// - The front of each range in the stack (besides the -// topmost) is the range above it - -namespace boost { namespace fusion -{ - template - struct iterator_range; - - namespace result_of - { - template - struct push_back; - - template - struct push_front; - } - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::push_back - >::type - push_back(Sequence const& seq, T const& x); - - template - BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline typename - lazy_enable_if< - traits::is_sequence - , result_of::push_front - >::type - push_front(Sequence const& seq, T const& x); -}} - -namespace boost { namespace fusion { namespace detail -{ - //auto make_segment_sequence_front(stack_begin) - //{ - // switch (size(stack_begin)) - // { - // case 1: - // return nil_; - // case 2: - // // car(cdr(stack_begin)) is a range over values. - // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); - // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); - // default: - // // car(cdr(stack_begin)) is a range over segments. We replace the - // // front with a view that is restricted. - // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); - // return segment_sequence( - // push_front( - // // The following could be a segment_sequence. It then gets wrapped - // // in a single_view, and push_front puts it in a join_view with the - // // following iterator_range. - // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), - // make_segment_sequence_front(cdr(stack_begin)))); - // } - //} - - template - struct make_segment_sequence_front - { - // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); - BOOST_MPL_ASSERT(( - result_of::equal_to< - typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::segments< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - >::type - >::type - >::type - , typename Stack::cdr_type::car_type::end_type - >)); - - typedef - iterator_range< - typename result_of::next< - typename Stack::cdr_type::car_type::begin_type - >::type - , typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::segments< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - >::type - >::type - >::type - > - rest_type; - - typedef - make_segment_sequence_front - recurse; - - typedef - segment_sequence< - typename result_of::push_front< - rest_type const - , typename recurse::type - >::type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const& stack) - { - //return segment_sequence( - // push_front( - // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), - // make_segment_sequence_front(cdr(stack_begin)))); - return type( - fusion::push_front( - rest_type(fusion::next(stack.cdr.car.first), fusion::end(fusion::segments(*stack.car.first))) - , recurse::call(stack.cdr))); - } - }; - - template - struct make_segment_sequence_front - { - // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); - BOOST_MPL_ASSERT(( - result_of::equal_to< - typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - , typename Stack::cdr_type::car_type::end_type - >)); - - typedef - iterator_range< - typename Stack::cdr_type::car_type::begin_type - , typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const& stack) - { - // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); - return type(stack.cdr.car.first, fusion::end(*stack.car.first)); - } - }; - - template - struct make_segment_sequence_front - { - typedef typename Stack::cdr_type type; // nil_ - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const &stack) - { - return stack.cdr; - } - }; - - //auto make_segment_sequence_back(stack_end) - //{ - // switch (size(stack_end)) - // { - // case 1: - // return nil_; - // case 2: - // // car(cdr(stack_back)) is a range over values. - // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); - // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); - // default: - // // car(cdr(stack_begin)) is a range over segments. We replace the - // // back with a view that is restricted. - // assert(end(segments(front(car(stack_end)))) == end(car(cdr(stack_end)))); - // return segment_sequence( - // push_back( - // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), - // make_segment_sequence_back(cdr(stack_end)))); - // } - //} - - template - struct make_segment_sequence_back - { - // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); - BOOST_MPL_ASSERT(( - result_of::equal_to< - typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::segments< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - >::type - >::type - >::type - , typename Stack::cdr_type::car_type::end_type - >)); - - typedef - iterator_range< - typename result_of::begin< - typename remove_reference< - typename add_const< - typename result_of::segments< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - >::type - >::type - >::type - , typename Stack::cdr_type::car_type::begin_type - > - rest_type; - - typedef - make_segment_sequence_back - recurse; - - typedef - segment_sequence< - typename result_of::push_back< - rest_type const - , typename recurse::type - >::type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const& stack) - { - // return segment_sequence( - // push_back( - // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), - // make_segment_sequence_back(cdr(stack_end)))); - return type( - fusion::push_back( - rest_type(fusion::begin(fusion::segments(*stack.car.first)), stack.cdr.car.first) - , recurse::call(stack.cdr))); - } - }; - - template - struct make_segment_sequence_back - { - // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); - BOOST_MPL_ASSERT(( - result_of::equal_to< - typename result_of::end< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - , typename Stack::cdr_type::car_type::end_type - >)); - - typedef - iterator_range< - typename result_of::begin< - typename remove_reference< - typename add_const< - typename result_of::deref< - typename Stack::car_type::begin_type - >::type - >::type - >::type - >::type - , typename Stack::cdr_type::car_type::begin_type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const& stack) - { - // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); - return type(fusion::begin(*stack.car.first), stack.cdr.car.first); - } - }; - - template - struct make_segment_sequence_back - { - typedef typename Stack::cdr_type type; // nil_ - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Stack const& stack) - { - return stack.cdr; - } - }; - - //auto make_segmented_range_reduce(stack_begin, stack_end) - //{ - // if (size(stack_begin) == 1 && size(stack_end) == 1) - // { - // return segment_sequence( - // single_view( - // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); - // } - // else - // { - // // We are in the case where both begin_stack and/or end_stack have - // // more than one element. Throw away any part of the tree where - // // begin and end refer to the same segment. - // if (begin(car(stack_begin)) == begin(car(stack_end))) - // { - // return make_segmented_range_reduce(cdr(stack_begin), cdr(stack_end)); - // } - // else - // { - // // We are in the case where begin_stack and end_stack (a) have - // // more than one element each, and (b) they point to different - // // segments. We must construct a segmented sequence. - // return segment_sequence( - // push_back( - // push_front( - // iterator_range( - // fusion::next(begin(car(stack_begin))), - // begin(car(stack_end))), // a range of (possibly segmented) ranges. - // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. - // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. - // } - // } - //} - - template < - typename StackBegin - , typename StackEnd - , int StackBeginSize = StackBegin::size::value - , int StackEndSize = StackEnd::size::value> - struct make_segmented_range_reduce; - - template < - typename StackBegin - , typename StackEnd - , bool SameSegment -#if !(BOOST_WORKAROUND(BOOST_GCC, >= 40000) && BOOST_WORKAROUND(BOOST_GCC, < 40200)) - = result_of::equal_to< - typename StackBegin::car_type::begin_type - , typename StackEnd::car_type::begin_type - >::type::value -#endif - > - struct make_segmented_range_reduce2 - { - typedef - iterator_range< - typename result_of::next< - typename StackBegin::car_type::begin_type - >::type - , typename StackEnd::car_type::begin_type - > - rest_type; - - typedef - segment_sequence< - typename result_of::push_back< - typename result_of::push_front< - rest_type const - , typename make_segment_sequence_front::type - >::type const - , typename make_segment_sequence_back::type - >::type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(StackBegin stack_begin, StackEnd stack_end) - { - //return segment_sequence( - // push_back( - // push_front( - // iterator_range( - // fusion::next(begin(car(stack_begin))), - // begin(car(stack_end))), // a range of (possibly segmented) ranges. - // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. - // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. - return type( - fusion::push_back( - fusion::push_front( - rest_type(fusion::next(stack_begin.car.first), stack_end.car.first) - , make_segment_sequence_front::call(stack_begin)) - , make_segment_sequence_back::call(stack_end))); - } - }; - - template - struct make_segmented_range_reduce2 - { - typedef - make_segmented_range_reduce< - typename StackBegin::cdr_type - , typename StackEnd::cdr_type - > - impl; - - typedef - typename impl::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(StackBegin stack_begin, StackEnd stack_end) - { - return impl::call(stack_begin.cdr, stack_end.cdr); - } - }; - - template - struct make_segmented_range_reduce - : make_segmented_range_reduce2= 40000) && BOOST_WORKAROUND(BOOST_GCC, < 40200) - , result_of::equal_to< - typename StackBegin::car_type::begin_type - , typename StackEnd::car_type::begin_type - >::type::value -#endif - > - {}; - - template - struct make_segmented_range_reduce - { - typedef - iterator_range< - typename StackBegin::car_type::begin_type - , typename StackEnd::car_type::begin_type - > - range_type; - - typedef - single_view - segment_type; - - typedef - segment_sequence - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(StackBegin stack_begin, StackEnd stack_end) - { - //return segment_sequence( - // single_view( - // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); - return type(segment_type(range_type(stack_begin.car.first, stack_end.car.first))); - } - }; - - //auto make_segmented_range(begin, end) - //{ - // return make_segmented_range_reduce(reverse(begin.context), reverse(end.context)); - //} - - template - struct make_segmented_range - { - typedef reverse_cons reverse_begin_cons; - typedef reverse_cons reverse_end_cons; - - typedef - make_segmented_range_reduce< - typename reverse_begin_cons::type - , typename reverse_end_cons::type - > - impl; - - typedef typename impl::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Begin const& begin, End const& end) - { - return impl::call( - reverse_begin_cons::call(begin.context) - , reverse_end_cons::call(end.context)); - } - }; - -}}} - -#endif diff --git a/external/boost/fusion/view/iterator_range/detail/segments_impl.hpp b/external/boost/fusion/view/iterator_range/detail/segments_impl.hpp deleted file mode 100644 index bbf4c45ad..000000000 --- a/external/boost/fusion/view/iterator_range/detail/segments_impl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED) -#define BOOST_FUSION_ITERATOR_RANGE_SEGMENTS_HPP_INCLUDED - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct segments_impl; - - template <> - struct segments_impl - { - template - struct apply - { - typedef - detail::make_segmented_range< - typename Sequence::begin_type - , typename Sequence::end_type - > - impl; - - BOOST_MPL_ASSERT((traits::is_segmented)); - - typedef - typename result_of::segments::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence & seq) - { - return fusion::segments(impl::call(seq.first, seq.last)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/iterator_range/detail/size_impl.hpp b/external/boost/fusion/view/iterator_range/detail/size_impl.hpp deleted file mode 100644 index 0678e5dde..000000000 --- a/external/boost/fusion/view/iterator_range/detail/size_impl.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED - -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply - : result_of::distance< - typename Seq::begin_type, - typename Seq::end_type - > - {}; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp b/external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp deleted file mode 100644 index 652b8da19..000000000 --- a/external/boost/fusion/view/iterator_range/detail/value_at_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_ITERATOR_RANGE_VALUE_AT_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename Seq::begin_type begin_type; - typedef typename result_of::advance::type pos; - typedef typename result_of::value_of::type type; - }; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/view/iterator_range/iterator_range.hpp b/external/boost/fusion/view/iterator_range/iterator_range.hpp deleted file mode 100644 index 272abcd91..000000000 --- a/external/boost/fusion/view/iterator_range/iterator_range.hpp +++ /dev/null @@ -1,63 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ITERATOR_RANGE_05062005_1224) -#define FUSION_ITERATOR_RANGE_05062005_1224 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - struct iterator_range_tag; - struct fusion_sequence_tag; - - template - struct iterator_range : sequence_base > - { - typedef typename convert_iterator::type begin_type; - typedef typename convert_iterator::type end_type; - typedef iterator_range_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - - typedef typename traits::category_of::type category; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - iterator_range(First const& in_first, Last const& in_last) - : first(convert_iterator::call(in_first)) - , last(convert_iterator::call(in_last)) {} - - begin_type first; - end_type last; - }; -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - - diff --git a/external/boost/fusion/view/joint_view.hpp b/external/boost/fusion/view/joint_view.hpp deleted file mode 100644 index 58be4b862..000000000 --- a/external/boost/fusion/view/joint_view.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610) -#define FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/joint_view/detail/begin_impl.hpp b/external/boost/fusion/view/joint_view/detail/begin_impl.hpp deleted file mode 100644 index b7a961a7f..000000000 --- a/external/boost/fusion/view/joint_view/detail/begin_impl.hpp +++ /dev/null @@ -1,71 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_07162005_0115) -#define FUSION_BEGIN_IMPL_07162005_0115 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_tag; - - template - struct joint_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - typedef typename Sequence::last_type last_type; - typedef typename Sequence::concat_type concat_type; - typedef typename Sequence::category category; - typedef result_of::equal_to equal_to; - - typedef typename - mpl::if_< - equal_to - , concat_type - , joint_view_iterator - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s, mpl::true_) - { - return s.concat(); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s, mpl::false_) - { - return type(s.first(), s.concat()); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return call(s, equal_to()); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp b/external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp deleted file mode 100644 index 2d5f8317e..000000000 --- a/external/boost/fusion/view/joint_view/detail/deref_data_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename - result_of::deref_data::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref_data(it.first); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/joint_view/detail/deref_impl.hpp b/external/boost/fusion/view/joint_view/detail/deref_impl.hpp deleted file mode 100644 index 0e1e39fff..000000000 --- a/external/boost/fusion/view/joint_view/detail/deref_impl.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_IMPL_07162005_0137) -#define FUSION_DEREF_IMPL_07162005_0137 - -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - : detail::adapt_deref_traits {}; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/joint_view/detail/end_impl.hpp b/external/boost/fusion/view/joint_view/detail/end_impl.hpp deleted file mode 100644 index 0b4b9b0ab..000000000 --- a/external/boost/fusion/view/joint_view/detail/end_impl.hpp +++ /dev/null @@ -1,42 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_07162005_0128) -#define FUSION_END_IMPL_07162005_0128 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_tag; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::concat_last_type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return s.concat_last(); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/joint_view/detail/key_of_impl.hpp b/external/boost/fusion/view/joint_view/detail/key_of_impl.hpp deleted file mode 100644 index ec682f614..000000000 --- a/external/boost/fusion/view/joint_view/detail/key_of_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP -#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct key_of_impl; - - template <> - struct key_of_impl - { - template - struct apply - : result_of::key_of - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/joint_view/detail/next_impl.hpp b/external/boost/fusion/view/joint_view/detail/next_impl.hpp deleted file mode 100644 index a7d18757d..000000000 --- a/external/boost/fusion/view/joint_view/detail/next_impl.hpp +++ /dev/null @@ -1,75 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_07162005_0136) -#define FUSION_NEXT_IMPL_07162005_0136 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_iterator_tag; - - template - struct joint_view_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::last_type last_type; - typedef typename Iterator::concat_type concat_type; - typedef typename Iterator::category category; - typedef typename result_of::next::type next_type; - typedef result_of::equal_to equal_to; - - typedef typename - mpl::if_< - equal_to - , concat_type - , joint_view_iterator - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i, mpl::true_) - { - return i.concat; - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i, mpl::false_) - { - return type(fusion::next(i.first), i.concat); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return call(i, equal_to()); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp b/external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp deleted file mode 100644 index f797135b3..000000000 --- a/external/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_data_impl; - - template <> - struct value_of_data_impl - { - template - struct apply - : result_of::value_of_data - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/joint_view/detail/value_of_impl.hpp b/external/boost/fusion/view/joint_view/detail/value_of_impl.hpp deleted file mode 100644 index f058a60cb..000000000 --- a/external/boost/fusion/view/joint_view/detail/value_of_impl.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_IMPL_07162005_0132) -#define FUSION_VALUE_IMPL_07162005_0132 - -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - : detail::adapt_value_traits {}; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/joint_view/joint_view.hpp b/external/boost/fusion/view/joint_view/joint_view.hpp deleted file mode 100644 index 676cbc54d..000000000 --- a/external/boost/fusion/view/joint_view/joint_view.hpp +++ /dev/null @@ -1,83 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_JOINT_VIEW_07162005_0140) -#define FUSION_JOINT_VIEW_07162005_0140 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_tag; - struct forward_traversal_tag; - struct fusion_sequence_tag; - - template - struct joint_view : sequence_base > - { - typedef joint_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef typename - mpl::eval_if< - mpl::and_< - traits::is_associative - , traits::is_associative - > - , mpl::inherit2 - , mpl::identity - >::type - category; - typedef mpl::true_ is_view; - - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - typedef typename result_of::begin::type concat_type; - typedef typename result_of::end::type concat_last_type; - typedef typename mpl::int_< - result_of::size::value + result_of::size::value> - size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - joint_view(Sequence1& in_seq1, Sequence2& in_seq2) - : seq1(in_seq1) - , seq2(in_seq2) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - first_type first() const { return fusion::begin(seq1); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - concat_type concat() const { return fusion::begin(seq2); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - concat_last_type concat_last() const { return fusion::end(seq2); } - - private: - // silence MSVC warning C4512: assignment operator could not be generated - joint_view& operator= (joint_view const&); - - typename mpl::if_, Sequence1, Sequence1&>::type seq1; - typename mpl::if_, Sequence2, Sequence2&>::type seq2; - }; -}} - -#endif - - diff --git a/external/boost/fusion/view/joint_view/joint_view_fwd.hpp b/external/boost/fusion/view/joint_view/joint_view_fwd.hpp deleted file mode 100644 index c3e3b45e8..000000000 --- a/external/boost/fusion/view/joint_view/joint_view_fwd.hpp +++ /dev/null @@ -1,18 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_JOINT_VIEW_FWD_HPP_INCLUDED) -#define BOOST_FUSION_JOINT_VIEW_FWD_HPP_INCLUDED - -namespace boost { namespace fusion -{ - struct joint_view_tag; - - template - struct joint_view; -}} - -#endif diff --git a/external/boost/fusion/view/joint_view/joint_view_iterator.hpp b/external/boost/fusion/view/joint_view/joint_view_iterator.hpp deleted file mode 100644 index ddd1341ee..000000000 --- a/external/boost/fusion/view/joint_view/joint_view_iterator.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_JOINT_VIEW_ITERATOR_07162005_0140) -#define FUSION_JOINT_VIEW_ITERATOR_07162005_0140 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct joint_view_iterator_tag; - struct forward_traversal_tag; - - template - struct joint_view_iterator - : iterator_base > - { - typedef convert_iterator first_converter; - typedef convert_iterator last_converter; - typedef convert_iterator concat_converter; - - typedef typename first_converter::type first_type; - typedef typename last_converter::type last_type; - typedef typename concat_converter::type concat_type; - - typedef joint_view_iterator_tag fusion_tag; - typedef Category category; - BOOST_STATIC_ASSERT((!result_of::equal_to::value)); - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - joint_view_iterator(First const& in_first, Concat const& in_concat) - : first(first_converter::call(in_first)) - , concat(concat_converter::call(in_concat)) - {} - - first_type first; - concat_type concat; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - joint_view_iterator& operator= (joint_view_iterator const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::joint_view_iterator > - { }; -} -#endif - -#endif - - diff --git a/external/boost/fusion/view/nview.hpp b/external/boost/fusion/view/nview.hpp deleted file mode 100644 index b8b51cee1..000000000 --- a/external/boost/fusion/view/nview.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NVIEW_SEP_23_2009_1107PM) -#define FUSION_NVIEW_SEP_23_2009_1107PM - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/nview/detail/advance_impl.hpp b/external/boost/fusion/view/nview/detail/advance_impl.hpp deleted file mode 100644 index c46414337..000000000 --- a/external/boost/fusion/view/nview/detail/advance_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM) -#define BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first_type iterator_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef nview_iterator::type> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/nview/detail/at_impl.hpp b/external/boost/fusion/view/nview/detail/at_impl.hpp deleted file mode 100644 index 9f8c16370..000000000 --- a/external/boost/fusion/view/nview/detail/at_impl.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM) -#define BOOST_FUSION_NVIEW_AT_IMPL_SEP_24_2009_0225PM - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Sequence::sequence_type sequence_type; - typedef typename Sequence::index_type index_type; - - typedef typename result_of::value_at::type index; - typedef typename result_of::at::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return fusion::at(seq.seq); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/nview/detail/begin_impl.hpp b/external/boost/fusion/view/nview/detail/begin_impl.hpp deleted file mode 100644 index 99e6319ea..000000000 --- a/external/boost/fusion/view/nview/detail/begin_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM) -#define BOOST_FUSION_NVIEW_BEGIN_IMPL_SEP_23_2009_1036PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::index_type index_type; - - typedef nview_iterator::type> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& s) - { - return type(s); - } - }; - }; - } - -}} - -#endif - diff --git a/external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp b/external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp deleted file mode 100644 index 0bcea9bb9..000000000 --- a/external/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_PP_IS_ITERATING - -#if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) -#define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3, (1, FUSION_MAX_VECTOR_SIZE, \ - "boost/fusion/view/nview/detail/cpp03/nview_impl.hpp")) \ - /**/ - -/////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion { namespace result_of -{ - template - struct as_nview - { - typedef mpl::vector_c< - int, BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, I) - > index_type; - typedef nview type; - }; -}}} - -#include BOOST_PP_ITERATE() - -#endif - -/////////////////////////////////////////////////////////////////////////////// -// Preprocessor vertical repetition code -/////////////////////////////////////////////////////////////////////////////// -#else // defined(BOOST_PP_IS_ITERATING) - -#define N BOOST_PP_ITERATION() - -#if N < FUSION_MAX_VECTOR_SIZE -namespace boost { namespace fusion { namespace result_of -{ - template - struct as_nview - { - typedef mpl::vector_c index_type; - typedef nview type; - }; -}}} -#endif - -namespace boost { namespace fusion -{ - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline nview > - as_nview(Sequence& s) - { - typedef mpl::vector_c index_type; - return nview(s); - } - -}} - -#undef N - -#endif diff --git a/external/boost/fusion/view/nview/detail/deref_impl.hpp b/external/boost/fusion/view/nview/detail/deref_impl.hpp deleted file mode 100644 index 57654aa05..000000000 --- a/external/boost/fusion/view/nview/detail/deref_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM) -#define BOOST_FUSION_NVIEW_DEREF_IMPL_SEP_24_2009_0818AM - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef typename result_of::value_of::type index; - typedef typename result_of::at< - typename sequence_type::sequence_type, index>::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return at(i.seq.seq); - } - }; - }; - - } - -}} - -#endif - diff --git a/external/boost/fusion/view/nview/detail/distance_impl.hpp b/external/boost/fusion/view/nview/detail/distance_impl.hpp deleted file mode 100644 index a036300f7..000000000 --- a/external/boost/fusion/view/nview/detail/distance_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM) -#define BOOST_FUSION_NVIEW_DISTANCE_IMPL_SEP_23_2009_0328PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - : result_of::distance - { - typedef typename result_of::distance< - typename First::first_type, typename Last::first_type - >::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& /*first*/, Last const& /*last*/) - { - return type(); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/nview/detail/end_impl.hpp b/external/boost/fusion/view/nview/detail/end_impl.hpp deleted file mode 100644 index 810aea917..000000000 --- a/external/boost/fusion/view/nview/detail/end_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM) -#define BOOST_FUSION_NVIEW_END_IMPL_SEP_24_2009_0140PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct end_impl; - - // Unary Version - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::index_type index_type; - - typedef nview_iterator::type> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Sequence& s) - { - return type(s); - } - }; - }; - } - -}} - -#endif - - diff --git a/external/boost/fusion/view/nview/detail/equal_to_impl.hpp b/external/boost/fusion/view/nview/detail/equal_to_impl.hpp deleted file mode 100644 index 4b04788bb..000000000 --- a/external/boost/fusion/view/nview/detail/equal_to_impl.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM) -#define BOOST_FUSION_NVIEW_ITERATOR_SEP_24_2009_0329PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - namespace extension - { - template - struct equal_to_impl; - - template<> - struct equal_to_impl - { - template - struct apply - : result_of::equal_to - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/nview/detail/next_impl.hpp b/external/boost/fusion/view/nview/detail/next_impl.hpp deleted file mode 100644 index 821d9c376..000000000 --- a/external/boost/fusion/view/nview/detail/next_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM) -#define BOOST_FUSION_NVIEW_NEXT_IMPL_SEP_24_2009_0116PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef nview_iterator::type> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/nview/detail/nview_impl.hpp b/external/boost/fusion/view/nview/detail/nview_impl.hpp deleted file mode 100644 index 0c75a66af..000000000 --- a/external/boost/fusion/view/nview/detail/nview_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2014 Kohei Takahashi - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#ifndef BOOST_FUSION_NVIEW_IMPL_17122014_1948 -#define BOOST_FUSION_NVIEW_IMPL_17122014_1948 - -#include -#include - -/////////////////////////////////////////////////////////////////////////////// -// Without variadics, we will use the PP version -/////////////////////////////////////////////////////////////////////////////// -#if !defined(BOOST_FUSION_HAS_VARIADIC_VECTOR) -# include -#else - -/////////////////////////////////////////////////////////////////////////////// -// C++11 interface -/////////////////////////////////////////////////////////////////////////////// -#include -#include - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_nview - { - typedef vector...> index_type; - typedef nview type; - }; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline nview...> > - as_nview(Sequence& s) - { - typedef vector...> index_type; - return nview(s); - } -}} - -#endif -#endif - diff --git a/external/boost/fusion/view/nview/detail/prior_impl.hpp b/external/boost/fusion/view/nview/detail/prior_impl.hpp deleted file mode 100644 index 29b63f569..000000000 --- a/external/boost/fusion/view/nview/detail/prior_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM) -#define BOOST_FUSION_NVIEW_PRIOR_IMPL_SEP_24_2009_0142PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct prior_impl; - - template <> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef nview_iterator::type> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.seq); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/nview/detail/size_impl.hpp b/external/boost/fusion/view/nview/detail/size_impl.hpp deleted file mode 100644 index 57e676538..000000000 --- a/external/boost/fusion/view/nview/detail/size_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM) -#define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - namespace extension - { - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply - : result_of::distance< - typename result_of::begin::type - , typename result_of::end::type> - {}; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/nview/detail/value_at_impl.hpp b/external/boost/fusion/view/nview/detail/value_at_impl.hpp deleted file mode 100644 index 2afe9bee6..000000000 --- a/external/boost/fusion/view/nview/detail/value_at_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM) -#define BOOST_FUSION_NVIEW_VALUE_AT_IMPL_SEP_24_2009_0234PM - -#include -#include - -namespace boost { namespace fusion -{ - struct nview_tag; - - namespace extension - { - template - struct value_at_impl; - - template<> - struct value_at_impl - { - template - struct apply - { - typedef typename Sequence::sequence_type sequence_type; - typedef typename Sequence::index_type index_type; - - typedef typename result_of::at::type index; - typedef typename result_of::at::type type; - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/nview/detail/value_of_impl.hpp b/external/boost/fusion/view/nview/detail/value_of_impl.hpp deleted file mode 100644 index dc48e61ff..000000000 --- a/external/boost/fusion/view/nview/detail/value_of_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM) -#define BOOST_FUSION_VALUE_OF_PRIOR_IMPL_SEP_24_2009_0158PM - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - - template - struct nview_iterator; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename Iterator::sequence_type sequence_type; - - typedef typename result_of::deref::type index; - typedef typename result_of::at< - typename sequence_type::sequence_type, index>::type type; - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/nview/nview.hpp b/external/boost/fusion/view/nview/nview.hpp deleted file mode 100644 index e5a4be8ab..000000000 --- a/external/boost/fusion/view/nview/nview.hpp +++ /dev/null @@ -1,122 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_NVIEW_SEP_23_2009_0948PM) -#define BOOST_FUSION_NVIEW_SEP_23_2009_0948PM - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace fusion -{ - namespace detail - { - struct addref - { - template - struct result; - - template - struct result : add_reference {}; - -#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type - operator()(T& x) const - { - return x; - } -#else - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(T&& x) const - { - return x; - } -#endif - }; - - struct addconstref - { - template - struct result; - - template - struct result - : add_reference::type> - {}; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - operator()(T& x) const - { - return x; - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename add_reference::type>::type - operator()(T const& x) const - { - return x; - } - }; - } - - struct nview_tag; - struct random_access_traversal_tag; - struct fusion_sequence_tag; - - template - struct nview - : sequence_base > - { - typedef nview_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef random_access_traversal_tag category; - - typedef mpl::true_ is_view; - typedef Indicies index_type; - typedef typename result_of::size::type size; - - typedef typename mpl::if_< - is_const, detail::addconstref, detail::addref - >::type transform_type; - typedef transform_view transform_view_type; - typedef typename result_of::as_vector::type - sequence_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit nview(Sequence& val) - : seq(sequence_type(transform_view_type(val, transform_type()))) - {} - - sequence_type seq; - }; - -}} - -// define the nview() generator functions -#include - -#endif - - diff --git a/external/boost/fusion/view/nview/nview_iterator.hpp b/external/boost/fusion/view/nview/nview_iterator.hpp deleted file mode 100644 index 42e634e52..000000000 --- a/external/boost/fusion/view/nview/nview_iterator.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Hartmut Kaiser - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM) -#define BOOST_FUSION_NVIEW_ITERATOR_SEP_23_2009_0948PM - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct nview_iterator_tag; - struct random_access_traversal_tag; - - template - struct nview_iterator - : iterator_base > - { - typedef nview_iterator_tag fusion_tag; - typedef random_access_traversal_tag category; - - typedef Sequence sequence_type; - typedef Pos first_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit nview_iterator(Sequence& in_seq) - : seq(in_seq) {} - - Sequence& seq; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - nview_iterator& operator= (nview_iterator const&); - }; - -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::nview_iterator > - { }; -} -#endif - -#endif - - diff --git a/external/boost/fusion/view/repetitive_view.hpp b/external/boost/fusion/view/repetitive_view.hpp deleted file mode 100644 index abc2fda53..000000000 --- a/external/boost/fusion/view/repetitive_view.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED - -#include -#include -#include - -#endif - diff --git a/external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp deleted file mode 100644 index 9a27156c8..000000000 --- a/external/boost/fusion/view/repetitive_view/detail/begin_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_tag; - - template - struct repetitive_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef typename View::sequence_type sequence_type; - - typedef repetitive_view_iterator::type > type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(View const& v) - { - return type(v.seq); - } - }; - }; - - } - -}} - -#endif - diff --git a/external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp deleted file mode 100644 index c96ef5eba..000000000 --- a/external/boost/fusion/view/repetitive_view/detail/deref_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_DEREF_IMPL_HPP_INCLUDED - -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return *i.pos; - } - }; - }; - - } - -}} - -#endif - diff --git a/external/boost/fusion/view/repetitive_view/detail/end_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/end_impl.hpp deleted file mode 100644 index af1fa6ee4..000000000 --- a/external/boost/fusion/view/repetitive_view/detail/end_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_tag; - - template - struct repetitive_view_iterator; - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef typename View::sequence_type sequence_type; - - typedef repetitive_view_iterator::type > type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(View const& v) - { - return type(v.seq,end(v.seq)); - } - }; - }; - - } - -}} - -#endif - diff --git a/external/boost/fusion/view/repetitive_view/detail/next_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/next_impl.hpp deleted file mode 100644 index fab754081..000000000 --- a/external/boost/fusion/view/repetitive_view/detail/next_impl.hpp +++ /dev/null @@ -1,94 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_NEXT_IMPL_HPP_INCLUDED - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_iterator_tag; - - template - struct repetitive_view_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template::type>::value > - struct apply_nonempty // - { - // advanvce to next position - - typedef repetitive_view_iterator< - typename Iterator::sequence_type, - typename result_of::next::type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return type(i.seq, next(i.pos)); - } - }; - template - struct apply_nonempty - { - // reset to beginning - - typedef repetitive_view_iterator< - typename Iterator::sequence_type, - typename Iterator::first_type - > - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return type(i.seq); - } - }; - - template ::value > - struct apply // - : apply_nonempty - { }; - - template - struct apply - { - // eps^n = eps - - typedef Iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Iterator const& i) - { - return type(i); - } - }; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp b/external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp deleted file mode 100644 index 234c9fb7f..000000000 --- a/external/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_VALUE_OF_IMPL_HPP_INCLUDED - -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template<> - struct value_of_impl - { - template - struct apply - : result_of::value_of - { }; - }; - } -}} - -#endif - diff --git a/external/boost/fusion/view/repetitive_view/repetitive_view.hpp b/external/boost/fusion/view/repetitive_view/repetitive_view.hpp deleted file mode 100644 index 32718e047..000000000 --- a/external/boost/fusion/view/repetitive_view/repetitive_view.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED -#define BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED - -#include -#include -#include - -#include -#include - -#include -#include - - -namespace boost { namespace fusion -{ - struct repetitive_view_tag; - struct fusion_sequence_tag; - - template struct repetitive_view - : sequence_base< repetitive_view > - { - typedef repetitive_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - - typedef single_pass_traversal_tag category; - - typedef typename boost::remove_reference::type sequence_type; - typedef typename - mpl::if_, Sequence, sequence_type&>::type - stored_seq_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - repetitive_view(Sequence& in_seq) - : seq(in_seq) {} - - stored_seq_type seq; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - repetitive_view& operator= (repetitive_view const&); - }; - -}} - -#endif diff --git a/external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp b/external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp deleted file mode 100644 index 24e146c00..000000000 --- a/external/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp +++ /dev/null @@ -1,19 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_FWD_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_FWD_HPP_INCLUDED - -namespace boost { namespace fusion -{ - struct repetitive_view_tag; - - template struct repetitive_view; -}} - -#endif - diff --git a/external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp b/external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp deleted file mode 100644 index 74cc723e4..000000000 --- a/external/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 2007 Tobias Schwinger - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED -#define BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct repetitive_view_iterator_tag; - - template::type> - struct repetitive_view_iterator - : iterator_base< repetitive_view_iterator > - { - typedef repetitive_view_iterator_tag fusion_tag; - - typedef Sequence sequence_type; - typedef typename convert_iterator::type pos_type; - typedef typename convert_iterator::type>::type first_type; - typedef typename convert_iterator::type>::type end_type; - typedef single_pass_traversal_tag category; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit repetitive_view_iterator(Sequence& in_seq) - : seq(in_seq), pos(begin(in_seq)) {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - repetitive_view_iterator(Sequence& in_seq, pos_type const& in_pos) - : seq(in_seq), pos(in_pos) {} - - Sequence& seq; - pos_type pos; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - repetitive_view_iterator& operator= (repetitive_view_iterator const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::repetitive_view_iterator > - { }; -} -#endif - -#endif - diff --git a/external/boost/fusion/view/reverse_view.hpp b/external/boost/fusion/view/reverse_view.hpp deleted file mode 100644 index c0c1fd7c8..000000000 --- a/external/boost/fusion/view/reverse_view.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612) -#define FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/advance_impl.hpp b/external/boost/fusion/view/reverse_view/detail/advance_impl.hpp deleted file mode 100644 index 42b3bd190..000000000 --- a/external/boost/fusion/view/reverse_view/detail/advance_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADVANCE_IMPL_14122005_2015) -#define FUSION_ADVANCE_IMPL_14122005_2015 - -#include -#include -#include - -namespace boost { namespace fusion { - - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename mpl::negate::type negative_dist; - typedef typename result_of::advance::type advanced_type; - typedef reverse_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(boost::fusion::advance(i.first)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/at_impl.hpp b/external/boost/fusion/view/reverse_view/detail/at_impl.hpp deleted file mode 100644 index d1fc7715e..000000000 --- a/external/boost/fusion/view/reverse_view/detail/at_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP -#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_AT_IMPL_HPP - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct at_impl; - - template <> - struct at_impl - { - template - struct apply - { - typedef mpl::minus, N> real_n; - - typedef typename - result_of::at::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return fusion::at(seq.seq); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/begin_impl.hpp b/external/boost/fusion/view/reverse_view/detail/begin_impl.hpp deleted file mode 100644 index 913725ede..000000000 --- a/external/boost/fusion/view/reverse_view/detail/begin_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_07202005_0849) -#define FUSION_BEGIN_IMPL_07202005_0849 - -namespace boost { namespace fusion -{ - struct reverse_view_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef reverse_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& s) - { - return type(s.last()); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp b/external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp deleted file mode 100644 index e93b8fba9..000000000 --- a/external/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct deref_data_impl; - - template <> - struct deref_data_impl - { - template - struct apply - { - typedef typename - result_of::deref_data::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return fusion::deref_data(it.first); - } - }; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/deref_impl.hpp b/external/boost/fusion/view/reverse_view/detail/deref_impl.hpp deleted file mode 100644 index 9ea60d812..000000000 --- a/external/boost/fusion/view/reverse_view/detail/deref_impl.hpp +++ /dev/null @@ -1,50 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_IMPL_07202005_0851) -#define FUSION_DEREF_IMPL_07202005_0851 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref< - typename result_of::prior< - typename Iterator::first_type - >::type - >::type - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return *fusion::prior(i.first); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/reverse_view/detail/distance_impl.hpp b/external/boost/fusion/view/reverse_view/detail/distance_impl.hpp deleted file mode 100644 index 49436c26b..000000000 --- a/external/boost/fusion/view/reverse_view/detail/distance_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DISTANCE_IMPL_14122005_2104) -#define FUSION_DISTANCE_IMPL_14122005_2104 - -#include -#include - -namespace boost { namespace fusion { - - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - { - typedef typename First::first_type first_type; - typedef typename Last::first_type last_type; - typedef typename result_of::distance::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& first, Last const& last) - { - return boost::fusion::distance(last.first, first.first); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/end_impl.hpp b/external/boost/fusion/view/reverse_view/detail/end_impl.hpp deleted file mode 100644 index 06602c0ed..000000000 --- a/external/boost/fusion/view/reverse_view/detail/end_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_07202005_0851) -#define FUSION_END_IMPL_07202005_0851 - -namespace boost { namespace fusion -{ - struct reverse_view_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef reverse_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence const& s) - { - return type(s.first()); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp b/external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp deleted file mode 100644 index 985e5fa9c..000000000 --- a/external/boost/fusion/view/reverse_view/detail/key_of_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP -#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct key_of_impl; - - template <> - struct key_of_impl - { - template - struct apply - : result_of::key_of - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/next_impl.hpp b/external/boost/fusion/view/reverse_view/detail/next_impl.hpp deleted file mode 100644 index 58c1f5f71..000000000 --- a/external/boost/fusion/view/reverse_view/detail/next_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_07202005_0856) -#define FUSION_NEXT_IMPL_07202005_0856 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename prior_impl:: - template apply - wrapped; - - typedef reverse_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(wrapped::call(i.first)); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/reverse_view/detail/prior_impl.hpp b/external/boost/fusion/view/reverse_view/detail/prior_impl.hpp deleted file mode 100644 index 69d18501c..000000000 --- a/external/boost/fusion/view/reverse_view/detail/prior_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PRIOR_IMPL_07202005_0857) -#define FUSION_PRIOR_IMPL_07202005_0857 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator; - - namespace extension - { - template <> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename next_impl:: - template apply - wrapped; - - typedef reverse_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(wrapped::call(i.first)); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp b/external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp deleted file mode 100644 index 76465fd74..000000000 --- a/external/boost/fusion/view/reverse_view/detail/value_at_impl.hpp +++ /dev/null @@ -1,34 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP -#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_AT_IMPL_HPP - -#include -#include -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - : result_of::value_at< - typename Seq::seq_type - , mpl::minus, N> - > - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp b/external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp deleted file mode 100644 index a96d1ce36..000000000 --- a/external/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2009 Christopher Schmidt - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP -#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP - -#include -#include - -namespace boost { namespace fusion { namespace extension -{ - template - struct value_of_data_impl; - - template <> - struct value_of_data_impl - { - template - struct apply - : result_of::value_of_data - {}; - }; -}}} - -#endif diff --git a/external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp b/external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp deleted file mode 100644 index ea171ba95..000000000 --- a/external/boost/fusion/view/reverse_view/detail/value_of_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_OF_IMPL_07202005_0900) -#define FUSION_VALUE_OF_IMPL_07202005_0900 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename - result_of::value_of< - typename result_of::prior< - typename Iterator::first_type - >::type - >::type - type; - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/reverse_view/reverse_view.hpp b/external/boost/fusion/view/reverse_view/reverse_view.hpp deleted file mode 100644 index 0a9aca27f..000000000 --- a/external/boost/fusion/view/reverse_view/reverse_view.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REVERSE_VIEW_07202005_0836) -#define FUSION_REVERSE_VIEW_07202005_0836 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_tag; - struct fusion_sequence_tag; - - template - struct reverse_view : sequence_base > - { - typedef reverse_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - - typedef Sequence seq_type; - typedef typename traits::category_of::type category; - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - typedef typename result_of::size::type size; - - BOOST_STATIC_ASSERT(( - is_base_of< - bidirectional_traversal_tag - , typename traits::category_of::type>::value)); - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - reverse_view(Sequence& in_seq) - : seq(in_seq) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - first_type first() const { return fusion::begin(seq); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - last_type last() const { return fusion::end(seq); } - typename mpl::if_, Sequence, Sequence&>::type seq; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - reverse_view& operator= (reverse_view const&); - }; -}} - -#endif - - diff --git a/external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp b/external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp deleted file mode 100644 index a73e4eeaf..000000000 --- a/external/boost/fusion/view/reverse_view/reverse_view_iterator.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_REVERSE_VIEW_ITERATOR_07202005_0835) -#define FUSION_REVERSE_VIEW_ITERATOR_07202005_0835 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct reverse_view_iterator_tag; - - template - struct reverse_view_iterator - : iterator_base > - { - typedef convert_iterator converter; - typedef typename converter::type first_type; - typedef reverse_view_iterator_tag fusion_tag; - typedef typename traits::category_of::type category; - - BOOST_STATIC_ASSERT(( - is_base_of< - bidirectional_traversal_tag - , category>::value)); - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - reverse_view_iterator(First const& in_first) - : first(converter::call(in_first)) {} - - first_type first; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - reverse_view_iterator& operator= (reverse_view_iterator const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::reverse_view_iterator > - { }; -} -#endif - -#endif - diff --git a/external/boost/fusion/view/single_view.hpp b/external/boost/fusion/view/single_view.hpp deleted file mode 100644 index a3a3e9185..000000000 --- a/external/boost/fusion/view/single_view.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SINGLE_VIEW_03192006_2216) -#define FUSION_SINGLE_VIEW_03192006_2216 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/single_view/detail/advance_impl.hpp b/external/boost/fusion/view/single_view/detail/advance_impl.hpp deleted file mode 100644 index 5af22321b..000000000 --- a/external/boost/fusion/view/single_view/detail/advance_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef single_view_iterator< - typename Iterator::single_view_type, - typename mpl::plus::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.view); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/single_view/detail/at_impl.hpp b/external/boost/fusion/view/single_view/detail/at_impl.hpp deleted file mode 100644 index 6c4c7579b..000000000 --- a/external/boost/fusion/view/single_view/detail/at_impl.hpp +++ /dev/null @@ -1,46 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - BOOST_MPL_ASSERT((mpl::equal_to >)); - typedef typename Sequence::value_type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return seq.val; - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/single_view/detail/begin_impl.hpp b/external/boost/fusion/view/single_view/detail/begin_impl.hpp deleted file mode 100644 index d6bca8f6b..000000000 --- a/external/boost/fusion/view/single_view/detail/begin_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305) -#define BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305 - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef single_view_iterator > type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/single_view/detail/deref_impl.hpp b/external/boost/fusion/view/single_view/detail/deref_impl.hpp deleted file mode 100644 index acb90d836..000000000 --- a/external/boost/fusion/view/single_view/detail/deref_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258) -#define BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - BOOST_MPL_ASSERT((mpl::equal_to >)); - typedef typename Iterator::value_type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.view.val; - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/single_view/detail/distance_impl.hpp b/external/boost/fusion/view/single_view/detail/distance_impl.hpp deleted file mode 100644 index 9cd85fdc3..000000000 --- a/external/boost/fusion/view/single_view/detail/distance_impl.hpp +++ /dev/null @@ -1,45 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - : mpl::minus - { - typedef typename mpl::minus::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(First const& /*first*/, Last const& /*last*/) - { - return type(); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/single_view/detail/end_impl.hpp b/external/boost/fusion/view/single_view/detail/end_impl.hpp deleted file mode 100644 index d662ac246..000000000 --- a/external/boost/fusion/view/single_view/detail/end_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332) -#define BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332 - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef single_view_iterator > type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& seq) - { - return type(seq); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/single_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/single_view/detail/equal_to_impl.hpp deleted file mode 100644 index a14b4c512..000000000 --- a/external/boost/fusion/view/single_view/detail/equal_to_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - namespace extension - { - template - struct equal_to_impl; - - template<> - struct equal_to_impl - { - template - struct apply - : mpl::equal_to - { - BOOST_MPL_ASSERT((is_same::type, - typename add_const::type>)); - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/single_view/detail/next_impl.hpp b/external/boost/fusion/view/single_view/detail/next_impl.hpp deleted file mode 100644 index 55a4ff11b..000000000 --- a/external/boost/fusion/view/single_view/detail/next_impl.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331) -#define BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef single_view_iterator< - typename Iterator::single_view_type, - typename mpl::next::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - // Workaround for ICE on GCC 4.0.0. - // see https://svn.boost.org/trac/boost/ticket/5808 - typedef typename type::position position; - BOOST_STATIC_ASSERT((position::value < 2)); - return type(i.view); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/single_view/detail/prior_impl.hpp b/external/boost/fusion/view/single_view/detail/prior_impl.hpp deleted file mode 100644 index 823f96e5a..000000000 --- a/external/boost/fusion/view/single_view/detail/prior_impl.hpp +++ /dev/null @@ -1,48 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM - -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - template - struct single_view_iterator; - - namespace extension - { - template - struct prior_impl; - - template <> - struct prior_impl - { - template - struct apply - { - typedef single_view_iterator< - typename Iterator::single_view_type, - typename mpl::prior::type> - type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(i.view); - } - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/single_view/detail/size_impl.hpp b/external/boost/fusion/view/single_view/detail/size_impl.hpp deleted file mode 100644 index eba89cdd8..000000000 --- a/external/boost/fusion/view/single_view/detail/size_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM) -#define FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM - -namespace boost { namespace fusion -{ - struct single_view_tag; - - namespace extension - { - template - struct size_impl; - - template <> - struct size_impl - { - template - struct apply - { - typedef mpl::int_<1> type; - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/single_view/detail/value_at_impl.hpp b/external/boost/fusion/view/single_view/detail/value_at_impl.hpp deleted file mode 100644 index b5721b84b..000000000 --- a/external/boost/fusion/view/single_view/detail/value_at_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ - -#if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM) -#define BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_tag; - - namespace extension - { - template - struct value_at_impl; - - template<> - struct value_at_impl - { - template - struct apply - { - BOOST_MPL_ASSERT((mpl::equal_to >)); - typedef typename Sequence::value_type type; - }; - }; - } - -}} - -#endif diff --git a/external/boost/fusion/view/single_view/detail/value_of_impl.hpp b/external/boost/fusion/view/single_view/detail/value_of_impl.hpp deleted file mode 100644 index dfb345c8c..000000000 --- a/external/boost/fusion/view/single_view/detail/value_of_impl.hpp +++ /dev/null @@ -1,40 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324) -#define BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - - namespace extension - { - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - BOOST_MPL_ASSERT((mpl::equal_to >)); - typedef typename Iterator::value_type type; - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/single_view/single_view.hpp b/external/boost/fusion/view/single_view/single_view.hpp deleted file mode 100644 index a4437902c..000000000 --- a/external/boost/fusion/view/single_view/single_view.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_05052005_0335) -#define BOOST_FUSION_SINGLE_VIEW_05052005_0335 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - struct single_view_tag; - struct random_access_traversal_tag; - struct fusion_sequence_tag; - - template - struct single_view : sequence_base > - { - typedef single_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef random_access_traversal_tag category; - typedef mpl::true_ is_view; - typedef mpl::int_<1> size; - typedef T value_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - single_view() - : val() {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit single_view(typename detail::call_param::type in_val) - : val(in_val) {} - - value_type val; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - inline single_view::type> - make_single_view(T const& v) - { - return single_view::type>(v); - } -}} - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - - diff --git a/external/boost/fusion/view/single_view/single_view_iterator.hpp b/external/boost/fusion/view/single_view/single_view_iterator.hpp deleted file mode 100644 index 0f3e2744b..000000000 --- a/external/boost/fusion/view/single_view/single_view_iterator.hpp +++ /dev/null @@ -1,69 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2011 Eric Niebler - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340) -#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined (BOOST_MSVC) -# pragma warning(push) -# pragma warning (disable: 4512) // assignment operator could not be generated. -#endif - -namespace boost { namespace fusion -{ - struct single_view_iterator_tag; - struct random_access_traversal_tag; - - template - struct single_view_iterator - : iterator_base > - { - typedef single_view_iterator_tag fusion_tag; - typedef random_access_traversal_tag category; - typedef typename SingleView::value_type value_type; - typedef Pos position; - typedef SingleView single_view_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - explicit single_view_iterator(single_view_type& in_view) - : view(in_view) {} - - SingleView& view; - - private: - single_view_iterator& operator=(single_view_iterator const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::single_view_iterator > - { }; -} -#endif - -#if defined (BOOST_MSVC) -# pragma warning(pop) -#endif - -#endif - - diff --git a/external/boost/fusion/view/transform_view.hpp b/external/boost/fusion/view/transform_view.hpp deleted file mode 100644 index 57ff612a7..000000000 --- a/external/boost/fusion/view/transform_view.hpp +++ /dev/null @@ -1,14 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612) -#define FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/transform_view/detail/advance_impl.hpp b/external/boost/fusion/view/transform_view/detail/advance_impl.hpp deleted file mode 100644 index 12dfabec9..000000000 --- a/external/boost/fusion/view/transform_view/detail/advance_impl.hpp +++ /dev/null @@ -1,78 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADVANCE_IMPL_13122005_1906) -#define FUSION_ADVANCE_IMPL_13122005_1906 - -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct advance_impl; - - // Unary Version - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename result_of::advance::type advanced_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(boost::fusion::advance(i.first), i.f); - } - }; - }; - - // Binary Version - template<> - struct advance_impl - { - template - struct apply - { - typedef typename Iterator::first1_type first1_type; - typedef typename Iterator::first2_type first2_type; - typedef typename result_of::advance::type advanced1_type; - typedef typename result_of::advance::type advanced2_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type( - boost::fusion::advance(i.first1) - , boost::fusion::advance(i.first2), i.f); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp b/external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp deleted file mode 100644 index 87c057f23..000000000 --- a/external/boost/fusion/view/transform_view/detail/apply_transform_result.hpp +++ /dev/null @@ -1,38 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2007 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936) -#define BOOST_FUSION_APPLY_TRANSFORM_RESULT_02092006_1936 - -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - - namespace detail - { - template - struct apply_transform_result - { - template - struct apply - : boost::result_of - {}; - - template - struct apply - : boost::result_of - {}; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/detail/at_impl.hpp b/external/boost/fusion/view/transform_view/detail/at_impl.hpp deleted file mode 100644 index d2045bc28..000000000 --- a/external/boost/fusion/view/transform_view/detail/at_impl.hpp +++ /dev/null @@ -1,66 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_AT_IMPL_20061029_1946) -#define BOOST_FUSION_AT_IMPL_20061029_1946 - -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct transform_view_tag; - struct transform_view2_tag; - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Seq::transform_type F; - typedef detail::apply_transform_result transform_type; - typedef typename boost::fusion::result_of::at::type value_type; - typedef typename mpl::apply::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Seq& seq) - { - return seq.f(boost::fusion::at(seq.seq)); - } - }; - }; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename Seq::transform_type F; - typedef detail::apply_transform_result transform_type; - typedef typename boost::fusion::result_of::at::type value1_type; - typedef typename boost::fusion::result_of::at::type value2_type; - typedef typename mpl::apply::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type call(Seq& seq) - { - return seq.f(boost::fusion::at(seq.seq1), boost::fusion::at(seq.seq2)); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/transform_view/detail/begin_impl.hpp b/external/boost/fusion/view/transform_view/detail/begin_impl.hpp deleted file mode 100644 index da3f763ab..000000000 --- a/external/boost/fusion/view/transform_view/detail/begin_impl.hpp +++ /dev/null @@ -1,71 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_07162005_1031) -#define FUSION_BEGIN_IMPL_07162005_1031 - -#include -#include - -namespace boost { namespace fusion -{ - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct begin_impl; - - // Unary Version - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first_type first_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.first(), s.f); - } - }; - }; - - // Binary Version - template <> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::first1_type first1_type; - typedef typename Sequence::first2_type first2_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.first1(), s.first2(), s.f); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/detail/deref_impl.hpp b/external/boost/fusion/view/transform_view/detail/deref_impl.hpp deleted file mode 100644 index 646da57c2..000000000 --- a/external/boost/fusion/view/transform_view/detail/deref_impl.hpp +++ /dev/null @@ -1,79 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_IMPL_07162005_1026) -#define FUSION_DEREF_IMPL_07162005_1026 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - namespace extension - { - template - struct deref_impl; - - // Unary Version - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref::type - value_type; - - typedef detail::apply_transform_result transform_type; - typedef typename mpl::apply::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.f(*i.first); - } - }; - }; - - // Binary Version - template <> - struct deref_impl - { - template - struct apply - { - typedef typename - result_of::deref::type - value1_type; - typedef typename - result_of::deref::type - value2_type; - - typedef detail::apply_transform_result transform_type; - typedef typename mpl::apply::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return i.f(*i.first1, *i.first2); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/detail/distance_impl.hpp b/external/boost/fusion/view/transform_view/detail/distance_impl.hpp deleted file mode 100644 index 644430559..000000000 --- a/external/boost/fusion/view/transform_view/detail/distance_impl.hpp +++ /dev/null @@ -1,62 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DISTANCE_IMPL_13122005_2139) -#define FUSION_DISTANCE_IMPL_13122005_2139 - -#include -#include - -namespace boost { namespace fusion { - - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - namespace extension - { - template - struct distance_impl; - - // Unary Version - template<> - struct distance_impl - { - template - struct apply - : result_of::distance - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static - typename result_of::distance::type - call(First const& first, Last const& last) - { - return boost::fusion::distance(first.first, last.first); - } - }; - }; - - // Binary Version - template<> - struct distance_impl - { - template - struct apply - : result_of::distance - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static - typename result_of::distance::type - call(First const& first, Last const& last) - { - return boost::fusion::distance(first.first1, last.first1); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/transform_view/detail/end_impl.hpp b/external/boost/fusion/view/transform_view/detail/end_impl.hpp deleted file mode 100644 index 3a84e0409..000000000 --- a/external/boost/fusion/view/transform_view/detail/end_impl.hpp +++ /dev/null @@ -1,71 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_07162005_1028) -#define FUSION_END_IMPL_07162005_1028 - -#include -#include - -namespace boost { namespace fusion -{ - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct end_impl; - - // Unary Version - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last_type last_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.last(), s.f); - } - }; - }; - - // Binary Version - template <> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::last1_type last1_type; - typedef typename Sequence::last2_type last2_type; - typedef typename Sequence::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& s) - { - return type(s.last1(), s.last2(), s.f); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp deleted file mode 100644 index c4c6815ec..000000000 --- a/external/boost/fusion/view/transform_view/detail/equal_to_impl.hpp +++ /dev/null @@ -1,43 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957) -#define BOOST_FUSION_TRANSFORM_VIEW_ITERATOR_20070127_0957 - -#include -#include - -namespace boost { namespace fusion { - - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - namespace extension - { - template - struct equal_to_impl; - - template<> - struct equal_to_impl - { - template - struct apply - : result_of::equal_to - {}; - }; - - template<> - struct equal_to_impl - { - template - struct apply - : result_of::equal_to - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/transform_view/detail/next_impl.hpp b/external/boost/fusion/view/transform_view/detail/next_impl.hpp deleted file mode 100644 index ce22d19ed..000000000 --- a/external/boost/fusion/view/transform_view/detail/next_impl.hpp +++ /dev/null @@ -1,77 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_07162005_1029) -#define FUSION_NEXT_IMPL_07162005_1029 - -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct next_impl; - - // Unary Version - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename result_of::next::type next_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::next(i.first), i.f); - } - }; - }; - - // Binary Version - template <> - struct next_impl - { - template - struct apply - { - typedef typename Iterator::first1_type first1_type; - typedef typename Iterator::first2_type first2_type; - typedef typename result_of::next::type next1_type; - typedef typename result_of::next::type next2_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::next(i.first1), fusion::next(i.first2), i.f); - } - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/detail/prior_impl.hpp b/external/boost/fusion/view/transform_view/detail/prior_impl.hpp deleted file mode 100644 index ed6d742ee..000000000 --- a/external/boost/fusion/view/transform_view/detail/prior_impl.hpp +++ /dev/null @@ -1,76 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PREV_IMPL_13122005_2110) -#define FUSION_PREV_IMPL_13122005_2110 - -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - template - struct transform_view_iterator; - - template - struct transform_view_iterator2; - - namespace extension - { - template - struct prior_impl; - - // Unary Version - template<> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first_type first_type; - typedef typename result_of::prior::type prior_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::prior(i.first), i.f); - } - }; - }; - - // Binary Version - template<> - struct prior_impl - { - template - struct apply - { - typedef typename Iterator::first1_type first1_type; - typedef typename Iterator::first2_type first2_type; - typedef typename result_of::prior::type prior1_type; - typedef typename result_of::prior::type prior2_type; - typedef typename Iterator::transform_type transform_type; - typedef transform_view_iterator2 type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& i) - { - return type(fusion::prior(i.first1), fusion::prior(i.first2), i.f); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/transform_view/detail/value_at_impl.hpp b/external/boost/fusion/view/transform_view/detail/value_at_impl.hpp deleted file mode 100644 index 6875cbed0..000000000 --- a/external/boost/fusion/view/transform_view/detail/value_at_impl.hpp +++ /dev/null @@ -1,54 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VALUE_AT_IMPL_20061101_0745) -#define BOOST_FUSION_VALUE_AT_IMPL_20061101_0745 - -#include -#include -#include -#include - -namespace boost { namespace fusion { - struct transform_view_tag; - struct transform_view2_tag; - - namespace extension - { - template - struct value_at_impl; - - template<> - struct value_at_impl - { - template - struct apply - { - typedef typename Seq::transform_type F; - typedef detail::apply_transform_result transform_type; - typedef typename boost::fusion::result_of::value_at::type value_type; - typedef typename mpl::apply::type type; - }; - }; - - template<> - struct value_at_impl - { - template - struct apply - { - typedef typename Seq::transform_type F; - typedef detail::apply_transform_result transform_type; - typedef typename boost::fusion::result_of::value_at::type value1_type; - typedef typename boost::fusion::result_of::value_at::type value2_type; - typedef typename mpl::apply::type type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/transform_view/detail/value_of_impl.hpp b/external/boost/fusion/view/transform_view/detail/value_of_impl.hpp deleted file mode 100644 index ae20cd4ba..000000000 --- a/external/boost/fusion/view/transform_view/detail/value_of_impl.hpp +++ /dev/null @@ -1,64 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_OF_IMPL_07162005_1030) -#define FUSION_VALUE_OF_IMPL_07162005_1030 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct transform_view_iterator_tag; - struct transform_view_iterator2_tag; - - namespace extension - { - template - struct value_of_impl; - - // Unary Version - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename - result_of::value_of::type - value_type; - - typedef detail::apply_transform_result transform_type; - typedef typename mpl::apply::type type; - }; - }; - - // Binary Version - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename - result_of::value_of::type - value1_type; - typedef typename - result_of::value_of::type - value2_type; - - typedef detail::apply_transform_result transform_type; - typedef typename mpl::apply::type type; - }; - }; - } -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/transform_view.hpp b/external/boost/fusion/view/transform_view/transform_view.hpp deleted file mode 100644 index 4a6fc5b18..000000000 --- a/external/boost/fusion/view/transform_view/transform_view.hpp +++ /dev/null @@ -1,124 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TRANSFORM_VIEW_07162005_1037) -#define FUSION_TRANSFORM_VIEW_07162005_1037 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; - struct transform_view_tag; - struct transform_view2_tag; - struct fusion_sequence_tag; - - // Binary Version - template - struct transform_view : sequence_base > - { - BOOST_STATIC_ASSERT(result_of::size::value == result_of::size::value); - typedef transform_view2_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - - typedef typename traits::category_of::type category1; - typedef typename traits::category_of::type category2; - typedef typename detail::strictest_traversal< - fusion::vector2 >::type category; - typedef typename result_of::begin::type first1_type; - typedef typename result_of::begin::type first2_type; - typedef typename result_of::end::type last1_type; - typedef typename result_of::end::type last2_type; - typedef typename result_of::size::type size; - typedef Sequence1 sequence1_type; - typedef Sequence2 sequence2_type; - typedef F transform_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - transform_view(Sequence1& in_seq1, Sequence2& in_seq2, F const& binop) - : f(binop) - , seq1(in_seq1) - , seq2(in_seq2) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - first1_type first1() const { return fusion::begin(seq1); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - first2_type first2() const { return fusion::begin(seq2); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - last1_type last1() const { return fusion::end(seq1); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - last2_type last2() const { return fusion::end(seq2); } - - transform_type f; - typename mpl::if_, Sequence1, Sequence1&>::type seq1; - typename mpl::if_, Sequence2, Sequence2&>::type seq2; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - transform_view& operator= (transform_view const&); - }; - - // Unary Version - template -#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) - struct transform_view : sequence_base > -#else - struct transform_view : sequence_base > -#endif - { - typedef transform_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - - typedef typename traits::category_of::type category; - typedef typename result_of::begin::type first_type; - typedef typename result_of::end::type last_type; - typedef typename result_of::size::type size; - typedef Sequence sequence_type; - typedef F transform_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - transform_view(Sequence& in_seq, F const& in_f) - : seq(in_seq) - , f(in_f) - {} - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - first_type first() const { return fusion::begin(seq); } - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - last_type last() const { return fusion::end(seq); } - typename mpl::if_, Sequence, Sequence&>::type seq; - transform_type f; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - transform_view& operator= (transform_view const&); - }; -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/transform_view_fwd.hpp b/external/boost/fusion/view/transform_view/transform_view_fwd.hpp deleted file mode 100644 index c52cf6e1c..000000000 --- a/external/boost/fusion/view/transform_view/transform_view_fwd.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TRANSFORM_VIEW_FORWARD_01052006_1839) -#define FUSION_TRANSFORM_VIEW_FORWARD_01052006_1839 - -namespace boost { namespace fusion -{ - struct void_; - struct transform_view_tag; - struct transform_view2_tag; - - template - struct transform_view; -}} - -#endif - - diff --git a/external/boost/fusion/view/transform_view/transform_view_iterator.hpp b/external/boost/fusion/view/transform_view/transform_view_iterator.hpp deleted file mode 100644 index ab40bd748..000000000 --- a/external/boost/fusion/view/transform_view/transform_view_iterator.hpp +++ /dev/null @@ -1,92 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033) -#define FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - // Unary Version - struct transform_view_iterator_tag; - - template - struct transform_view_iterator - : iterator_base > - { - typedef transform_view_iterator_tag fusion_tag; - typedef convert_iterator converter; - typedef typename converter::type first_type; - typedef typename traits::category_of::type category; - typedef F transform_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - transform_view_iterator(First const& in_first, F const& in_f) - : first(converter::call(in_first)), f(in_f) {} - - first_type first; - transform_type f; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - transform_view_iterator& operator= (transform_view_iterator const&); - }; - - // Binary Version - struct transform_view_iterator2_tag; - - template - struct transform_view_iterator2 - : iterator_base > - { - typedef transform_view_iterator2_tag fusion_tag; - typedef convert_iterator converter1; - typedef convert_iterator converter2; - typedef typename converter1::type first1_type; - typedef typename converter2::type first2_type; - typedef typename traits::category_of::type category; - typedef F transform_type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - transform_view_iterator2(First1 const& in_first1, First2 const& in_first2, F const& in_f) - : first1(converter1::call(in_first1)), first2(converter2::call(in_first2)), f(in_f) {} - - first1_type first1; - first2_type first2; - transform_type f; - - private: - // silence MSVC warning C4512: assignment operator could not be generated - transform_view_iterator2& operator= (transform_view_iterator2 const&); - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::transform_view_iterator > - { }; - template - struct iterator_traits< ::boost::fusion::transform_view_iterator2 > - { }; -} -#endif - -#endif - diff --git a/external/boost/fusion/view/zip_view.hpp b/external/boost/fusion/view/zip_view.hpp deleted file mode 100644 index 5376f9992..000000000 --- a/external/boost/fusion/view/zip_view.hpp +++ /dev/null @@ -1,15 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ZIP_VIEW_23012006_0811) -#define FUSION_ZIP_VIEW_23012006_0811 - -#include -#include -#include - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/advance_impl.hpp b/external/boost/fusion/view/zip_view/detail/advance_impl.hpp deleted file mode 100644 index 69134d949..000000000 --- a/external/boost/fusion/view/zip_view/detail/advance_impl.hpp +++ /dev/null @@ -1,72 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ADVANCE_IMPL_20061024_2021) -#define FUSION_ADVANCE_IMPL_20061024_2021 - -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - template - struct poly_advance - { - template - struct result; - - template - struct result(It)> - { - typedef typename remove_reference::type it; - typedef typename result_of::advance::type type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::advance(it); - } - }; - } - - namespace extension - { - template - struct advance_impl; - - template<> - struct advance_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform >::type> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return type( - fusion::transform(it.iterators_, detail::poly_advance())); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/at_impl.hpp b/external/boost/fusion/view/zip_view/detail/at_impl.hpp deleted file mode 100644 index 55c0fef17..000000000 --- a/external/boost/fusion/view/zip_view/detail/at_impl.hpp +++ /dev/null @@ -1,97 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AT_IMPL_20060124_1933) -#define FUSION_AT_IMPL_20060124_1933 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -namespace boost { namespace fusion -{ - struct zip_view_tag; - - namespace detail - { - template - struct poly_at - { - template - struct result; - - template - struct result(SeqRef)> - : mpl::eval_if, - mpl::identity, - result_of::at::type, N> > - { - BOOST_MPL_ASSERT((is_reference)); - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq& seq) const - { - return fusion::at(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq const& seq) const - { - return fusion::at(seq); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct at_impl; - - template<> - struct at_impl - { - template - struct apply - { - typedef typename result_of::as_vector< - typename result_of::transform< - typename Seq::sequences, detail::poly_at >::type>::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Seq& seq) - { - return type( - fusion::transform(seq.sequences_, detail::poly_at())); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/begin_impl.hpp b/external/boost/fusion/view/zip_view/detail/begin_impl.hpp deleted file mode 100644 index 75e137513..000000000 --- a/external/boost/fusion/view/zip_view/detail/begin_impl.hpp +++ /dev/null @@ -1,97 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_20060123_2147) -#define FUSION_BEGIN_IMPL_20060123_2147 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_tag; - - namespace detail - { - struct poly_begin - { - template - struct result; - - template - struct result - : mpl::eval_if, - mpl::identity, - result_of::begin::type> > - { - BOOST_MPL_ASSERT((is_reference)); - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq& seq) const - { - return fusion::begin(seq); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq const& seq) const - { - return fusion::begin(seq); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct begin_impl; - - template<> - struct begin_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform::type, - typename Sequence::category> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& sequence) - { - return type( - fusion::transform(sequence.sequences_, detail::poly_begin())); - } - }; - - - - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/deref_impl.hpp b/external/boost/fusion/view/zip_view/detail/deref_impl.hpp deleted file mode 100644 index df7e91ae1..000000000 --- a/external/boost/fusion/view/zip_view/detail/deref_impl.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DEREF_IMPL_20061024_1959) -#define FUSION_DEREF_IMPL_20061024_1959 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - struct poly_deref - { - template - struct result; - - template - struct result - { - typedef typename remove_const< - typename remove_reference::type>::type it; - - typedef typename mpl::eval_if, - mpl::identity, - result_of::deref >::type type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::deref(it); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct deref_impl; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename result_of::as_vector< - typename result_of::transform::type>::type type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(It const& it) - { - return type( - fusion::transform(it.iterators_, detail::poly_deref())); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/distance_impl.hpp b/external/boost/fusion/view/zip_view/detail/distance_impl.hpp deleted file mode 100644 index f306e1b4a..000000000 --- a/external/boost/fusion/view/zip_view/detail/distance_impl.hpp +++ /dev/null @@ -1,84 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_DISTANCE_IMPL_20060124_2033) -#define FUSION_DISTANCE_IMPL_20060124_2033 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - struct random_access_iterator_tag; - - namespace detail - { - template - struct best_distance - { - typedef typename result_of::find_if< - typename SearchIt::iterators, is_same, random_access_iterator_tag> > finder; - - BOOST_MPL_ASSERT_NOT((is_same >)); - - typedef typename result_of::distance::type type; - }; - - template - struct default_distance - : result_of::distance< - typename result_of::value_at_c::type, - typename result_of::value_at_c::type> - {}; - - template - struct zip_view_iterator_distance - { - typedef typename result_of::find_if< - typename It1::iterators, is_same, random_access_iterator_tag> > finder; - - typedef typename mpl::eval_if< - is_same::type>, - detail::default_distance , - detail::best_distance >::type type; - }; - } - - namespace extension - { - template - struct distance_impl; - - template<> - struct distance_impl - { - template - struct apply - : detail::zip_view_iterator_distance::type - { - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static typename detail::zip_view_iterator_distance::type - call(It1 const& /*it1*/, It2 const& /*it2*/) - { - return typename detail::zip_view_iterator_distance::type(); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/end_impl.hpp b/external/boost/fusion/view/zip_view/detail/end_impl.hpp deleted file mode 100644 index 28549cb7d..000000000 --- a/external/boost/fusion/view/zip_view/detail/end_impl.hpp +++ /dev/null @@ -1,108 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_END_IMPL_20060123_2208) -#define FUSION_END_IMPL_20060123_2208 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_tag; - - namespace detail - { - template - struct get_endpoint - { - typedef typename remove_reference::type Seq; - typedef typename result_of::begin::type begin; - typedef typename result_of::advance::type type; - }; - - template - struct endpoints - { - template - struct result; - - template - struct result(SeqRef)> - : mpl::eval_if, - mpl::identity, - get_endpoint > - { - BOOST_MPL_ASSERT((is_reference)); - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq& seq) const - { - return fusion::advance(fusion::begin(seq)); - } - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq const& seq) const - { - return fusion::advance(fusion::begin(seq)); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct end_impl; - - template<> - struct end_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform >::type, - typename Sequence::category> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Sequence& sequence) - { - return type( - fusion::transform(sequence.sequences_, detail::endpoints())); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp b/external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp deleted file mode 100644 index 6292a525f..000000000 --- a/external/boost/fusion/view/zip_view/detail/equal_to_impl.hpp +++ /dev/null @@ -1,63 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_EQUAL_TO_IMPL_20060128_1423) -#define FUSION_EQUAL_TO_IMPL_20060128_1423 - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - template - struct zip_iterators_equal - { - typedef mpl::zip_view > zipped; - typedef mpl::transform_view > > transformed; - - typedef typename mpl::find_if >::type found; - - typedef typename is_same::type, found>::type type; - }; - } - - namespace extension - { - template - struct equal_to_impl; - - template<> - struct equal_to_impl - { - template - struct apply - : detail::zip_iterators_equal::type - {}; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/next_impl.hpp b/external/boost/fusion/view/zip_view/detail/next_impl.hpp deleted file mode 100644 index 4bcd90a5a..000000000 --- a/external/boost/fusion/view/zip_view/detail/next_impl.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_NEXT_IMPL_20060124_2006) -#define FUSION_NEXT_IMPL_20060124_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - struct poly_next - { - template - struct result; - - template - struct result - { - typedef typename remove_const< - typename remove_reference::type>::type it; - - typedef typename mpl::eval_if, - mpl::identity, - result_of::next >::type type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::next(it); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct next_impl; - - template<> - struct next_impl - { - template - struct apply - { - typedef fusion::zip_view_iterator< - typename result_of::transform::type, - typename Iterator::category> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - { - return type( - fusion::transform(it.iterators_, detail::poly_next())); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/prior_impl.hpp b/external/boost/fusion/view/zip_view/detail/prior_impl.hpp deleted file mode 100644 index 655b50923..000000000 --- a/external/boost/fusion/view/zip_view/detail/prior_impl.hpp +++ /dev/null @@ -1,87 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_PRIOR_IMPL_20060124_2006) -#define FUSION_PRIOR_IMPL_20060124_2006 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - namespace detail - { - struct poly_prior - { - template - struct result; - - template - struct result - { - typedef typename remove_const< - typename remove_reference::type>::type it; - typedef typename mpl::eval_if, - mpl::identity, - result_of::prior >::type type; - }; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(const It& it) const - { - return fusion::prior(it); - } - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - unused_type operator()(unused_type const&) const - { - return unused_type(); - } - }; - } - - namespace extension - { - template - struct prior_impl; - - template<> - struct prior_impl - { - template - struct apply - { - typedef zip_view_iterator< - typename result_of::transform::type, - typename Iterator::category> type; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - static type - call(Iterator const& it) - - { - return type( - fusion::transform(it.iterators_, detail::poly_prior())); - } - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/size_impl.hpp b/external/boost/fusion/view/zip_view/detail/size_impl.hpp deleted file mode 100644 index f8f356925..000000000 --- a/external/boost/fusion/view/zip_view/detail/size_impl.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SIZE_IMPL_20060124_0800) -#define FUSION_SIZE_IMPL_20060124_0800 - -namespace boost { namespace fusion { - - struct zip_view_tag; - - namespace extension - { - template - struct size; - - template - struct size_impl; - - template<> - struct size_impl - { - template - struct apply - { - typedef typename Sequence::size type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/value_at_impl.hpp b/external/boost/fusion/view/zip_view/detail/value_at_impl.hpp deleted file mode 100644 index 26d75b469..000000000 --- a/external/boost/fusion/view/zip_view/detail/value_at_impl.hpp +++ /dev/null @@ -1,71 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_AT_IMPL_20060124_2129) -#define FUSION_VALUE_AT_IMPL_20060124_2129 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion { - - struct zip_view_tag; - - namespace detail - { - template - struct poly_value_at - { - template - struct result; - - template - struct result(Seq)> - : mpl::eval_if, - mpl::identity, - result_of::value_at::type, N> > - {}; - - // never called, but needed for decltype-based result_of (C++0x) -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq&&) const; -#endif - }; - } - - namespace extension - { - template - struct value_at_impl; - - template<> - struct value_at_impl - { - template - struct apply - { - typedef typename result_of::transform< - typename Sequence::sequences, - detail::poly_value_at >::type values; - typedef typename result_of::as_vector::type type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/detail/value_of_impl.hpp b/external/boost/fusion/view/zip_view/detail/value_of_impl.hpp deleted file mode 100644 index 0c06e0e10..000000000 --- a/external/boost/fusion/view/zip_view/detail/value_of_impl.hpp +++ /dev/null @@ -1,71 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_VALUE_OF_IMPL_20060124_2147) -#define FUSION_VALUE_OF_IMPL_20060124_2147 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct zip_view_iterator_tag; - - namespace detail - { - struct poly_value_of - { - template - struct result; - - template - struct result - : mpl::eval_if, - mpl::identity, - result_of::value_of > - {}; - - // never called, but needed for decltype-based result_of (C++0x) -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(It&&) const; -#endif - }; - } - - namespace extension - { - template - struct value_of_impl; - - template<> - struct value_of_impl - { - template - struct apply - { - typedef typename result_of::transform< - typename Iterator::iterators, - detail::poly_value_of>::type values; - - typedef typename result_of::as_vector::type type; - }; - }; - } -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/zip_view.hpp b/external/boost/fusion/view/zip_view/zip_view.hpp deleted file mode 100644 index b03272015..000000000 --- a/external/boost/fusion/view/zip_view/zip_view.hpp +++ /dev/null @@ -1,135 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ZIP_VIEW_23012006_0813) -#define FUSION_ZIP_VIEW_23012006_0813 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -namespace boost { namespace fusion { - - namespace detail - { - template - struct all_references - : fusion::result_of::equal_to > >::type, typename fusion::result_of::end::type> - {}; - - struct seq_ref_size - { - template - struct result; - - template - struct result - { - static int const high_int = static_cast( - (static_cast(~0) >> 1) - 1); - - typedef typename remove_reference::type SeqClass; - - typedef typename mpl::eval_if< - traits::is_forward, - result_of::size, - mpl::int_ >::type type; - }; - - // never called, but needed for decltype-based result_of (C++0x) -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Seq&&) const; -#endif - }; - - struct poly_min - { - template - struct result; - - template - struct result - { - typedef typename remove_reference::type lhs; - typedef typename remove_reference::type rhs; - typedef typename mpl::min::type type; - }; - - // never called, but needed for decltype-based result_of (C++0x) -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - template - BOOST_FUSION_GPU_ENABLED - typename result::type - operator()(Lhs&&, Rhs&&) const; -#endif - }; - - template - struct min_size - { - typedef typename result_of::transform::type sizes; - typedef typename result_of::fold::type, detail::poly_min>::type type; - }; - } - - struct zip_view_tag; - struct fusion_sequence_tag; - - template - struct zip_view : sequence_base< zip_view > - { - typedef typename result_of::remove::type real_sequences; - BOOST_MPL_ASSERT((detail::all_references)); - typedef typename detail::strictest_traversal::type category; - typedef zip_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - typedef typename fusion::result_of::as_vector::type sequences; - typedef typename detail::min_size::type size; - - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - zip_view( - const Sequences& seqs) - : sequences_(seqs) - {} - - sequences sequences_; - }; -}} - -#endif diff --git a/external/boost/fusion/view/zip_view/zip_view_iterator.hpp b/external/boost/fusion/view/zip_view/zip_view_iterator.hpp deleted file mode 100644 index cf2d76301..000000000 --- a/external/boost/fusion/view/zip_view/zip_view_iterator.hpp +++ /dev/null @@ -1,58 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ZIP_VIEW_ITERATOR_23012006_0814) -#define FUSION_ZIP_VIEW_ITERATOR_23012006_0814 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace fusion { - - struct zip_view_iterator_tag; - - template< - typename IteratorSequence, - typename Traversal> - struct zip_view_iterator - : iterator_base > - { - typedef zip_view_iterator_tag fusion_tag; - typedef Traversal category; - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - zip_view_iterator( - const InitSeq& iterator_seq) - : iterators_(iterator_seq) - {} - - typedef typename result_of::as_vector::type iterators; - iterators iterators_; - }; -}} - -#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 -namespace std -{ - template - struct iterator_traits< ::boost::fusion::zip_view_iterator > - { }; -} -#endif - -#endif diff --git a/external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp b/external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp deleted file mode 100644 index 7f1623090..000000000 --- a/external/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_ZIP_VIEW_ITERATOR_FWD) -#define FUSION_ZIP_VIEW_ITERATOR_FWD - -#include -#include - -namespace boost { namespace fusion { - - template< - typename IteratorSequence, - typename Traversal = typename detail::strictest_traversal::type> - struct zip_view_iterator; - -}} - -#endif diff --git a/external/boost/parameter/aux_/arg_list.hpp b/external/boost/parameter/aux_/arg_list.hpp deleted file mode 100644 index 721ce0400..000000000 --- a/external/boost/parameter/aux_/arg_list.hpp +++ /dev/null @@ -1,437 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef ARG_LIST_050329_HPP -#define ARG_LIST_050329_HPP - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace boost { namespace parameter { - -// Forward declaration for aux::arg_list, below. -template struct keyword; - -namespace aux { - -// Tag type passed to MPL lambda. -struct lambda_tag; - -// -// Structures used to build the tuple of actual arguments. The -// tuple is a nested cons-style list of arg_list specializations -// terminated by an empty_arg_list. -// -// Each specialization of arg_list is derived from its successor in -// the list type. This feature is used along with using -// declarations to build member function overload sets that can -// match against keywords. -// - -// MPL sequence support -struct arg_list_tag; - -// Terminates arg_list<> and represents an empty list. Since this -// is just the terminating case you might want to look at arg_list -// first, to get a feel for what's really happening here. - -struct empty_arg_list -{ - empty_arg_list() {} - - // Constructor taking BOOST_PARAMETER_MAX_ARITY empty_arg_list - // arguments; this makes initialization - empty_arg_list( - BOOST_PP_ENUM_PARAMS( - BOOST_PARAMETER_MAX_ARITY, void_ BOOST_PP_INTERCEPT - )) - {} - - // A metafunction class that, given a keyword and a default - // type, returns the appropriate result type for a keyword - // lookup given that default - struct binding - { - template - struct apply - { - typedef Default type; - }; - }; - - // Terminator for has_key, indicating that the keyword is unique - template - static no_tag has_key(KW*); - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - - // The overload set technique doesn't work with these older - // compilers, so they need some explicit handholding. - - // A metafunction class that, given a keyword, returns the type - // of the base sublist whose get() function can produce the - // value for that key - struct key_owner - { - template - struct apply - { - typedef empty_arg_list type; - }; - }; - - template - T& get(default_ x) const - { - return x.value; - } - - template - typename result_of0::type - get(lazy_default x) const - { - return x.compute_default(); - } -#endif - - // If this function is called, it means there is no argument - // in the list that matches the supplied keyword. Just return - // the default value. - template - Default& operator[](default_ x) const - { - return x.value; - } - - // If this function is called, it means there is no argument - // in the list that matches the supplied keyword. Just evaluate - // and return the default value. - template - typename result_of0::type - operator[]( - BOOST_PARAMETER_lazy_default_fallback x) const - { - return x.compute_default(); - } - - // No argument corresponding to ParameterRequirements::key_type - // was found if we match this overload, so unless that parameter - // has a default, we indicate that the actual arguments don't - // match the function's requirements. - template - static typename ParameterRequirements::has_default - satisfies(ParameterRequirements*, ArgPack*); - - // MPL sequence support - typedef empty_arg_list type; // convenience - typedef arg_list_tag tag; // For dispatching to sequence intrinsics -}; - -// Forward declaration for arg_list::operator, -template -struct tagged_argument; - -template -struct get_reference -{ - typedef typename T::reference type; -}; - -// A tuple of tagged arguments, terminated with empty_arg_list. -// Every TaggedArg is an instance of tagged_argument<>. -template -struct arg_list : Next -{ - typedef arg_list self; - typedef typename TaggedArg::key_type key_type; - - typedef typename is_maybe::type holds_maybe; - - typedef typename mpl::eval_if< - holds_maybe - , get_reference - , get_reference - >::type reference; - - typedef typename mpl::if_< - holds_maybe - , reference - , typename TaggedArg::value_type - >::type value_type; - - TaggedArg arg; // Stores the argument - - // Store the arguments in successive nodes of this list - template< // class A0, class A1, ... - BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A) - > - arg_list( // A0& a0, A1& a1, ... - BOOST_PP_ENUM_BINARY_PARAMS(BOOST_PARAMETER_MAX_ARITY, A, & a) - ) - : Next( // a1, a2, ... - BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_PARAMETER_MAX_ARITY, a) - , void_reference() - ) - , arg(a0) - {} - - // Create a new list by prepending arg to a copy of tail. Used - // when incrementally building this structure with the comma - // operator. - arg_list(TaggedArg head, Next const& tail) - : Next(tail) - , arg(head) - {} - - // A metafunction class that, given a keyword and a default - // type, returns the appropriate result type for a keyword - // lookup given that default - struct binding - { - template - struct apply - { - typedef typename mpl::eval_if< - boost::is_same - , mpl::if_ - , mpl::apply_wrap3 - >::type type; - }; - }; - -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - // Overload for key_type, so the assert below will fire if the - // same keyword is used again - static yes_tag has_key(key_type*); - using Next::has_key; - - BOOST_MPL_ASSERT_MSG( - sizeof(Next::has_key((key_type*)0)) == sizeof(no_tag) - , duplicate_keyword, (key_type) - ); - -#endif - // - // Begin implementation of indexing operators for looking up - // specific arguments by name - // - - // Helpers that handle the case when TaggedArg is - // empty. - template - reference get_default(D const&, mpl::false_) const - { - return arg.value; - } - - template - reference get_default(D const& d, mpl::true_) const - { - return arg.value ? arg.value.get() : arg.value.construct(d.value); - } - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - // These older compilers don't support the overload set creation - // idiom well, so we need to do all the return type calculation - // for the compiler and dispatch through an outer function template - - // A metafunction class that, given a keyword, returns the base - // sublist whose get() function can produce the value for that - // key. - struct key_owner - { - template - struct apply - { - typedef typename mpl::eval_if< - boost::is_same - , mpl::identity > - , mpl::apply_wrap1 - >::type type; - }; - }; - - // Outer indexing operators that dispatch to the right node's - // get() function. - template - typename mpl::apply_wrap3::type - operator[](keyword const& x) const - { - typename mpl::apply_wrap1::type const& sublist = *this; - return sublist.get(x); - } - - template - typename mpl::apply_wrap3::type - operator[](default_ x) const - { - typename mpl::apply_wrap1::type const& sublist = *this; - return sublist.get(x); - } - - template - typename mpl::apply_wrap3< - binding,KW - , typename result_of0::type - , mpl::true_ - >::type - operator[](lazy_default x) const - { - typename mpl::apply_wrap1::type const& sublist = *this; - return sublist.get(x); - } - - // These just return the stored value; when empty_arg_list is - // reached, indicating no matching argument was passed, the - // default is returned, or if no default_ or lazy_default was - // passed, compilation fails. - reference get(keyword const&) const - { - BOOST_MPL_ASSERT_NOT((holds_maybe)); - return arg.value; - } - - template - reference get(default_ const& d) const - { - return get_default(d, holds_maybe()); - } - - template - reference get(lazy_default) const - { - return arg.value; - } - -#else - - reference operator[](keyword const&) const - { - BOOST_MPL_ASSERT_NOT((holds_maybe)); - return arg.value; - } - - template - reference operator[](default_ const& d) const - { - return get_default(d, holds_maybe()); - } - - template - reference operator[](lazy_default) const - { - BOOST_MPL_ASSERT_NOT((holds_maybe)); - return arg.value; - } - - // Builds an overload set including operator[]s defined in base - // classes. - using Next::operator[]; - - // - // End of indexing support - // - - - // - // For parameter_requirements matching this node's key_type, - // return a bool constant wrapper indicating whether the - // requirements are satisfied by TaggedArg. Used only for - // compile-time computation and never really called, so a - // declaration is enough. - // - template - static typename mpl::apply_wrap2< - typename mpl::lambda::type - , value_type, ArgPack - >::type - satisfies( - parameter_requirements* - , ArgPack* - ); - - // Builds an overload set including satisfies functions defined - // in base classes. - using Next::satisfies; -#endif - - // Comma operator to compose argument list without using parameters<>. - // Useful for argument lists with undetermined length. - template - arg_list, self> - operator,(tagged_argument x) const - { - return arg_list, self>(x, *this); - } - - // MPL sequence support - typedef self type; // Convenience for users - typedef Next tail_type; // For the benefit of iterators - typedef arg_list_tag tag; // For dispatching to sequence intrinsics -}; - -// MPL sequence support -template -struct arg_list_iterator -{ - typedef mpl::forward_iterator_tag category; - - // The incremented iterator - typedef arg_list_iterator next; - - // dereferencing yields the key type - typedef typename ArgumentPack::key_type type; -}; - -template <> -struct arg_list_iterator {}; - -}} // namespace parameter::aux - -// MPL sequence support -namespace mpl -{ - template <> - struct begin_impl - { - template - struct apply - { - typedef parameter::aux::arg_list_iterator type; - }; - }; - - template <> - struct end_impl - { - template - struct apply - { - typedef parameter::aux::arg_list_iterator type; - }; - }; -} - -} // namespace boost - -#endif // ARG_LIST_050329_HPP - diff --git a/external/boost/parameter/aux_/cast.hpp b/external/boost/parameter/aux_/cast.hpp deleted file mode 100644 index bd3de2bef..000000000 --- a/external/boost/parameter/aux_/cast.hpp +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_CAST_060902_HPP -# define BOOST_PARAMETER_CAST_060902_HPP - -# include - -# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -# include -# include -# endif - -namespace boost { namespace parameter { namespace aux { - -struct use_default_tag {}; - -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - -# define BOOST_PARAMETER_FUNCTION_CAST(value, predicate) value - -# else - -// Handles possible implicit casts. Used by preprocessor.hpp to -// normalize user input. -// -// cast::execute() is identity -// cast::execute() is identity -// cast::execute() casts to X -// -// preprocessor.hpp uses this like this: -// -// #define X(value, predicate) -// cast::execute(value) -// -// X(something, *) -// X(something, *(predicate)) -// X(something, (int)) - -template -struct cast; - -template -struct cast -{ - static use_default_tag execute(use_default_tag) - { - return use_default_tag(); - } - - static use_default_tag remove_const(use_default_tag) - { - return use_default_tag(); - } - - template - static U& execute(U& value) - { - return value; - } - - template - static U& remove_const(U& x) - { - return x; - } -}; - -#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580)) - -typedef void* voidstar; - -template -struct cast - : cast -{ -}; - -#else - -template -struct cast - : cast -{ -}; - -#endif - -// This is a hack used in cast<> to turn the user supplied type, -// which may or may not be a placeholder expression into one, so -// that it will be properly evaluated by mpl::apply. -template -struct as_placeholder_expr -{ - typedef T type; -}; - -template -struct cast -{ - typedef typename mpl::apply2< - as_placeholder_expr, Args, Args>::type type0; - - typedef typename boost::add_reference< - typename boost::remove_const::type - >::type reference; - - static use_default_tag execute(use_default_tag) - { - return use_default_tag(); - } - - static use_default_tag remove_const(use_default_tag) - { - return use_default_tag(); - } - - static type0 execute(type0 value) - { - return value; - } - - template - static reference remove_const(U const& x) - { - return const_cast(x); - } -}; - -# define BOOST_PARAMETER_FUNCTION_CAST(value, predicate, args) \ - boost::parameter::aux::cast::remove_const( \ - boost::parameter::aux::cast::execute(value) \ - ) - -# endif - -}}} // namespace boost::parameter::aux - -#endif // BOOST_PARAMETER_CAST_060902_HPP - diff --git a/external/boost/parameter/aux_/default.hpp b/external/boost/parameter/aux_/default.hpp deleted file mode 100644 index 604da6129..000000000 --- a/external/boost/parameter/aux_/default.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef DEFAULT_050329_HPP -# define DEFAULT_050329_HPP - -# include - -namespace boost { namespace parameter { namespace aux { - -// A wrapper for the default value passed by the user when resolving -// the value of the parameter with the given Keyword -template -struct default_ -{ - default_(Value& x) - : value(x) - {} - - Value& value; -}; - -// -// lazy_default -- -// -// A wrapper for the default value computation function passed by -// the user when resolving the value of the parameter with the -// given keyword -// -# if BOOST_WORKAROUND(__EDG_VERSION__, <= 300) -// These compilers need a little extra help with overload -// resolution; we have empty_arg_list's operator[] accept a base -// class to make that overload less preferable. -template -struct lazy_default_base -{ - lazy_default_base(DefaultComputer const& x) - : compute_default(x) - {} - DefaultComputer const& compute_default; -}; - -template -struct lazy_default - : lazy_default_base - { - lazy_default(DefaultComputer const & x) - : lazy_default_base(x) - {} - }; -# define BOOST_PARAMETER_lazy_default_fallback lazy_default_base -# else -template -struct lazy_default -{ - lazy_default(const DefaultComputer& x) - : compute_default(x) - {} - DefaultComputer const& compute_default; -}; -# define BOOST_PARAMETER_lazy_default_fallback lazy_default -# endif - -}}} // namespace boost::parameter::aux - -#endif // DEFAULT_050329_HPP - diff --git a/external/boost/parameter/aux_/is_maybe.hpp b/external/boost/parameter/aux_/is_maybe.hpp deleted file mode 100644 index b87585284..000000000 --- a/external/boost/parameter/aux_/is_maybe.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2010. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_IS_MAYBE_050329_HPP -#define BOOST_PARAMETER_IS_MAYBE_050329_HPP - -#include - -namespace boost { -namespace parameter { -namespace aux { - -struct maybe_base {}; - -template -struct is_maybe - : is_base_and_derived -{}; - -} // namespace aux -} // namespace parameter -} // namespace boost - -#endif // BOOST_PARAMETER_IS_MAYBE_050329_HPP diff --git a/external/boost/parameter/aux_/maybe.hpp b/external/boost/parameter/aux_/maybe.hpp deleted file mode 100644 index 55e083e5b..000000000 --- a/external/boost/parameter/aux_/maybe.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// -// 2009.10.21 TDS remove depenency on boost::python::detail::referent_storage -// -#ifndef BOOST_PARAMETER_MAYBE_091021_HPP -# define BOOST_PARAMETER_MAYBE_091021_HPP - -# include -# include -# include -# include -# include -# include -# include -# include -# include - -namespace boost { namespace parameter { namespace aux { - -template struct referent_size; - -template -struct referent_size -{ - BOOST_STATIC_CONSTANT(std::size_t, value = sizeof(T)); -}; - -// A metafunction returning a POD type which can store U, where T == -// U&. If T is not a reference type, returns a POD which can store T. -template -struct referent_storage -{ - typedef typename boost::aligned_storage< - referent_size::value - >::type type; -}; - -template -struct maybe : maybe_base -{ - typedef typename add_reference< -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - T const -# else - typename add_const::type -# endif - >::type reference; - - typedef typename remove_cv< - BOOST_DEDUCED_TYPENAME remove_reference::type - >::type non_cv_value; - - explicit maybe(T value_) - : value(value_) - , constructed(false) - {} - - maybe() - : constructed(false) - {} - - ~maybe() - { - if (constructed) - this->destroy(); - } - - reference construct(reference value_) const - { - return value_; - } - - template - reference construct2(U const& value_) const - { - new (m_storage.address()) non_cv_value(value_); - constructed = true; - return *(non_cv_value*)m_storage.address(); - } - - template - reference construct(U const& value_) const - { - return this->construct2(value_); - } - - void destroy() - { - ((non_cv_value*)m_storage.address())->~non_cv_value(); - } - - typedef reference(maybe::*safe_bool)() const; - - operator safe_bool() const - { - return value ? &maybe::get : 0 ; - } - - reference get() const - { - return value.get(); - } - -private: - boost::optional value; - mutable bool constructed; - - - mutable typename referent_storage< - reference - >::type m_storage; -}; - -}}} // namespace boost::parameter::aux - -#endif // BOOST_PARAMETER_MAYBE_060211_HPP - diff --git a/external/boost/parameter/aux_/overloads.hpp b/external/boost/parameter/aux_/overloads.hpp deleted file mode 100644 index dcc92d4d7..000000000 --- a/external/boost/parameter/aux_/overloads.hpp +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright David Abrahams, Daniel Wallin 2003. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// This file generates overloads in this format: -// -// template -// typename mpl::apply_wrap1< -// aux::make_arg_list< -// PS0,A0 -// , aux::make_arg_list< -// PS1,A1 -// , mpl::identity -// > -// > -// , unnamed_list -// >::type -// operator()(A0 const& a0, A1 const& a1) const -// { -// typedef typename mpl::apply_wrap1< -// aux::make_arg_list< -// PS0,A0 -// , aux::make_arg_list< -// PS1,A1 -// , mpl::identity -// > -// > -// >::type arg_tuple; -// -// return arg_tuple( -// a0 -// , a1 -// , aux::void_() -// ... -// ); -// } -// - -#if !defined(BOOST_PP_IS_ITERATING) -# error Boost.Parameters - do not include this file! -#endif - -#define N BOOST_PP_ITERATION() - -#define BOOST_PARAMETER_open_list(z, n, text) \ - aux::item< \ - BOOST_PP_CAT(PS, n), BOOST_PP_CAT(A, n) - -#define BOOST_PARAMETER_close_list(z, n, text) > - -#define BOOST_PARAMETER_arg_list(n) \ - aux::make_arg_list< \ - BOOST_PP_ENUM(N, BOOST_PARAMETER_open_list, _) \ - , void_ \ - BOOST_PP_REPEAT(N, BOOST_PARAMETER_close_list, _) \ - , deduced_list \ - , aux::tag_keyword_arg \ - > - -#define BOOST_PARAMETER_arg_pack_init(z, n, limit) \ - BOOST_PP_CAT(a, BOOST_PP_SUB(limit,n)) - -template -typename mpl::first< - typename BOOST_PARAMETER_arg_list(N)::type ->::type -operator()(BOOST_PP_ENUM_BINARY_PARAMS(N, A, & a)) const -{ - typedef typename BOOST_PARAMETER_arg_list(N)::type result; - - typedef typename mpl::first::type result_type; - typedef typename mpl::second::type error; - error(); - - return result_type( - BOOST_PP_ENUM(N, BOOST_PARAMETER_arg_pack_init, BOOST_PP_DEC(N)) - BOOST_PP_ENUM_TRAILING_PARAMS( - BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, N) - , aux::void_reference() BOOST_PP_INTERCEPT - )); -} - -#undef BOOST_PARAMETER_arg_list -#undef BOOST_PARAMETER_open_list -#undef BOOST_PARAMETER_close_list -#undef N - diff --git a/external/boost/parameter/aux_/parameter_requirements.hpp b/external/boost/parameter/aux_/parameter_requirements.hpp deleted file mode 100644 index ad7a129dd..000000000 --- a/external/boost/parameter/aux_/parameter_requirements.hpp +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef PARAMETER_REQUIREMENTS_050331_HPP -#define PARAMETER_REQUIREMENTS_050331_HPP - -namespace boost { namespace parameter { namespace aux { - -// Used to pass static information about parameter requirements -// through the satisfies() overload set (below). The -// matched function is never invoked, but its type indicates whether -// a parameter matches at compile-time -template -struct parameter_requirements -{ - typedef Keyword keyword; - typedef Predicate predicate; - typedef HasDefault has_default; -}; - -}}} // namespace boost::parameter::aux - -#endif // PARAMETER_REQUIREMENTS_050331_HPP diff --git a/external/boost/parameter/aux_/parenthesized_type.hpp b/external/boost/parameter/aux_/parenthesized_type.hpp deleted file mode 100644 index 69e7a237d..000000000 --- a/external/boost/parameter/aux_/parenthesized_type.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright David Abrahams 2006. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP -# define BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP - -# include -# include - -namespace boost { namespace parameter { namespace aux { - -// A macro that takes a parenthesized C++ type name (T) and transforms -// it into an un-parenthesized type expression equivalent to T. -# define BOOST_PARAMETER_PARENTHESIZED_TYPE(x) \ - boost::parameter::aux::unaryfunptr_arg_type< void(*)x >::type - -// A metafunction that transforms void(*)(T) -> T -template -struct unaryfunptr_arg_type; - -template -struct unaryfunptr_arg_type -{ - typedef Arg type; -}; - -template <> -struct unaryfunptr_arg_type -{ - typedef void type; -}; - -}}} // namespace boost::parameter::aux - -#endif // BOOST_PARAMETER_AUX_PARENTHESIZED_TYPE_DWA2006414_HPP diff --git a/external/boost/parameter/aux_/preprocessor/flatten.hpp b/external/boost/parameter/aux_/preprocessor/flatten.hpp deleted file mode 100644 index 5d7615e3f..000000000 --- a/external/boost/parameter/aux_/preprocessor/flatten.hpp +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright Daniel Wallin 2005. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_FLATTEN_051217_HPP -# define BOOST_PARAMETER_FLATTEN_051217_HPP - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# define BOOST_PARAMETER_FLATTEN_SPLIT_required required, -# define BOOST_PARAMETER_FLATTEN_SPLIT_optional optional, -# define BOOST_PARAMETER_FLATTEN_SPLIT_deduced deduced, - -# define BOOST_PARAMETER_FLATTEN_SPLIT(sub) \ - BOOST_PP_CAT(BOOST_PARAMETER_FLATTEN_SPLIT_, sub) - -# define BOOST_PARAMETER_FLATTEN_QUALIFIER(sub) \ - BOOST_PP_SPLIT(0, BOOST_PARAMETER_FLATTEN_SPLIT(sub)) - -# define BOOST_PARAMETER_FLATTEN_ARGS(sub) \ - BOOST_PP_SPLIT(1, BOOST_PARAMETER_FLATTEN_SPLIT(sub)) - -# define BOOST_PARAMETER_FLATTEN_ARITY_optional(arities) \ - BOOST_PP_TUPLE_ELEM(3,0,arities) - -# define BOOST_PARAMETER_FLATTEN_ARITY_required(arities) \ - BOOST_PP_TUPLE_ELEM(3,1,arities) - -# define BOOST_PARAMETER_FLATTEN_SPEC0_DUMMY_ELEM(z, n, data) ~ -# define BOOST_PARAMETER_FLATTEN_SPEC0(r, n, elem, data) \ - (( \ - BOOST_PP_TUPLE_ELEM(3,2,data) \ - , BOOST_PP_TUPLE_REM(BOOST_PP_TUPLE_ELEM(3,0,data)) elem \ - BOOST_PP_ENUM_TRAILING( \ - BOOST_PP_SUB( \ - BOOST_PP_TUPLE_ELEM(3,1,data) \ - , BOOST_PP_TUPLE_ELEM(3,0,data) \ - ) \ - , BOOST_PARAMETER_FLATTEN_SPEC0_DUMMY_ELEM \ - , ~ \ - ) \ - )) - -# define BOOST_PARAMETER_FLATTEN_SPEC_AUX(r, arity, max_arity, spec, transform) \ - BOOST_PARAMETER_FOR_EACH_R( \ - r \ - , arity \ - , BOOST_PARAMETER_FLATTEN_ARGS(spec) \ - , (arity, max_arity, transform(BOOST_PARAMETER_FLATTEN_QUALIFIER(spec))) \ - , BOOST_PARAMETER_FLATTEN_SPEC0 \ - ) - -# define BOOST_PARAMETER_FLATTEN_IDENTITY(x) x - -# define BOOST_PARAMETER_FLATTEN_SPEC_optional(r, arities, spec) \ - BOOST_PARAMETER_FLATTEN_SPEC_AUX( \ - r \ - , BOOST_PP_CAT( \ - BOOST_PARAMETER_FLATTEN_ARITY_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \ - )(arities) \ - , BOOST_PP_TUPLE_ELEM(3,2,arities) \ - , spec \ - , BOOST_PARAMETER_FLATTEN_IDENTITY \ - ) - -# define BOOST_PARAMETER_FLATTEN_SPEC_required(r, arities, spec) \ - BOOST_PARAMETER_FLATTEN_SPEC_optional(r, arities, spec) - -# define BOOST_PARAMETER_FLATTEN_SPEC_AS_DEDUCED(x) BOOST_PP_CAT(deduced_,x) - -# define BOOST_PARAMETER_FLATTEN_SPEC_deduced_M(r, arities, n, spec) \ - BOOST_PARAMETER_FLATTEN_SPEC_AUX( \ - r \ - , BOOST_PP_CAT( \ - BOOST_PARAMETER_FLATTEN_ARITY_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \ - )(arities) \ - , BOOST_PP_TUPLE_ELEM(3,2,arities) \ - , spec \ - , BOOST_PARAMETER_FLATTEN_SPEC_AS_DEDUCED \ - ) - -# define BOOST_PARAMETER_FLATTEN_SPEC_deduced(r, arities, spec) \ - BOOST_PP_SEQ_FOR_EACH_I_R( \ - r \ - , BOOST_PARAMETER_FLATTEN_SPEC_deduced_M \ - , arities \ - , BOOST_PARAMETER_FLATTEN_ARGS(spec) \ - ) - -# define BOOST_PARAMETER_FLATTEN_SPEC(r, arities, spec) \ - BOOST_PP_CAT( \ - BOOST_PARAMETER_FLATTEN_SPEC_, BOOST_PARAMETER_FLATTEN_QUALIFIER(spec) \ - )(r, arities, spec) - -# define BOOST_PARAMETER_FLATTEN(optional_arity, required_arity, wanted_arity, specs) \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_PARAMETER_FLATTEN_SPEC \ - , ( \ - optional_arity, required_arity \ - , wanted_arity \ - ) \ - , specs \ - ) - -#endif // BOOST_PARAMETER_FLATTEN_051217_HPP - diff --git a/external/boost/parameter/aux_/preprocessor/for_each.hpp b/external/boost/parameter/aux_/preprocessor/for_each.hpp deleted file mode 100644 index 0eb1f702d..000000000 --- a/external/boost/parameter/aux_/preprocessor/for_each.hpp +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright Daniel Wallin 2005. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_FOR_EACH_051217_HPP -# define BOOST_PARAMETER_FOR_EACH_051217_HPP - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# define BOOST_PARAMETER_FOR_EACH_head_aux2(x,y) (x,y), ~ -# define BOOST_PARAMETER_FOR_EACH_head_aux3(x,y,z) (x,y,z), ~ -# define BOOST_PARAMETER_FOR_EACH_head_aux4(x,y,z,u) (x,y,z,u), ~ -# define BOOST_PARAMETER_FOR_EACH_head(n,x) \ - BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_head_aux,n) x) - -# define BOOST_PARAMETER_FOR_EACH_pred_aux_BOOST_PARAMETER_FOR_EACH_END_SENTINEL -# define BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) \ - BOOST_PP_NOT(BOOST_PP_IS_EMPTY( \ - BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_pred_aux_, x) \ - )), ~ - -# define BOOST_PARAMETER_FOR_EACH_pred_aux2(x,y) \ - BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) -# define BOOST_PARAMETER_FOR_EACH_pred_aux3(x,y,z) \ - BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) -# define BOOST_PARAMETER_FOR_EACH_pred_aux4(x,y,z,u) \ - BOOST_PARAMETER_FOR_EACH_pred_aux_check(x) - -# define BOOST_PARAMETER_FOR_EACH_pred_aux0(n,x) \ - BOOST_PP_CAT(BOOST_PARAMETER_FOR_EACH_pred_aux,n) x - -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PARAMETER_FOR_EACH_pred_SPLIT_FIRST(x) \ - BOOST_PP_SPLIT(0, x) - -# define BOOST_PARAMETER_FOR_EACH_pred(r, state) \ - BOOST_PARAMETER_FOR_EACH_pred_SPLIT_FIRST( \ - BOOST_PARAMETER_FOR_EACH_pred_aux0( \ - BOOST_PP_TUPLE_ELEM(5,3,state) \ - , BOOST_PP_TUPLE_ELEM(5,0,state) \ - ) \ - ) -# else -# define BOOST_PARAMETER_FOR_EACH_pred(r, state) \ - BOOST_PP_SPLIT( \ - 0 \ - , BOOST_PARAMETER_FOR_EACH_pred_aux0( \ - BOOST_PP_TUPLE_ELEM(5,3,state) \ - , BOOST_PP_TUPLE_ELEM(5,0,state) \ - ) \ - ) -# endif - -# define BOOST_PARAMETER_FOR_EACH_op(r, state) \ - ( \ - BOOST_PP_TUPLE_EAT(BOOST_PP_TUPLE_ELEM(5,3,state)) \ - BOOST_PP_TUPLE_ELEM(5,0,state) \ - , BOOST_PP_TUPLE_ELEM(5,1,state) \ - , BOOST_PP_TUPLE_ELEM(5,2,state) \ - , BOOST_PP_TUPLE_ELEM(5,3,state) \ - , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(5,4,state)) \ - ) - -# define BOOST_PARAMETER_FOR_EACH_macro(r, state) \ - BOOST_PP_TUPLE_ELEM(5,2,state)( \ - r \ - , BOOST_PP_TUPLE_ELEM(5,4,state) \ - , BOOST_PARAMETER_FOR_EACH_head( \ - BOOST_PP_TUPLE_ELEM(5,3,state) \ - , BOOST_PP_TUPLE_ELEM(5,0,state) \ - ) \ - , BOOST_PP_TUPLE_ELEM(5,1,state) \ - ) - -# define BOOST_PARAMETER_FOR_EACH_build_end_sentinel(z,n,text) \ - BOOST_PP_COMMA_IF(n) BOOST_PARAMETER_FOR_EACH_END_SENTINEL -# define BOOST_PARAMETER_FOR_EACH_build_end_sentinel_tuple(arity) \ - ( \ - BOOST_PP_REPEAT(arity, BOOST_PARAMETER_FOR_EACH_build_end_sentinel, _) \ - ) - -# define BOOST_PARAMETER_FOR_EACH_R(r, arity, list, data, macro) \ - BOOST_PP_CAT(BOOST_PP_FOR_, r)( \ - (list BOOST_PARAMETER_FOR_EACH_build_end_sentinel_tuple(arity), data, macro, arity, 0) \ - , BOOST_PARAMETER_FOR_EACH_pred \ - , BOOST_PARAMETER_FOR_EACH_op \ - , BOOST_PARAMETER_FOR_EACH_macro \ - ) - -# define BOOST_PARAMETER_FOR_EACH(arity, list, data, macro) \ - BOOST_PARAMETER_FOR_EACH_R(BOOST_PP_DEDUCE_R(), arity, list, data, macro) - -#endif // BOOST_PARAMETER_FOR_EACH_051217_HPP - diff --git a/external/boost/parameter/aux_/python/invoker.hpp b/external/boost/parameter/aux_/python/invoker.hpp deleted file mode 100644 index 0e61d40e9..000000000 --- a/external/boost/parameter/aux_/python/invoker.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright Daniel Wallin 2005. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_INVOKER_051210_HPP -# define BOOST_PARAMETER_INVOKER_051210_HPP - -# include -# include -# include -# include -# include -# include - -namespace boost { namespace parameter { namespace python { namespace aux { - -template -struct invoker; - -template -struct make_invoker -{ - template - struct apply - { - typedef invoker< - mpl::size::value, M, R, Args - > type; - }; -}; - -template -struct member_invoker; - -template -struct make_member_invoker -{ - template - struct apply - { - typedef member_invoker< - mpl::size::value, M, R, T, Args - > type; - }; -}; - -template -struct call_invoker; - -template -struct make_call_invoker -{ - template - struct apply - { - typedef call_invoker< - mpl::size::value, T, R, Args - > type; - }; -}; - -template -struct init_invoker; - -template -struct make_init_invoker -{ - template - struct apply - { - typedef init_invoker< - mpl::size::value, T, Args - > type; - }; -}; - -template -struct invoker<0, M, R, Args> -{ - static R execute() - { - return M()(boost::type()); - } -}; - -template -struct member_invoker<0, M, R, T, Args> -{ - static R execute(T& self) - { - return M()(boost::type(), self); - } -}; - -template -struct call_invoker<0, T, R, Args> -{ - static R execute(T& self) - { - return self(); - } -}; - -template -struct init_invoker<0, T, Args> -{ - static T* execute(T& self) - { - return new T; - } -}; - -# define BOOST_PP_ITERATION_PARAMS_1 (4, \ - (1, BOOST_PARAMETER_MAX_ARITY, , 1)) -# include BOOST_PP_ITERATE() - -# define BOOST_PP_ITERATION_PARAMS_1 (4, \ - (1, BOOST_PARAMETER_MAX_ARITY, , 2)) -# include BOOST_PP_ITERATE() - -# define BOOST_PP_ITERATION_PARAMS_1 (4, \ - (1, BOOST_PARAMETER_MAX_ARITY, , 3)) -# include BOOST_PP_ITERATE() - -# define BOOST_PP_ITERATION_PARAMS_1 (4, \ - (1, BOOST_PARAMETER_MAX_ARITY, , 4)) -# include BOOST_PP_ITERATE() - -}}}} // namespace boost::parameter::python::aux - -#endif // BOOST_PARAMETER_INVOKER_051210_HPP - diff --git a/external/boost/parameter/aux_/python/invoker_iterate.hpp b/external/boost/parameter/aux_/python/invoker_iterate.hpp deleted file mode 100644 index c18f6d0bb..000000000 --- a/external/boost/parameter/aux_/python/invoker_iterate.hpp +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright Daniel Wallin 2005. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#include -#include -#include -#include - -#define N BOOST_PP_ITERATION() - -#define BOOST_PARAMETER_PY_ARG_TYPES(z, n, _) \ - typedef typename mpl::next< \ - BOOST_PP_CAT(iter,BOOST_PP_DEC(n)) \ - >::type BOOST_PP_CAT(iter,n); \ - \ - typedef typename mpl::deref::type BOOST_PP_CAT(spec,n); \ - typedef typename mpl::if_< \ - mpl::and_< \ - mpl::not_ \ - , typename BOOST_PP_CAT(spec,n)::optimized_default \ - > \ - , parameter::aux::maybe \ - , typename BOOST_PP_CAT(spec,n)::type \ - >::type BOOST_PP_CAT(arg,n); \ - typedef typename BOOST_PP_CAT(spec,n)::keyword BOOST_PP_CAT(kw,n); - -#if BOOST_PP_ITERATION_FLAGS() == 1 -template -struct invoker -#elif BOOST_PP_ITERATION_FLAGS() == 2 -template -struct call_invoker -#elif BOOST_PP_ITERATION_FLAGS() == 3 -template -struct init_invoker -#elif BOOST_PP_ITERATION_FLAGS() == 4 -template -struct member_invoker -#endif -{ - typedef typename mpl::begin::type iter0; - typedef typename mpl::deref::type spec0; - typedef typename mpl::if_< - mpl::and_< - mpl::not_ - , typename spec0::optimized_default - > - , parameter::aux::maybe - , typename spec0::type - >::type arg0; - typedef typename spec0::keyword kw0; - - BOOST_PP_REPEAT_FROM_TO(1, N, BOOST_PARAMETER_PY_ARG_TYPES, ~) - - static -#if BOOST_PP_ITERATION_FLAGS() == 3 - T* -#else - R -#endif - execute( -#if BOOST_PP_ITERATION_FLAGS() == 2 || BOOST_PP_ITERATION_FLAGS() == 4 - T& self - , -#endif - BOOST_PP_ENUM_BINARY_PARAMS(N, arg, a) - ) - { - return -#if BOOST_PP_ITERATION_FLAGS() == 1 || BOOST_PP_ITERATION_FLAGS() == 4 - M()( - boost::type() -# if BOOST_PP_ITERATION_FLAGS() == 4 - , self -# endif - , BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword::get() = a) - ); -#elif BOOST_PP_ITERATION_FLAGS() == 2 - self( - BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword::get() = a) - ); -#elif BOOST_PP_ITERATION_FLAGS() == 3 - new T( - BOOST_PP_ENUM_BINARY_PARAMS(N, parameter::keyword::get() = a) - ); -#endif - } -}; - -#undef BOOST_PARAMETER_PY_ARG_TYPES -#undef N - diff --git a/external/boost/parameter/aux_/result_of0.hpp b/external/boost/parameter/aux_/result_of0.hpp deleted file mode 100644 index e0096148b..000000000 --- a/external/boost/parameter/aux_/result_of0.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright David Abrahams 2005. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP -# define BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP - -# include - -// A metafunction returning the result of invoking a nullary function -// object of the given type. - -#ifndef BOOST_NO_RESULT_OF - -# include -namespace boost { namespace parameter { namespace aux { -template -struct result_of0 : result_of -{}; - -}}} // namespace boost::parameter::aux_ - -#else - -namespace boost { namespace parameter { namespace aux { -template -struct result_of0 -{ - typedef typename F::result_type type; -}; - -}}} // namespace boost::parameter::aux_ - -#endif - - -#endif // BOOST_PARAMETER_AUX_RESULT_OF0_DWA2005511_HPP diff --git a/external/boost/parameter/aux_/set.hpp b/external/boost/parameter/aux_/set.hpp deleted file mode 100644 index 7ab93dc7b..000000000 --- a/external/boost/parameter/aux_/set.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_SET_060912_HPP -# define BOOST_PARAMETER_SET_060912_HPP - -# include - -# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -# include -# include -# include - -namespace boost { namespace parameter { namespace aux { - -typedef mpl::set0<> set0; - -template -struct insert_ -{ - typedef typename mpl::insert::type type; -}; - -template -struct has_key_ -{ - typedef typename mpl::has_key::type type; -}; - -}}} // namespace boost::parameter::aux - -# else - -# include -# include -# include -# include -# include - -namespace boost { namespace parameter { namespace aux { - -typedef mpl::list0<> set0; - -template -struct insert_ -{ - typedef typename mpl::push_front::type type; -}; - -template -struct has_key_ -{ - typedef typename mpl::find::type iter; - typedef mpl::not_< - is_same::type> - > type; -}; - -}}} // namespace boost::parameter::aux - -# endif - - -#endif // BOOST_PARAMETER_SET_060912_HPP - diff --git a/external/boost/parameter/aux_/tag.hpp b/external/boost/parameter/aux_/tag.hpp deleted file mode 100644 index 475efb9e4..000000000 --- a/external/boost/parameter/aux_/tag.hpp +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright David Abrahams 2005. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP -# define BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP - -# include -# include - -namespace boost { namespace parameter { namespace aux { - -template ::type -#endif - > -struct tag -{ - typedef tagged_argument< - Keyword - , typename unwrap_cv_reference::type - > type; -}; - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -template -struct tag -{ - typedef tagged_argument< - Keyword - , ActualArg - > type; -}; -#endif - -}}} // namespace boost::parameter::aux_ - -#endif // BOOST_PARAMETER_AUX_TAG_DWA2005610_HPP diff --git a/external/boost/parameter/aux_/tagged_argument.hpp b/external/boost/parameter/aux_/tagged_argument.hpp deleted file mode 100644 index 79d273e41..000000000 --- a/external/boost/parameter/aux_/tagged_argument.hpp +++ /dev/null @@ -1,188 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP -# define BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -namespace boost { namespace parameter { namespace aux { - -struct empty_arg_list; -struct arg_list_tag; - -struct tagged_argument_base {}; - -// Holds a reference to an argument of type Arg associated with -// keyword Keyword - -template -struct tagged_argument : tagged_argument_base -{ - typedef Keyword key_type; - typedef Arg value_type; - typedef Arg& reference; - - tagged_argument(reference x) : value(x) {} - - // A metafunction class that, given a keyword and a default - // type, returns the appropriate result type for a keyword - // lookup given that default - struct binding - { - template - struct apply - { - typedef typename mpl::eval_if< - boost::is_same - , mpl::if_ - , mpl::identity - >::type type; - }; - }; - - // Comma operator to compose argument list without using parameters<>. - // Useful for argument lists with undetermined length. - template - arg_list< - tagged_argument - , arg_list > - > - operator,(tagged_argument x) const - { - return arg_list< - tagged_argument - , arg_list > - >( - *this - , arg_list >(x, empty_arg_list()) - ); - } - - reference operator[](keyword const&) const - { - return value; - } - -# if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - template - Default& get_with_default(default_ const& x, int) const - { - return x.value; - } - - template - reference get_with_default(default_ const&, long) const - { - return value; - } - - template - typename mpl::apply_wrap3::type - operator[](default_ const& x) const - { - return get_with_default(x, 0L); - } - - template - typename result_of0::type - get_with_lazy_default(lazy_default const& x, int) const - { - return x.compute_default(); - } - - template - reference get_with_lazy_default(lazy_default const&, long) const - { - return value; - } - - template - typename mpl::apply_wrap3< - binding,KW - , typename result_of0::type - , mpl::true_ - >::type - operator[](lazy_default const& x) const - { - return get_with_lazy_default(x, 0L); - } -# else - template - reference operator[](default_ const& ) const - { - return value; - } - - template - reference operator[](lazy_default const& ) const - { - return value; - } - - template - Default& operator[](default_ const& x) const - { - return x.value; - } - - template - typename result_of0::type operator[](lazy_default const& x) const - { - return x.compute_default(); - } - - template - static typename ParameterRequirements::has_default - satisfies(ParameterRequirements*); - - template - static typename mpl::apply1::type - satisfies( - parameter_requirements* - ); -# endif - - reference value; -# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) - // warning suppression - private: - void operator=(tagged_argument const&); - public: -# endif - // MPL sequence support - typedef tagged_argument type; // Convenience for users - typedef empty_arg_list tail_type; // For the benefit of iterators - typedef arg_list_tag tag; // For dispatching to sequence intrinsics -}; - -// Defines a metafunction, is_tagged_argument, that identifies -// tagged_argument specializations and their derived classes. -template -struct is_tagged_argument_aux - : is_convertible -{}; - -template -struct is_tagged_argument - : mpl::and_< - mpl::not_ > - , is_tagged_argument_aux - > -{}; - -}}} // namespace boost::parameter::aux - -#endif // BOOST_PARAMETER_TAGGED_ARGUMENT_050328_HPP - diff --git a/external/boost/parameter/aux_/template_keyword.hpp b/external/boost/parameter/aux_/template_keyword.hpp deleted file mode 100644 index 5a02f008a..000000000 --- a/external/boost/parameter/aux_/template_keyword.hpp +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP -# define BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP - -# include -# include -# include -# include - -namespace boost { namespace parameter { - -namespace aux -{ - - struct template_keyword_tag {}; - - template - struct is_pointer_convertible - : is_convertible - {}; - - template - struct is_template_keyword - : mpl::and_< - mpl::not_ > - , is_pointer_convertible - > - {}; - -} // namespace aux - -template -struct template_keyword - : aux::template_keyword_tag -{ - typedef Tag key_type; - typedef T value_type; - typedef value_type reference; -}; - -}} // namespace boost::parameter - -#endif // BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP - diff --git a/external/boost/parameter/aux_/unwrap_cv_reference.hpp b/external/boost/parameter/aux_/unwrap_cv_reference.hpp deleted file mode 100644 index b6c263f23..000000000 --- a/external/boost/parameter/aux_/unwrap_cv_reference.hpp +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef UNWRAP_CV_REFERENCE_050328_HPP -#define UNWRAP_CV_REFERENCE_050328_HPP - -#include -#include -#include -#include - -namespace boost { template class reference_wrapper; } - -namespace boost { namespace parameter { namespace aux { - -// -// reference_wrapper support -- because of the forwarding problem, -// when passing arguments positionally by non-const reference, we -// ask users of named parameter interfaces to use ref(x) to wrap -// them. -// - -// is_cv_reference_wrapper returns mpl::true_ if T is of type -// reference_wrapper cv -template -yes_tag is_cv_reference_wrapper_check(reference_wrapper const volatile*); -no_tag is_cv_reference_wrapper_check(...); - -template -struct is_cv_reference_wrapper -{ - BOOST_STATIC_CONSTANT( - bool, value = ( - sizeof(is_cv_reference_wrapper_check((T*)0)) == sizeof(yes_tag) - ) - ); - - typedef mpl::bool_< -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - is_cv_reference_wrapper:: -#endif - value> type; -}; - -// Needed for unwrap_cv_reference below. T might be const, so -// eval_if might fail because of deriving from T const on EDG. -template -struct get_type -{ - typedef typename T::type type; -}; - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -template ::type> -struct unwrap_cv_reference -{ - typedef T type; -}; - -template -struct unwrap_cv_reference -{ - typedef T const type; -}; - -template -struct unwrap_cv_reference - : T -{}; - -#else -// Produces the unwrapped type to hold a reference to in named<> -// Can't use boost::unwrap_reference<> here because it -// doesn't handle the case where T = reference_wrapper cv -template -struct unwrap_cv_reference -{ - typedef typename mpl::eval_if< - is_cv_reference_wrapper - , get_type - , mpl::identity - >::type type; -}; -#endif - -}}} // namespace boost::parameter::aux - -#endif // UNWRAP_CV_REFERENCE_050328_HPP - diff --git a/external/boost/parameter/aux_/void.hpp b/external/boost/parameter/aux_/void.hpp deleted file mode 100644 index 7061a7deb..000000000 --- a/external/boost/parameter/aux_/void.hpp +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_VOID_050329_HPP -#define BOOST_PARAMETER_VOID_050329_HPP - -namespace boost { namespace parameter { - -// A placemarker for "no argument passed." -// MAINTAINER NOTE: Do not make this into a metafunction -struct void_ {}; - -namespace aux -{ - - inline void_& void_reference() - { - static void_ instance; - return instance; - } - -} // namespace aux - -}} // namespace boost::parameter - -#endif // BOOST_PARAMETER_VOID_050329_HPP - diff --git a/external/boost/parameter/aux_/yesno.hpp b/external/boost/parameter/aux_/yesno.hpp deleted file mode 100644 index 13fa545a6..000000000 --- a/external/boost/parameter/aux_/yesno.hpp +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef YESNO_050328_HPP -#define YESNO_050328_HPP - -#include - -namespace boost { namespace parameter { namespace aux { - -// types used with the "sizeof trick" to capture the results of -// overload resolution at compile-time. -typedef char yes_tag; -typedef char (&no_tag)[2]; - -// mpl::true_ and mpl::false_ are not distinguishable by sizeof(), -// so we pass them through these functions to get a type that is. -yes_tag to_yesno(mpl::true_); -no_tag to_yesno(mpl::false_); - -}}} // namespace boost::parameter::aux - -#endif // YESNO_050328_HPP - diff --git a/external/boost/parameter/binding.hpp b/external/boost/parameter/binding.hpp deleted file mode 100644 index 778a7b7ba..000000000 --- a/external/boost/parameter/binding.hpp +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright David Abrahams 2005. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_PARAMETER_BINDING_DWA200558_HPP -# define BOOST_PARAMETER_BINDING_DWA200558_HPP - -# include -# include -# include -# include -# include -# include - -namespace boost { namespace parameter { - -// A metafunction that, given an argument pack, returns the type of -// the parameter identified by the given keyword. If no such -// parameter has been specified, returns Default - -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -template -struct binding0 -{ - typedef typename mpl::apply_wrap3< - typename Parameters::binding,Keyword,Default,mpl::true_ - >::type type; - - BOOST_MPL_ASSERT_NOT(( - mpl::and_< - is_same - , is_same - > - )); -}; -# endif - -template -struct binding -{ -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - typedef typename mpl::eval_if< - mpl::is_placeholder - , mpl::identity - , binding0 - >::type type; -# else - typedef typename mpl::apply_wrap3< - typename Parameters::binding,Keyword,Default,mpl::true_ - >::type type; - - BOOST_MPL_ASSERT_NOT(( - mpl::and_< - is_same - , is_same - > - )); -# endif - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,binding,(Parameters,Keyword,Default)) -}; - -// A metafunction that, given an argument pack, returns the type of -// the parameter identified by the given keyword. If no such -// parameter has been specified, returns the type returned by invoking -// DefaultFn -template -struct lazy_binding -{ - typedef typename mpl::apply_wrap3< - typename Parameters::binding - , Keyword - , typename aux::result_of0::type - , mpl::true_ - >::type type; -}; - - -}} // namespace boost::parameter - -#endif // BOOST_PARAMETER_BINDING_DWA200558_HPP diff --git a/external/boost/parameter/config.hpp b/external/boost/parameter/config.hpp deleted file mode 100644 index 5710c92c0..000000000 --- a/external/boost/parameter/config.hpp +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_CONFIG_050403_HPP -#define BOOST_PARAMETER_CONFIG_050403_HPP - -#ifndef BOOST_PARAMETER_MAX_ARITY -# define BOOST_PARAMETER_MAX_ARITY 8 -#endif - -#endif // BOOST_PARAMETER_CONFIG_050403_HPP - diff --git a/external/boost/parameter/keyword.hpp b/external/boost/parameter/keyword.hpp deleted file mode 100644 index 925c77208..000000000 --- a/external/boost/parameter/keyword.hpp +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright Daniel Wallin, David Abrahams 2005. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef KEYWORD_050328_HPP -#define KEYWORD_050328_HPP - -#include -#include -#include - -namespace boost { namespace parameter { - -// Instances of unique specializations of keyword<...> serve to -// associate arguments with parameter names. For example: -// -// struct rate_; // parameter names -// struct skew_; -// namespace -// { -// keyword rate; // keywords -// keyword skew; -// } -// -// ... -// -// f(rate = 1, skew = 2.4); -// -template -struct keyword -{ - template - typename aux::tag::type const - operator=(T& x) const - { - typedef typename aux::tag::type result; - return result(x); - } - - template - aux::default_ - operator|(Default& default_) const - { - return aux::default_(default_); - } - - template - aux::lazy_default - operator||(Default& default_) const - { - return aux::lazy_default(default_); - } - - template - typename aux::tag::type const - operator=(T const& x) const - { - typedef typename aux::tag::type result; - return result(x); - } - - template - aux::default_ - operator|(const Default& default_) const - { - return aux::default_(default_); - } - - template - aux::lazy_default - operator||(Default const& default_) const - { - return aux::lazy_default(default_); - } - - public: // Insurance against ODR violations - - // People will need to define these keywords in header files. To - // prevent ODR violations, it's important that the keyword used in - // every instantiation of a function template is the same object. - // We provide a reference to a common instance of each keyword - // object and prevent construction by users. - static keyword const instance; - - // This interface is deprecated - static keyword& get() - { - return const_cast&>(instance); - } -}; - -template -keyword const keyword::instance = {}; - -// Reduces boilerplate required to declare and initialize keywords -// without violating ODR. Declares a keyword tag type with the given -// name in namespace tag_namespace, and declares and initializes a -// reference in an anonymous namespace to a singleton instance of that -// type. - -#define BOOST_PARAMETER_KEYWORD(tag_namespace,name) \ - namespace tag_namespace \ - { \ - struct name \ - { \ - static char const* keyword_name() \ - { \ - return #name; \ - } \ - }; \ - } \ - namespace \ - { \ - ::boost::parameter::keyword const& name \ - = ::boost::parameter::keyword::instance;\ - } - -}} // namespace boost::parameter - -#endif // KEYWORD_050328_HPP - diff --git a/external/boost/parameter/macros.hpp b/external/boost/parameter/macros.hpp deleted file mode 100644 index 83fbfb5a6..000000000 --- a/external/boost/parameter/macros.hpp +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright David Abrahams, Daniel Wallin 2003. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_MACROS_050412_HPP -#define BOOST_PARAMETER_MACROS_050412_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD1(n) \ - template - -#define BOOST_PARAMETER_FUN_TEMPLATE_HEAD0(n) - -#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) - -# define BOOST_PARAMETER_MATCH_TYPE(n, param) \ - BOOST_PP_EXPR_IF(n, typename) param::match \ - < \ - BOOST_PP_ENUM_PARAMS(n, T) \ - >::type - -#else - -# define BOOST_PARAMETER_MATCH_TYPE(n, param) param - -#endif - -#define BOOST_PARAMETER_FUN_DECL(z, n, params) \ - \ - BOOST_PP_CAT(BOOST_PARAMETER_FUN_TEMPLATE_HEAD, BOOST_PP_BOOL(n))(n) \ - \ - BOOST_PP_TUPLE_ELEM(3, 0, params) \ - BOOST_PP_TUPLE_ELEM(3, 1, params)( \ - BOOST_PP_ENUM_BINARY_PARAMS(n, T, const& p) \ - BOOST_PP_COMMA_IF(n) \ - BOOST_PARAMETER_MATCH_TYPE(n,BOOST_PP_TUPLE_ELEM(3, 2, params)) \ - kw = BOOST_PP_TUPLE_ELEM(3, 2, params)() \ - ) \ - { \ - return BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 1, params), _with_named_params)( \ - kw(BOOST_PP_ENUM_PARAMS(n, p)) \ - ); \ - } - -// Generates: -// -// template -// ret name ## _with_named_params(Params const&); -// -// template -// ret name(T0 const& p0, typename parameters::match::type kw = parameters()) -// { -// return name ## _with_named_params(kw(p0)); -// } -// -// template -// ret name(T0 const& p0, ..., TN const& PN -// , typename parameters::match::type kw = parameters()) -// { -// return name ## _with_named_params(kw(p0, ..., pN)); -// } -// -// template -// ret name ## _with_named_params(Params const&) -// -// lo and hi determines the min and max arity of the generated functions. - -#define BOOST_PARAMETER_FUN(ret, name, lo, hi, parameters) \ - \ - template \ - ret BOOST_PP_CAT(name, _with_named_params)(Params const& p); \ - \ - BOOST_PP_REPEAT_FROM_TO( \ - lo, BOOST_PP_INC(hi), BOOST_PARAMETER_FUN_DECL, (ret, name, parameters)) \ - \ - template \ - ret BOOST_PP_CAT(name, _with_named_params)(Params const& p) - -#define BOOST_PARAMETER_MEMFUN(ret, name, lo, hi, parameters) \ - \ - BOOST_PP_REPEAT_FROM_TO( \ - lo, BOOST_PP_INC(hi), BOOST_PARAMETER_FUN_DECL, (ret, name, parameters)) \ - \ - template \ - ret BOOST_PP_CAT(name, _with_named_params)(Params const& p) - -#endif // BOOST_PARAMETER_MACROS_050412_HPP - diff --git a/external/boost/parameter/match.hpp b/external/boost/parameter/match.hpp deleted file mode 100644 index 2fa3f1750..000000000 --- a/external/boost/parameter/match.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright David Abrahams 2005. Distributed under the Boost -// Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_PARAMETER_MATCH_DWA2005714_HPP -# define BOOST_PARAMETER_MATCH_DWA2005714_HPP - -# include -# include - -# if BOOST_WORKAROUND(__MWERKS__, <= 0x3003) -// Temporary version of BOOST_PP_SEQ_ENUM until Paul M. integrates the workaround. -# define BOOST_PARAMETER_SEQ_ENUM_I(size,seq) BOOST_PP_CAT(BOOST_PP_SEQ_ENUM_, size) seq -# define BOOST_PARAMETER_SEQ_ENUM(seq) BOOST_PARAMETER_SEQ_ENUM_I(BOOST_PP_SEQ_SIZE(seq), seq) -# else -# define BOOST_PARAMETER_SEQ_ENUM(seq) BOOST_PP_SEQ_ENUM(seq) -# endif - -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - -# include -# include -# include -# include -# include - -# define BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes) \ - BOOST_PP_ENUM_TRAILING_PARAMS( \ - BOOST_PP_SUB( \ - BOOST_PARAMETER_MAX_ARITY \ - , BOOST_PP_SEQ_SIZE(ArgTypes) \ - ) \ - , ::boost::parameter::void_ BOOST_PP_INTERCEPT \ - ) - -# else - -# define BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes) - -# endif - -// -// Generates, e.g. -// -// typename dfs_params::match::type name = dfs_params() -// -// with workarounds for Borland compatibility. -// - -# define BOOST_PARAMETER_MATCH(ParameterSpec, ArgTypes, name) \ - typename ParameterSpec ::match< \ - BOOST_PARAMETER_SEQ_ENUM(ArgTypes) \ - BOOST_PARAMETER_MATCH_DEFAULTS(ArgTypes) \ - >::type name = ParameterSpec () - -#endif // BOOST_PARAMETER_MATCH_DWA2005714_HPP diff --git a/external/boost/parameter/name.hpp b/external/boost/parameter/name.hpp deleted file mode 100644 index f439df416..000000000 --- a/external/boost/parameter/name.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_NAME_060806_HPP -# define BOOST_PARAMETER_NAME_060806_HPP - -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# if !defined(BOOST_NO_SFINAE) \ - && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) - -# include -# include - -namespace boost { namespace parameter { namespace aux { - -// Tag type passed to MPL lambda. -struct lambda_tag; - -struct name_tag_base -{}; - -template -struct name_tag -{}; - -template -struct is_name_tag - : mpl::false_ -{}; - -}}} // namespace boost::parameter::aux - -namespace boost { namespace mpl { - -template -struct lambda< - T - , typename boost::enable_if< - parameter::aux::is_name_tag, parameter::aux::lambda_tag - >::type -> -{ - typedef true_ is_le; - typedef bind3< quote3, arg<2>, T, void> result_; - typedef result_ type; -}; - -}} // namespace boost::mpl - -# endif - -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -# include -// From Paul Mensonides -# define BOOST_PARAMETER_IS_BINARY(x) \ - BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_BINARY_C x BOOST_PP_COMMA() 0) \ - /**/ -# define BOOST_PARAMETER_IS_BINARY_C(x,y) \ - ~, 1 BOOST_PP_RPAREN() \ - BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~ \ - /**/ -# else -# include -# define BOOST_PARAMETER_IS_BINARY(x) BOOST_PP_IS_BINARY(x) -# endif - -# define BOOST_PARAMETER_BASIC_NAME(tag_namespace, tag, name) \ - namespace tag_namespace \ - { \ - struct tag \ - { \ - static char const* keyword_name() \ - { \ - return BOOST_PP_STRINGIZE(tag); \ - } \ - \ - typedef boost::parameter::value_type< \ - boost::mpl::_2, tag, boost::parameter::void_ \ - > _; \ - \ - typedef boost::parameter::value_type< \ - boost::mpl::_2, tag, boost::parameter::void_ \ - > _1; \ - }; \ - } \ - namespace \ - { \ - ::boost::parameter::keyword const& name \ - = ::boost::parameter::keyword::instance; \ - } - -# define BOOST_PARAMETER_COMPLEX_NAME_TUPLE1(tag,namespace) \ - (tag, namespace), ~ - -# define BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name) \ - BOOST_PP_TUPLE_ELEM(2, 0, (BOOST_PARAMETER_COMPLEX_NAME_TUPLE1 name)) - -# define BOOST_PARAMETER_COMPLEX_NAME_TAG(name) \ - BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name)) - -# define BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name) \ - BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PARAMETER_COMPLEX_NAME_TUPLE(name)) - -# define BOOST_PARAMETER_COMPLEX_NAME(name) \ - BOOST_PARAMETER_BASIC_NAME( \ - BOOST_PARAMETER_COMPLEX_NAME_NAMESPACE(name) \ - , BOOST_PP_TUPLE_EAT(2) name \ - , BOOST_PARAMETER_COMPLEX_NAME_TAG(name) \ - ) \ -/**/ - -# define BOOST_PARAMETER_SIMPLE_NAME(name) \ - BOOST_PARAMETER_BASIC_NAME(tag, name, BOOST_PP_CAT(_, name)) - -# define BOOST_PARAMETER_NAME(name) \ - BOOST_PP_IIF( \ - BOOST_PARAMETER_IS_BINARY(name) \ - , BOOST_PARAMETER_COMPLEX_NAME \ - , BOOST_PARAMETER_SIMPLE_NAME \ - )(name) \ -/**/ - - -# define BOOST_PARAMETER_TEMPLATE_KEYWORD(name) \ - namespace tag \ - { \ - struct name; \ - } \ - template \ - struct name \ - : boost::parameter::template_keyword \ - {}; \ -/**/ - -#endif // BOOST_PARAMETER_NAME_060806_HPP - diff --git a/external/boost/parameter/parameters.hpp b/external/boost/parameter/parameters.hpp deleted file mode 100644 index 97e102434..000000000 --- a/external/boost/parameter/parameters.hpp +++ /dev/null @@ -1,931 +0,0 @@ -// Copyright David Abrahams, Daniel Wallin 2003. Use, modification and -// distribution is subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETERS_031014_HPP -#define BOOST_PARAMETERS_031014_HPP - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace parameter_ -{ - template - struct unmatched_argument - { - BOOST_MPL_ASSERT((boost::is_same)); - typedef int type; - }; -} // namespace parameter_ - -namespace boost { - -template class reference_wrapper; - -namespace parameter { - -namespace aux { struct use_default {}; } - -// These templates can be used to describe the treatment of particular -// named parameters for the purposes of overload elimination with -// SFINAE, by placing specializations in the parameters<...> list. In -// order for a treated function to participate in overload resolution: -// -// - all keyword tags wrapped in required<...> must have a matching -// actual argument -// -// - The actual argument type matched by every keyword tag -// associated with a predicate must satisfy that predicate -// -// If a keyword k is specified without an optional<...> or -// required<...>, wrapper, it is treated as though optional were -// specified. -// -// If a keyword k is specified with deduced<...>, that keyword -// will be automatically deduced from the argument list. -// -template -struct required -{ - typedef Tag key_type; - typedef Predicate predicate; -}; - -template -struct optional -{ - typedef Tag key_type; - typedef Predicate predicate; -}; - -template -struct deduced -{ - typedef Tag key_type; -}; - -namespace aux -{ - // Defines metafunctions, is_required and is_optional, that - // identify required<...>, optional<...> and deduced<...> specializations. - BOOST_DETAIL_IS_XXX_DEF(required, required, 2) - BOOST_DETAIL_IS_XXX_DEF(optional, optional, 2) - BOOST_DETAIL_IS_XXX_DEF(deduced_aux, deduced, 1) - - template - struct is_deduced0 - : is_deduced_aux< - typename S::key_type - >::type - {}; - - template - struct is_deduced - : mpl::eval_if< - mpl::or_< - is_optional, is_required - > - , is_deduced0 - , mpl::false_ - >::type - {}; - - // - // key_type, has_default, and predicate -- - // - // These metafunctions accept a ParameterSpec and extract the - // keyword tag, whether or not a default is supplied for the - // parameter, and the predicate that the corresponding actual - // argument type is required match. - // - // a ParameterSpec is a specialization of either keyword<...>, - // required<...>, optional<...> - // - - // helper for key_type<...>, below. - template - struct get_tag_type0 - { - typedef typename T::key_type type; - }; - - template - struct get_tag_type - : mpl::eval_if< - is_deduced_aux - , get_tag_type0 - , mpl::identity - > - {}; - - template - struct tag_type - : mpl::eval_if< - mpl::or_< - is_optional - , is_required - > - , get_tag_type - , mpl::identity - > - {}; - - template - struct has_default - : mpl::not_ > - {}; - - // helper for get_predicate<...>, below - template - struct get_predicate_or_default - { - typedef T type; - }; - - template <> - struct get_predicate_or_default - { - typedef mpl::always type; - }; - - // helper for predicate<...>, below - template - struct get_predicate - { - typedef typename - get_predicate_or_default::type - type; - }; - - template - struct predicate - : mpl::eval_if< - mpl::or_< - is_optional - , is_required - > - , get_predicate - , mpl::identity > - > - { - }; - - - // Converts a ParameterSpec into a specialization of - // parameter_requirements. We need to do this in order to get the - // tag_type into the type in a way that can be conveniently matched - // by a satisfies(...) member function in arg_list. - template - struct as_parameter_requirements - { - typedef parameter_requirements< - typename tag_type::type - , typename predicate::type - , typename has_default::type - > type; - }; - - template - struct is_named_argument - : mpl::or_< - is_template_keyword - , is_tagged_argument - > - {}; - - // Returns mpl::true_ iff the given ParameterRequirements are - // satisfied by ArgList. - template - struct satisfies - { -#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) - // VC7.1 can't handle the sizeof() implementation below, - // so we use this instead. - typedef typename mpl::apply_wrap3< - typename ArgList::binding - , typename ParameterRequirements::keyword - , void_ - , mpl::false_ - >::type bound; - - typedef typename mpl::eval_if< - is_same - , typename ParameterRequirements::has_default - , mpl::apply_wrap2< - typename mpl::lambda< - typename ParameterRequirements::predicate, lambda_tag - >::type - , bound - , ArgList - > - >::type type; -#else - BOOST_STATIC_CONSTANT( - bool, value = ( - sizeof( - aux::to_yesno( - ArgList::satisfies((ParameterRequirements*)0, (ArgList*)0) - ) - ) == sizeof(yes_tag) - ) - ); - - typedef mpl::bool_ type; -#endif - }; - - // Returns mpl::true_ if the requirements of the given ParameterSpec - // are satisfied by ArgList. - template - struct satisfies_requirements_of - : satisfies< - ArgList - , typename as_parameter_requirements::type - > - {}; - - // Tags a deduced argument Arg with the keyword tag of Spec using TagFn. - // Returns the tagged argument and the mpl::set<> UsedArgs with the - // tag of Spec inserted. - template - struct tag_deduced - { - typedef mpl::pair< - typename mpl::apply_wrap2::type, Arg>::type - , typename aux::insert_::type>::type - > type; - }; - - template < - class Argument - , class ArgumentPack - , class DeducedArgs - , class UsedArgs - , class TagFn - > - struct deduce_tag; - - // Tag type passed to MPL lambda. - struct lambda_tag; - - // Helper for deduce_tag<> below. - template < - class Argument - , class ArgumentPack - , class DeducedArgs - , class UsedArgs - , class TagFn - > - struct deduce_tag0 - { - typedef typename DeducedArgs::spec spec; - - typedef typename mpl::apply_wrap2< - typename mpl::lambda< - typename spec::predicate, lambda_tag - >::type - , Argument - , ArgumentPack - >::type condition; - - // Deduced parameter matches several arguments. - - BOOST_MPL_ASSERT(( - mpl::not_::type> - > > - )); - - typedef typename mpl::eval_if< - condition - , tag_deduced - , deduce_tag - >::type type; - }; - - // Tries to deduced a keyword tag for a given Argument. - // Returns an mpl::pair<> consisting of the tagged_argument<>, - // and an mpl::set<> where the new tag has been inserted. - // - // Argument: The argument type to be tagged. - // - // ArgumentPack: The ArgumentPack built so far. - // - // DeducedArgs: A specialization of deduced_item<> (see below). - // A list containing only the deduced ParameterSpecs. - // - // UsedArgs: An mpl::set<> containing the keyword tags used so far. - // - // TagFn: A metafunction class used to tag positional or deduced - // arguments with a keyword tag. - - template < - class Argument - , class ArgumentPack - , class DeducedArgs - , class UsedArgs - , class TagFn - > - struct deduce_tag - { - typedef typename mpl::eval_if< - is_same - , mpl::pair - , deduce_tag0 - >::type type; - }; - - template < - class List - , class DeducedArgs - , class TagFn - , class Positional - , class UsedArgs - , class ArgumentPack - , class Error - > - struct make_arg_list_aux; - - // Inserts Tagged::key_type into the UserArgs set. - // Extra indirection to lazily evaluate Tagged::key_type. - template - struct insert_tagged - { - typedef typename aux::insert_< - UsedArgs, typename Tagged::key_type - >::type type; - }; - - // Borland needs the insane extra-indirection workaround below - // so that it doesn't magically drop the const qualifier from - // the argument type. - - template < - class List - , class DeducedArgs - , class TagFn - , class Positional - , class UsedArgs - , class ArgumentPack -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - , class argument -#endif - , class Error - > -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - struct make_arg_list00 -#else - struct make_arg_list0 -#endif - { -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - typedef typename List::arg argument; -#endif - typedef typename List::spec parameter_spec; - typedef typename tag_type::type tag_; - - typedef is_named_argument is_tagged; - - // If this argument is either explicitly tagged or a deduced - // parameter, we turn off positional matching. - typedef mpl::and_< - mpl::not_< - mpl::or_, is_tagged> - > - , Positional - > positional; - - // If this parameter is explicitly tagged we add it to the - // used-parmeters set. We only really need to add parameters - // that are deduced, but we would need a way to check if - // a given tag corresponds to a deduced parameter spec. - typedef typename mpl::eval_if< - is_tagged - , insert_tagged - , mpl::identity - >::type used_args; - - // If this parameter is neither explicitly tagged, nor - // positionally matched; deduce the tag from the deduced - // parameter specs. - typedef typename mpl::eval_if< - mpl::or_ - , mpl::pair - , deduce_tag - >::type deduced_data; - - // If this parameter is explicitly tagged.. - typedef typename mpl::eval_if< - is_tagged - , mpl::identity // .. just use it - , mpl::eval_if< // .. else, if positional matching is turned on.. - positional - , mpl::apply_wrap2 // .. tag it positionally - , mpl::first // .. else, use the deduced tag - > - >::type tagged; - - // We build the arg_list incrementally as we go, prepending new - // nodes. - - typedef typename mpl::if_< - mpl::and_< - is_same - , is_same - > - , parameter_::unmatched_argument - , void_ - >::type error; - - typedef typename mpl::if_< - is_same - , ArgumentPack - , arg_list - >::type argument_pack; - - typedef typename make_arg_list_aux< - typename List::tail - , DeducedArgs - , TagFn - , positional - , typename deduced_data::second - , argument_pack - , error - >::type type; - }; - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - template < - class List - , class DeducedArgs - , class TagFn - , class Positional - , class UsedArgs - , class ArgumentPack - , class Error - > - struct make_arg_list0 - { - typedef typename mpl::eval_if< - typename List::is_arg_const - , make_arg_list00< - List - , DeducedArgs - , TagFn - , Positional - , UsedArgs - , ArgumentPack - , typename List::arg const - , Error - > - , make_arg_list00< - List - , DeducedArgs - , TagFn - , Positional - , UsedArgs - , ArgumentPack - , typename List::arg - , Error - > - >::type type; - }; -#endif - - // Returns an ArgumentPack where the list of arguments has - // been tagged with keyword tags. - // - // List: A specialization of item<> (see below). Contains - // both the ordered ParameterSpecs, and the given arguments. - // - // DeducedArgs: A specialization of deduced_item<> (see below). - // A list containing only the deduced ParameterSpecs. - // - // TagFn: A metafunction class used to tag positional or deduced - // arguments with a keyword tag. - // - // Position: An mpl::bool_<> specialization indicating if positional - // matching is to be performed. - // - // DeducedSet: An mpl::set<> containing the keyword tags used so far. - // - // ArgumentPack: The ArgumentPack built so far. This is initially an - // empty_arg_list and is built incrementally. - // - - template < - class List - , class DeducedArgs - , class TagFn - , class Positional - , class DeducedSet - , class ArgumentPack - , class Error - > - struct make_arg_list_aux - { - typedef typename mpl::eval_if< - is_same - , mpl::identity > - , make_arg_list0 - >::type type; - }; - - // VC6.5 was choking on the default parameters for make_arg_list_aux, so - // this just forwards to that adding in the defaults. - template < - class List - , class DeducedArgs - , class TagFn - , class EmitErrors = mpl::true_ - > - struct make_arg_list - { - typedef typename make_arg_list_aux< - List, DeducedArgs, TagFn, mpl::true_, aux::set0, empty_arg_list, void_ - >::type type; - }; - - // A parameter spec item typelist. - template - struct item - { - typedef Spec spec; - -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - typedef is_const is_arg_const; -#endif - - typedef Arg arg; - typedef Tail tail; - }; - - template - struct make_item - { - typedef item type; - }; - - // Creates a item typelist. - template - struct make_items - { - typedef typename mpl::eval_if< - is_same - , mpl::identity - , make_item - >::type type; - }; - - // A typelist that stored deduced parameter specs. - template - struct deduced_item - { - typedef ParameterSpec spec; - typedef Tail tail; - }; - - // Evaluate Tail and construct deduced_item list. - template - struct make_deduced_item - { - typedef deduced_item type; - }; - - template - struct make_deduced_items - { - typedef typename mpl::eval_if< - is_same - , mpl::identity - , mpl::eval_if< - is_deduced - , make_deduced_item - , Tail - > - >::type type; - }; - - // Generates: - // - // make< - // parameter_spec#0, argument_type#0 - // , make< - // parameter_spec#1, argument_type#1 - // , ... mpl::identity - // ...> - // > -#define BOOST_PARAMETER_make_arg_list(z, n, names) \ - BOOST_PP_SEQ_ELEM(0,names)< \ - BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names), n), \ - BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(2,names), n), - -#define BOOST_PARAMETER_right_angle(z, n, text) > - -#define BOOST_PARAMETER_build_arg_list(n, make, parameter_spec, argument_type) \ - BOOST_PP_REPEAT( \ - n, BOOST_PARAMETER_make_arg_list, (make)(parameter_spec)(argument_type)) \ - mpl::identity \ - BOOST_PP_REPEAT(n, BOOST_PARAMETER_right_angle, _) - -#define BOOST_PARAMETER_make_deduced_list(z, n, names) \ - BOOST_PP_SEQ_ELEM(0,names)< \ - BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names), n), - -#define BOOST_PARAMETER_build_deduced_list(n, make, parameter_spec) \ - BOOST_PP_REPEAT( \ - n, BOOST_PARAMETER_make_deduced_list, (make)(parameter_spec)) \ - mpl::identity \ - BOOST_PP_REPEAT(n, BOOST_PARAMETER_right_angle, _) - - struct tag_keyword_arg - { - template - struct apply - : tag - {}; - }; - - struct tag_template_keyword_arg - { - template - struct apply - { - typedef template_keyword type; - }; - }; - -} // namespace aux - -#define BOOST_PARAMETER_FORWARD_TYPEDEF(z, i, names) \ - typedef BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(0,names),i) BOOST_PP_CAT(BOOST_PP_SEQ_ELEM(1,names),i); - -#define BOOST_PARAMETER_FORWARD_TYPEDEFS(n, src, dest) \ - BOOST_PP_REPEAT(n, BOOST_PARAMETER_FORWARD_TYPEDEF, (src)(dest)) - - -#define BOOST_PARAMETER_TEMPLATE_ARGS(z, n, text) class BOOST_PP_CAT(PS, n) = void_ - -template< - class PS0 - , BOOST_PP_ENUM_SHIFTED(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_TEMPLATE_ARGS, _) -> -struct parameters -{ -#undef BOOST_PARAMETER_TEMPLATE_ARGS - - typedef typename BOOST_PARAMETER_build_deduced_list( - BOOST_PARAMETER_MAX_ARITY, aux::make_deduced_items, PS - )::type deduced_list; - - // if the elements of NamedList match the criteria of overload - // resolution, returns a type which can be constructed from - // parameters. Otherwise, this is not a valid metafunction (no nested - // ::type). - - -#if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) - // If NamedList satisfies the PS0, PS1, ..., this is a - // metafunction returning parameters. Otherwise it - // has no nested ::type. - template - struct match_base - : mpl::if_< - // mpl::and_< - // aux::satisfies_requirements_of - // , mpl::and_< - // aux::satisfies_requirements_of... - // ..., mpl::true_ - // ...> > - -# define BOOST_PARAMETER_satisfies(z, n, text) \ - mpl::and_< \ - aux::satisfies_requirements_of< \ - typename mpl::first::type \ - , BOOST_PP_CAT(PS, n)> \ - , - mpl::and_< - is_same::type, void_> - , BOOST_PP_REPEAT(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_satisfies, _) - mpl::true_ - BOOST_PP_REPEAT(BOOST_PARAMETER_MAX_ARITY, BOOST_PARAMETER_right_angle, _) - > - -# undef BOOST_PARAMETER_satisfies - - , mpl::identity - , void_ - > - {}; -#endif - - // Specializations are to be used as an optional argument to - // eliminate overloads via SFINAE - template< -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - // Borland simply can't handle default arguments in member - // class templates. People wishing to write portable code can - // explicitly specify BOOST_PARAMETER_MAX_ARITY arguments - BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A) -#else - BOOST_PP_ENUM_BINARY_PARAMS( - BOOST_PARAMETER_MAX_ARITY, class A, = void_ BOOST_PP_INTERCEPT - ) -#endif - > - struct match -# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) - : match_base< - typename aux::make_arg_list< - typename BOOST_PARAMETER_build_arg_list( - BOOST_PARAMETER_MAX_ARITY, aux::make_items, PS, A - )::type - , deduced_list - , aux::tag_keyword_arg - , mpl::false_ // Don't emit errors when doing SFINAE - >::type - >::type - {}; -# else - { - typedef parameters< - BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, PS) - > type; - }; -# endif - - // Metafunction that returns an ArgumentPack. - - // TODO, bind has to instantiate the error type in the result - // of make_arg_list. - - template < -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - // Borland simply can't handle default arguments in member - // class templates. People wishing to write portable code can - // explicitly specify BOOST_PARAMETER_MAX_ARITY arguments - BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, class A) -#else - BOOST_PP_ENUM_BINARY_PARAMS( - BOOST_PARAMETER_MAX_ARITY, class A, = void_ BOOST_PP_INTERCEPT - ) -#endif - > - struct bind - { - typedef typename aux::make_arg_list< - typename BOOST_PARAMETER_build_arg_list( - BOOST_PARAMETER_MAX_ARITY, aux::make_items, PS, A - )::type - , deduced_list - , aux::tag_template_keyword_arg - >::type result; - - typedef typename mpl::first::type type; - }; - - BOOST_PARAMETER_FORWARD_TYPEDEFS(BOOST_PARAMETER_MAX_ARITY, PS, parameter_spec) - - // - // The function call operator is used to build an arg_list that - // labels the positional parameters and maintains whatever other - // tags may have been specified by the caller. - // - // !!!NOTE!!! - // - // The make_arg_list<> produces a reversed arg_list, so - // we need to pass the arguments to its constructor - // reversed. - // - aux::empty_arg_list operator()() const - { - return aux::empty_arg_list(); - } - - template - typename mpl::first< - typename aux::make_arg_list< - aux::item< - PS0,A0 - > - , deduced_list - , aux::tag_keyword_arg - >::type - >::type - operator()(A0& a0) const - { - typedef typename aux::make_arg_list< - aux::item< - PS0,A0 - > - , deduced_list - , aux::tag_keyword_arg - >::type result; - - typedef typename mpl::first::type result_type; - typedef typename mpl::second::type error; - error(); - - return result_type( - a0 - // , void_(), void_(), void_() ... - BOOST_PP_ENUM_TRAILING_PARAMS( - BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, 1) - , aux::void_reference() BOOST_PP_INTERCEPT) - ); - } - - template - typename mpl::first< - typename aux::make_arg_list< - aux::item< - PS0,A0 - , aux::item< - PS1,A1 - > - > - , deduced_list - , aux::tag_keyword_arg - >::type - >::type - operator()(A0& a0, A1& a1) const - { - typedef typename aux::make_arg_list< - aux::item< - PS0,A0 - , aux::item< - PS1,A1 - > - > - , deduced_list - , aux::tag_keyword_arg - >::type result; - - typedef typename mpl::first::type result_type; - typedef typename mpl::second::type error; - error(); - - return result_type( - a1,a0 - // , void_(), void_() ... - BOOST_PP_ENUM_TRAILING_PARAMS( - BOOST_PP_SUB(BOOST_PARAMETER_MAX_ARITY, 2) - , aux::void_reference() BOOST_PP_INTERCEPT) - ); - } - - // Higher arities are handled by the preprocessor -#define BOOST_PP_ITERATION_PARAMS_1 (3,( \ - 3,BOOST_PARAMETER_MAX_ARITY, \ - )) -#include BOOST_PP_ITERATE() - -}; - -} // namespace parameter - -} // namespace boost - -#endif // BOOST_PARAMETERS_031014_HPP - diff --git a/external/boost/parameter/preprocessor.hpp b/external/boost/parameter/preprocessor.hpp deleted file mode 100644 index 8ea370cb4..000000000 --- a/external/boost/parameter/preprocessor.hpp +++ /dev/null @@ -1,1077 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_PREPROCESSOR_060206_HPP -# define BOOST_PARAMETER_PREPROCESSOR_060206_HPP - -# include -# include -# include - -# include -# include -# include - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -# include - -# include -# include - -namespace boost { namespace parameter { namespace aux { - -# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) - -// Given Match, which is "void x" where x is an argument matching -// criterion, extract a corresponding MPL predicate. -template -struct unwrap_predicate; - -// Match anything -template <> -struct unwrap_predicate -{ - typedef mpl::always type; -}; - -#if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x580)) - -typedef void* voidstar; - -// A matching predicate is explicitly specified -template -struct unwrap_predicate -{ - typedef Predicate type; -}; - -#else - -// A matching predicate is explicitly specified -template -struct unwrap_predicate -{ - typedef Predicate type; -}; - -#endif - - -// A type to which the argument is supposed to be convertible is -// specified -template -struct unwrap_predicate -{ - typedef is_convertible type; -}; - -// Recast the ParameterSpec's nested match metafunction as a free metafunction -template < - class Parameters - , BOOST_PP_ENUM_BINARY_PARAMS( - BOOST_PARAMETER_MAX_ARITY, class A, = boost::parameter::void_ BOOST_PP_INTERCEPT - ) -> -struct match - : Parameters::template match< - BOOST_PP_ENUM_PARAMS(BOOST_PARAMETER_MAX_ARITY, A) - > -{}; -# endif - -# undef false_ - -template < - class Parameters - , BOOST_PP_ENUM_BINARY_PARAMS( - BOOST_PARAMETER_MAX_ARITY, class A, = boost::parameter::void_ BOOST_PP_INTERCEPT - ) -> -struct argument_pack -{ - typedef typename make_arg_list< - typename BOOST_PARAMETER_build_arg_list( - BOOST_PARAMETER_MAX_ARITY, make_items, typename Parameters::parameter_spec, A - )::type - , typename Parameters::deduced_list - , tag_keyword_arg - , mpl::false_ - >::type result; - typedef typename mpl::first::type type; -}; - -// Works around VC6 problem where it won't accept rvalues. -template -T& as_lvalue(T& value, long) -{ - return value; -} - -template -T const& as_lvalue(T const& value, int) -{ - return value; -} - - -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - -template -struct apply_predicate -{ - BOOST_MPL_ASSERT(( - mpl::and_ - )); - - typedef typename mpl::if_< - typename mpl::apply2::type - , char - , int - >::type type; -}; - -template -struct funptr_predicate -{ - static P p; - - template - static typename apply_predicate::type - check_predicate(type, Args*, void**(*)(P0)); - - template - static typename mpl::if_< - is_convertible - , char - , int - >::type check_predicate(type, Args*, void*(*)(P0)); - - template - struct apply - { - BOOST_STATIC_CONSTANT(bool, result = - sizeof(check_predicate(boost::type(), (Args*)0, &p)) == 1 - ); - - typedef mpl::bool_::result> type; - }; -}; - -template <> -struct funptr_predicate - : mpl::always -{}; - -# endif - -}}} // namespace boost::parameter::aux - -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -// From Paul Mensonides -# define BOOST_PARAMETER_IS_NULLARY(x) \ - BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_NULLARY_C x BOOST_PP_COMMA() 0) \ - /**/ -# define BOOST_PARAMETER_IS_NULLARY_C() \ - ~, 1 BOOST_PP_RPAREN() \ - BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~ \ - /**/ -# else -# define BOOST_PARAMETER_IS_NULLARY(x) BOOST_PP_IS_NULLARY(x) -# endif - -# define BOOST_PARAMETER_MEMBER_FUNCTION_CHECK_STATIC_static () -# define BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \ - BOOST_PARAMETER_IS_NULLARY( \ - BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_CHECK_STATIC_,name) \ - ) - -# if !defined(BOOST_MSVC) -# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_static -# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC(name) \ - BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_, name) -# else -// Workaround for MSVC preprocessor. -// -// When stripping static from "static f", msvc will produce -// " f". The leading whitespace doesn't go away when pasting -// the token with something else, so this thing is a hack to -// strip the whitespace. -# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_static ( -# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_AUX(name) \ - BOOST_PP_CAT(BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_, name)) -# define BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC(name) \ - BOOST_PP_SEQ_HEAD( \ - BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC_AUX(name) \ - ) -# endif - -# define BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ - BOOST_PP_EXPR_IF( \ - BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \ - , static \ - ) - -# define BOOST_PARAMETER_MEMBER_FUNCTION_NAME(name) \ - BOOST_PP_IF( \ - BOOST_PARAMETER_MEMBER_FUNCTION_IS_STATIC(name) \ - , BOOST_PARAMETER_MEMBER_FUNCTION_STRIP_STATIC \ - , name BOOST_PP_TUPLE_EAT(1) \ - )(name) - -// Calculates [begin, end) arity range. - -# define BOOST_PARAMETER_ARITY_RANGE_M_optional(state) state -# define BOOST_PARAMETER_ARITY_RANGE_M_deduced_optional(state) state -# define BOOST_PARAMETER_ARITY_RANGE_M_required(state) BOOST_PP_INC(state) -# define BOOST_PARAMETER_ARITY_RANGE_M_deduced_required(state) BOOST_PP_INC(state) - -# define BOOST_PARAMETER_ARITY_RANGE_M(s, state, x) \ - BOOST_PP_CAT( \ - BOOST_PARAMETER_ARITY_RANGE_M_ \ - , BOOST_PARAMETER_FN_ARG_QUALIFIER(x) \ - )(state) -/**/ - -# define BOOST_PARAMETER_ARITY_RANGE(args) \ - ( \ - BOOST_PP_SEQ_FOLD_LEFT(BOOST_PARAMETER_ARITY_RANGE_M, 0, args) \ - , BOOST_PP_INC(BOOST_PP_SEQ_SIZE(args)) \ - ) -/**/ - -// Accessor macros for the argument specs tuple. -# define BOOST_PARAMETER_FN_ARG_QUALIFIER(x) \ - BOOST_PP_TUPLE_ELEM(4,0,x) -/**/ - -# define BOOST_PARAMETER_FN_ARG_NAME(x) \ - BOOST_PP_TUPLE_ELEM(4,1,x) -/**/ - -# define BOOST_PARAMETER_FN_ARG_PRED(x) \ - BOOST_PP_TUPLE_ELEM(4,2,x) -/**/ - -# define BOOST_PARAMETER_FN_ARG_DEFAULT(x) \ - BOOST_PP_TUPLE_ELEM(4,3,x) -/**/ - -# define BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_out(x) -# define BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_in_out(x) - -// Returns 1 if x is either "out(k)" or "in_out(k)". -# define BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER(x) \ - BOOST_PP_IS_EMPTY( \ - BOOST_PP_CAT(BOOST_PARAMETETER_FUNCTION_EAT_KEYWORD_QUALIFIER_, x) \ - ) \ -/**/ - -# define BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_out(x) x -# define BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_in_out(x) x -# define BOOST_PARAMETER_FUNCTION_KEYWORD_GET(x) \ - BOOST_PP_CAT(BOOST_PARAMETETER_FUNCTION_GET_KEYWORD_QUALIFIER_, x) -/**/ - -// Returns the keyword of x, where x is either a keyword qualifier -// or a keyword. -// -// k => k -// out(k) => k -// in_out(k) => k -// -# define BOOST_PARAMETER_FUNCTION_KEYWORD(x) \ - BOOST_PP_IF( \ - BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER(x) \ - , BOOST_PARAMETER_FUNCTION_KEYWORD_GET \ - , x BOOST_PP_TUPLE_EAT(1) \ - )(x) -/**/ - -# define BOOST_PARAMETER_FN_ARG_KEYWORD(x) \ - BOOST_PARAMETER_FUNCTION_KEYWORD( \ - BOOST_PARAMETER_FN_ARG_NAME(x) \ - ) - -// Builds forwarding functions. - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z(z, n) \ - template -/**/ - -# if ! defined(BOOST_NO_SFINAE) && ! BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x592)) -# define BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z(z, name, parameters, n) \ - , typename boost::parameter::aux::match< \ - parameters, BOOST_PP_ENUM_PARAMS(n, ParameterArgumentType) \ - >::type = parameters() -# else -# define BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z(z, name, parameters, n) -# endif -/**/ - -# define BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(base) \ - BOOST_PP_CAT( \ - boost_param_parameters_ \ - , BOOST_PP_CAT(__LINE__, BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) \ - ) - -// Produce a name for a result type metafunction for the function -// named base -# define BOOST_PARAMETER_FUNCTION_RESULT_NAME(base) \ - BOOST_PP_CAT( \ - boost_param_result_ \ - , BOOST_PP_CAT(__LINE__,BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) \ - ) - -// Can't do boost_param_impl_ ## basee because base might start with an underscore -// daniel: what? how is that relevant? the reason for using CAT() is to make sure -// base is expanded. i'm not sure we need to here, but it's more stable to do it. -# define BOOST_PARAMETER_IMPL(base) \ - BOOST_PP_CAT(boost_param_impl,BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base)) - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00(z, n, r, data, elem) \ - BOOST_PP_IF( \ - n \ - , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z, BOOST_PP_TUPLE_EAT(2) \ - )(z,n) \ - BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(BOOST_PP_TUPLE_ELEM(7,3,data)) \ - inline \ - BOOST_PP_EXPR_IF(n, typename) \ - BOOST_PARAMETER_FUNCTION_RESULT_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))< \ - BOOST_PP_EXPR_IF(n, typename) \ - boost::parameter::aux::argument_pack< \ - BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data)) \ - BOOST_PP_COMMA_IF(n) \ - BOOST_PP_IF( \ - n, BOOST_PP_SEQ_ENUM, BOOST_PP_TUPLE_EAT(1) \ - )(elem) \ - >::type \ - >::type \ - BOOST_PARAMETER_MEMBER_FUNCTION_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))( \ - BOOST_PP_IF( \ - n \ - , BOOST_PP_SEQ_FOR_EACH_I_R \ - , BOOST_PP_TUPLE_EAT(4) \ - )( \ - r \ - , BOOST_PARAMETER_FUNCTION_ARGUMENT \ - , ~ \ - , elem \ - ) \ - BOOST_PP_IF(n, BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z, BOOST_PP_TUPLE_EAT(4))( \ - z \ - , BOOST_PP_TUPLE_ELEM(7,3,data) \ - , BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data)) \ - , n \ - ) \ - ) BOOST_PP_EXPR_IF(BOOST_PP_TUPLE_ELEM(7,4,data), const) \ - { \ - return BOOST_PARAMETER_IMPL(BOOST_PP_TUPLE_ELEM(7,3,data))( \ - BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(BOOST_PP_TUPLE_ELEM(7,3,data))()( \ - BOOST_PP_ENUM_PARAMS_Z(z, n, a) \ - ) \ - ); \ - } -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION0(r, data, elem) \ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00( \ - BOOST_PP_TUPLE_ELEM(7,0,data) \ - , BOOST_PP_TUPLE_ELEM(7,1,data) \ - , r \ - , data \ - , elem \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_0(z, n, data) \ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTION00( \ - z, n, BOOST_PP_DEDUCE_R() \ - , (z, n, BOOST_PP_TUPLE_REM(5) data) \ - , ~ \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_N(z, n, data) \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTION0 \ - , (z, n, BOOST_PP_TUPLE_REM(5) data) \ - , BOOST_PP_SEQ_FOR_EACH_PRODUCT( \ - BOOST_PARAMETER_FUNCTION_FWD_PRODUCT \ - , BOOST_PP_SEQ_FIRST_N( \ - n, BOOST_PP_TUPLE_ELEM(5,3,data) \ - ) \ - ) \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTION(z, n, data) \ - BOOST_PP_IF( \ - n \ - , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_N \ - , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_ARITY_0 \ - )(z,n,data) \ -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS0( \ - result,name,args,const_,combinations,range \ -) \ - BOOST_PP_REPEAT_FROM_TO( \ - BOOST_PP_TUPLE_ELEM(2,0,range), BOOST_PP_TUPLE_ELEM(2,1,range) \ - , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION \ - , (result,name,const_,combinations,BOOST_PP_TUPLE_ELEM(2,1,range)) \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS(result,name,args, const_, combinations) \ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS0( \ - result, name, args, const_, combinations, BOOST_PARAMETER_ARITY_RANGE(args) \ - ) -/**/ - -// Builds boost::parameter::parameters<> specialization -# define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_optional(tag) \ - optional - -# define BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_deduced_required(tag) \ - required - -# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - -# define BOOST_PARAMETER_FUNCTION_PARAMETERS_M(r,tag_namespace,i,elem) \ - BOOST_PP_COMMA_IF(i) \ - boost::parameter::BOOST_PP_CAT( \ - BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_ \ - , BOOST_PARAMETER_FN_ARG_QUALIFIER(elem) \ - )( \ - tag_namespace::BOOST_PARAMETER_FUNCTION_KEYWORD( \ - BOOST_PARAMETER_FN_ARG_KEYWORD(elem) \ - ) \ - ) \ - , typename boost::parameter::aux::unwrap_predicate< \ - void BOOST_PARAMETER_FN_ARG_PRED(elem) \ - >::type \ - > -# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -# define BOOST_PARAMETER_FUNCTION_PARAMETERS_M(r,tag_namespace,i,elem) \ - BOOST_PP_COMMA_IF(i) \ - boost::parameter::BOOST_PP_CAT( \ - BOOST_PARAMETER_FUNCTION_PARAMETERS_QUALIFIER_ \ - , BOOST_PARAMETER_FN_ARG_QUALIFIER(elem) \ - )( \ - tag_namespace::BOOST_PARAMETER_FUNCTION_KEYWORD( \ - BOOST_PARAMETER_FN_ARG_KEYWORD(elem) \ - ) \ - ) \ - , boost::mpl::always \ - > -# endif - -# define BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, base, args) \ - template \ - struct BOOST_PP_CAT( \ - BOOST_PP_CAT(boost_param_params_, __LINE__) \ - , BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base) \ - ) : boost::parameter::parameters< \ - BOOST_PP_SEQ_FOR_EACH_I( \ - BOOST_PARAMETER_FUNCTION_PARAMETERS_M, tag_namespace, args \ - ) \ - > \ - {}; \ - \ - typedef BOOST_PP_CAT( \ - BOOST_PP_CAT(boost_param_params_, __LINE__) \ - , BOOST_PARAMETER_MEMBER_FUNCTION_NAME(base) \ - ) - -// Defines result type metafunction -# define BOOST_PARAMETER_FUNCTION_RESULT_ARG(z, _, i, x) \ - BOOST_PP_COMMA_IF(i) class BOOST_PP_TUPLE_ELEM(3,1,x) -/**/ - -# define BOOST_PARAMETER_FUNCTION_RESULT_(result, name, args) \ - template \ - struct BOOST_PARAMETER_FUNCTION_RESULT_NAME(name) \ - { \ - typedef typename BOOST_PARAMETER_PARENTHESIZED_TYPE(result) type; \ - }; - -// Defines implementation function -# define BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name) \ - template \ - typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)< \ - Args \ - >::type BOOST_PARAMETER_IMPL(name)(Args const& args) - -# define BOOST_PARAMETER_FUNCTION_IMPL_FWD(name) \ - BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name); -/**/ - -# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_required(state, arg) \ - ( \ - BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 0, state)) \ - , BOOST_PP_SEQ_PUSH_BACK(BOOST_PP_TUPLE_ELEM(4, 1, state), arg) \ - , BOOST_PP_TUPLE_ELEM(4, 2, state) \ - , BOOST_PP_TUPLE_ELEM(4, 3, state) \ - ) - -# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_deduced_required(state, arg) \ - BOOST_PARAMETER_FUNCTION_SPLIT_ARG_required(state, arg) - -# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_optional(state, arg) \ - ( \ - BOOST_PP_TUPLE_ELEM(4, 0, state) \ - , BOOST_PP_TUPLE_ELEM(4, 1, state) \ - , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 2, state)) \ - , BOOST_PP_SEQ_PUSH_BACK(BOOST_PP_TUPLE_ELEM(4, 3, state), arg) \ - ) - -# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG_deduced_optional(state, arg) \ - BOOST_PARAMETER_FUNCTION_SPLIT_ARG_optional(state, arg) - -# define BOOST_PARAMETER_FUNCTION_SPLIT_ARG(s, state, arg) \ - BOOST_PP_CAT( \ - BOOST_PARAMETER_FUNCTION_SPLIT_ARG_ \ - , BOOST_PARAMETER_FN_ARG_QUALIFIER(arg) \ - )(state, arg) - -// Returns (required_count, required, optional_count, optionals) tuple -# define BOOST_PARAMETER_FUNCTION_SPLIT_ARGS(args) \ - BOOST_PP_SEQ_FOLD_LEFT( \ - BOOST_PARAMETER_FUNCTION_SPLIT_ARG \ - , (0,BOOST_PP_SEQ_NIL, 0,BOOST_PP_SEQ_NIL) \ - , args \ - ) - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME(keyword) \ - BOOST_PP_CAT(BOOST_PP_CAT(keyword,_),type) - -// Helpers used as parameters to BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS. -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG(r, _, arg) \ - , class BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME( \ - BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \ - ) - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG(r, _, arg) \ - , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG_NAME( \ - BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \ - )& BOOST_PARAMETER_FN_ARG_KEYWORD(arg) - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER(r, _, arg) \ - , BOOST_PARAMETER_FN_ARG_KEYWORD(arg) - -// Produces a name for the dispatch functions. -# define BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name) \ - BOOST_PP_CAT( \ - boost_param_default_ \ - , BOOST_PP_CAT(__LINE__, BOOST_PARAMETER_MEMBER_FUNCTION_NAME(name)) \ - ) - -// Helper macro used below to produce lists based on the keyword argument -// names. macro is applied to every element. n is the number of -// optional arguments that should be included. -# define BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS(macro, n, split_args) \ - BOOST_PP_SEQ_FOR_EACH( \ - macro \ - , ~ \ - , BOOST_PP_TUPLE_ELEM(4,1,split_args) \ - ) \ - BOOST_PP_SEQ_FOR_EACH( \ - macro \ - , ~ \ - , BOOST_PP_SEQ_FIRST_N( \ - BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), n) \ - , BOOST_PP_TUPLE_ELEM(4,3,split_args) \ - ) \ - ) - -// Generates a keyword | default expression. -# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT(arg, tag_namespace) \ - boost::parameter::keyword< \ - tag_namespace::BOOST_PARAMETER_FN_ARG_KEYWORD(arg) \ - >::instance | boost::parameter::aux::use_default_tag() - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_GET_ARG(arg, tag_ns) \ - BOOST_PARAMETER_FUNCTION_CAST( \ - args[ \ - BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT( \ - arg, tag_ns \ - ) \ - ] \ - , BOOST_PARAMETER_FN_ARG_PRED(arg) \ - , Args \ - ) - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_BODY(name, n, split_args, tag_namespace) \ - { \ - return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ - (ResultType(*)())0 \ - , args \ - , 0L \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER \ - , n \ - , split_args \ - ) \ - , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_GET_ARG( \ - BOOST_PP_SEQ_ELEM( \ - BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), n) \ - , BOOST_PP_TUPLE_ELEM(4,3,split_args) \ - ) \ - , tag_namespace \ - ) \ - ); \ - } - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_ACTUAL_DEFAULT(arg) \ - BOOST_PARAMETER_FUNCTION_CAST( \ - boost::parameter::aux::as_lvalue(BOOST_PARAMETER_FN_ARG_DEFAULT(arg), 0L) \ - , BOOST_PARAMETER_FN_ARG_PRED(arg) \ - , Args \ - ) - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT_BODY(name, n, split_args, tag_ns, const_) \ - template < \ - class ResultType \ - , class Args \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \ - , BOOST_PP_INC(n) \ - , split_args \ - ) \ - > \ - BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ - ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ - ResultType(*)() \ - , Args const& args \ - , long \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \ - , BOOST_PP_INC(n) \ - , split_args \ - ) \ - , boost::parameter::aux::use_default_tag \ - ) BOOST_PP_EXPR_IF(const_, const) \ - { \ - return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ - (ResultType(*)())0 \ - , args \ - , 0L \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_PARAMETER \ - , BOOST_PP_INC(n) \ - , split_args \ - ) \ - , BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_ACTUAL_DEFAULT( \ - BOOST_PP_SEQ_ELEM( \ - BOOST_PP_SUB(BOOST_PP_TUPLE_ELEM(4,2,split_args), BOOST_PP_INC(n)) \ - , BOOST_PP_TUPLE_ELEM(4,3,split_args) \ - ) \ - ) \ - ); \ - } - -// Produces a forwarding layer in the default evaluation machine. -// -// data is a tuple: -// -// (name, split_args) -// -// Where name is the base name of the function, and split_args is a tuple: -// -// (required_count, required_args, optional_count, required_args) -// - - -// defines the actual function body for BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION below. -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION0(z, n, data) \ - template < \ - class ResultType \ - , class Args \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \ - , n \ - , BOOST_PP_TUPLE_ELEM(5,1,data) \ - ) \ - > \ - BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(BOOST_PP_TUPLE_ELEM(5,0,data)) \ - ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(BOOST_PP_TUPLE_ELEM(5,0,data))( \ - ResultType(*)() \ - , Args const& args \ - , int \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \ - , n \ - , BOOST_PP_TUPLE_ELEM(5,1,data) \ - ) \ - ) BOOST_PP_EXPR_IF(BOOST_PP_TUPLE_ELEM(5,2,data), const) \ - BOOST_PP_IF( \ - n \ - , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_BODY \ - , ; BOOST_PP_TUPLE_EAT(4) \ - )( \ - BOOST_PP_TUPLE_ELEM(5,0,data) \ - , n \ - , BOOST_PP_TUPLE_ELEM(5,1,data) \ - , BOOST_PP_TUPLE_ELEM(5,3,data) \ - ) - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION(z, n, data) \ - BOOST_PP_IF( \ - BOOST_PP_AND( \ - BOOST_PP_NOT(n) \ - , BOOST_PP_TUPLE_ELEM(5,4,data) \ - ) \ - , BOOST_PP_TUPLE_EAT(3) \ - , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION0 \ - )(z, n, data) \ - BOOST_PP_IF( \ - BOOST_PP_EQUAL(n, BOOST_PP_TUPLE_ELEM(4,2,BOOST_PP_TUPLE_ELEM(5,1,data))) \ - , BOOST_PP_TUPLE_EAT(5) \ - , BOOST_PARAMETER_FUNCTION_DEFAULT_EVAL_DEFAULT_BODY \ - )( \ - BOOST_PP_TUPLE_ELEM(5,0,data) \ - , n \ - , BOOST_PP_TUPLE_ELEM(5,1,data) \ - , BOOST_PP_TUPLE_ELEM(5,3,data) \ - , BOOST_PP_TUPLE_ELEM(5,2,data) \ - ) - -# define BOOST_PARAMETER_FUNCTION_DEFAULT_GET_ARG(r, tag_ns, arg) \ - , BOOST_PARAMETER_FUNCTION_CAST( \ - args[ \ - boost::parameter::keyword::instance \ - ] \ - , BOOST_PARAMETER_FN_ARG_PRED(arg) \ - , Args \ - ) - -// Generates the function template that recives a ArgumentPack, and then -// goes on to call the layers of overloads generated by -// BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER. -# define BOOST_PARAMETER_FUNCTION_INITIAL_DISPATCH_FUNCTION(name, split_args, const_, tag_ns) \ - template \ - typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)::type \ - BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ - BOOST_PARAMETER_IMPL(name)(Args const& args) BOOST_PP_EXPR_IF(const_, const) \ - { \ - return BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ - (typename BOOST_PARAMETER_FUNCTION_RESULT_NAME(name)::type(*)())0 \ - , args \ - , 0L \ - \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_GET_ARG \ - , tag_ns \ - , BOOST_PP_TUPLE_ELEM(4,1,split_args) \ - ) \ - \ - ); \ - } - -// Helper for BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER below. -# define BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER_AUX( \ - name, split_args, skip_fwd_decl, const_, tag_namespace \ - ) \ - BOOST_PP_REPEAT_FROM_TO( \ - 0 \ - , BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 2, split_args)) \ - , BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION \ - , (name, split_args, const_, tag_namespace, skip_fwd_decl) \ - ) \ - \ - BOOST_PARAMETER_FUNCTION_INITIAL_DISPATCH_FUNCTION(name, split_args, const_, tag_namespace) \ -\ - template < \ - class ResultType \ - , class Args \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_TEMPLATE_ARG \ - , 0 \ - , split_args \ - ) \ - > \ - BOOST_PARAMETER_MEMBER_FUNCTION_STATIC(name) \ - ResultType BOOST_PARAMETER_FUNCTION_DEFAULT_NAME(name)( \ - ResultType(*)() \ - , Args const& \ - , int \ - BOOST_PARAMETER_FUNCTION_DEFAULT_ARGUMENTS( \ - BOOST_PARAMETER_FUNCTION_DEFAULT_FUNCTION_ARG \ - , 0 \ - , split_args \ - ) \ - ) BOOST_PP_EXPR_IF(const_, const) - -// Generates a bunch of forwarding functions that each extract -// one more argument. -# define BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, skip_fwd_decl, const_, tag_ns) \ - BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER_AUX( \ - name, BOOST_PARAMETER_FUNCTION_SPLIT_ARGS(args), skip_fwd_decl, const_, tag_ns \ - ) -/**/ - -// Defines the result metafunction and the parameters specialization. -# define BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ - BOOST_PARAMETER_FUNCTION_RESULT_(result, name, args) \ - \ - BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, name, args) \ - BOOST_PARAMETER_FUNCTION_PARAMETERS_NAME(name); \ - -// Helper for BOOST_PARAMETER_FUNCTION below. -# define BOOST_PARAMETER_FUNCTION_AUX(result, name, tag_namespace, args) \ - BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ - BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name); \ -\ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ - result, name, args, 0 \ - , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ - ) \ - \ - BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, 0, 0, tag_namespace) - -// Defines a Boost.Parameter enabled function with the new syntax. -# define BOOST_PARAMETER_FUNCTION(result, name, tag_namespace, args) \ - BOOST_PARAMETER_FUNCTION_AUX( \ - result, name, tag_namespace \ - , BOOST_PARAMETER_FLATTEN(3, 2, 3, args) \ - ) \ -/**/ - -// Defines a Boost.Parameter enabled function. -# define BOOST_PARAMETER_BASIC_FUNCTION_AUX(result, name, tag_namespace, args) \ - BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ - \ - BOOST_PARAMETER_FUNCTION_IMPL_FWD(name) \ - \ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ - result, name, args, 0 \ - , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ - ) \ - \ - BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name) - -# define BOOST_PARAMETER_BASIC_FUNCTION(result, name, tag_namespace, args) \ - BOOST_PARAMETER_BASIC_FUNCTION_AUX( \ - result, name, tag_namespace \ - , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ - ) \ -/**/ - -// Defines a Boost.Parameter enabled member function. -# define BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX(result, name, tag_namespace, args, const_) \ - BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ - \ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ - result, name, args, const_ \ - , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ - ) \ - \ - BOOST_PARAMETER_FUNCTION_IMPL_HEAD(name) BOOST_PP_EXPR_IF(const_, const) \ -/**/ - -# define BOOST_PARAMETER_BASIC_MEMBER_FUNCTION(result, name, tag_namespace, args) \ - BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX( \ - result, name, tag_namespace \ - , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ - , 0 \ - ) -/**/ - -# define BOOST_PARAMETER_BASIC_CONST_MEMBER_FUNCTION(result, name, tag_namespace, args) \ - BOOST_PARAMETER_BASIC_MEMBER_FUNCTION_AUX( \ - result, name, tag_namespace \ - , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ - , 1 \ - ) -/**/ - - - -# define BOOST_PARAMETER_MEMBER_FUNCTION_AUX(result, name, tag_namespace, const_, args) \ - BOOST_PARAMETER_FUNCTION_HEAD(result, name, tag_namespace, args) \ -\ - BOOST_PARAMETER_FUNCTION_FWD_FUNCTIONS( \ - result, name, args, const_ \ - , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ - ) \ - \ - BOOST_PARAMETER_FUNCTION_DEFAULT_LAYER(name, args, 1, const_, tag_namespace) - -// Defines a Boost.Parameter enabled function with the new syntax. -# define BOOST_PARAMETER_MEMBER_FUNCTION(result, name, tag_namespace, args) \ - BOOST_PARAMETER_MEMBER_FUNCTION_AUX( \ - result, name, tag_namespace, 0 \ - , BOOST_PARAMETER_FLATTEN(3, 2, 3, args) \ - ) \ -/**/ - -# define BOOST_PARAMETER_CONST_MEMBER_FUNCTION(result, name, tag_namespace, args) \ - BOOST_PARAMETER_MEMBER_FUNCTION_AUX( \ - result, name, tag_namespace, 1 \ - , BOOST_PARAMETER_FLATTEN(3, 2, 3, args) \ - ) \ -/**/ - -// Defines a Boost.Parameter enabled constructor. - -# define BOOST_PARAMETER_FUNCTION_ARGUMENT(r, _, i, elem) \ - BOOST_PP_COMMA_IF(i) elem& BOOST_PP_CAT(a, i) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00(z, n, r, data, elem) \ - BOOST_PP_IF( \ - n \ - , BOOST_PARAMETER_FUNCTION_FWD_FUNCTION_TEMPLATE_Z, BOOST_PP_TUPLE_EAT(2) \ - )(z, n) \ - BOOST_PP_EXPR_IF(BOOST_PP_EQUAL(n,1), explicit) \ - BOOST_PP_TUPLE_ELEM(6,2,data)( \ - BOOST_PP_IF( \ - n \ - , BOOST_PP_SEQ_FOR_EACH_I_R \ - , BOOST_PP_TUPLE_EAT(4) \ - )( \ - r \ - , BOOST_PARAMETER_FUNCTION_ARGUMENT \ - , ~ \ - , elem \ - ) \ - BOOST_PP_IF(n, BOOST_PARAMETER_FUNCTION_FWD_MATCH_Z, BOOST_PP_TUPLE_EAT(4))( \ - z \ - , BOOST_PP_TUPLE_ELEM(6,3,data) \ - , BOOST_PP_CAT(constructor_parameters, __LINE__) \ - , n \ - ) \ - ) \ - : BOOST_PARAMETER_PARENTHESIZED_TYPE(BOOST_PP_TUPLE_ELEM(6,3,data)) ( \ - BOOST_PP_CAT(constructor_parameters, __LINE__)()( \ - BOOST_PP_ENUM_PARAMS_Z(z, n, a) \ - ) \ - ) \ - {} -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR0(r, data, elem) \ - BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00( \ - BOOST_PP_TUPLE_ELEM(6,0,data) \ - , BOOST_PP_TUPLE_ELEM(6,1,data) \ - , r \ - , data \ - , elem \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_PRODUCT(r, product) \ - (product) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_0(z, n, data) \ - BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR00( \ - z, n, BOOST_PP_DEDUCE_R() \ - , (z, n, BOOST_PP_TUPLE_REM(4) data) \ - , ~ \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_N(z, n, data) \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR0 \ - , (z, n, BOOST_PP_TUPLE_REM(4) data) \ - , BOOST_PP_SEQ_FOR_EACH_PRODUCT( \ - BOOST_PARAMETER_FUNCTION_FWD_PRODUCT \ - , BOOST_PP_SEQ_FIRST_N( \ - n, BOOST_PP_TUPLE_ELEM(4,2,data) \ - ) \ - ) \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR(z, n, data) \ - BOOST_PP_IF( \ - n \ - , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_N \ - , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR_ARITY_0 \ - )(z,n,data) \ -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS0(class_,base,args,combinations,range) \ - BOOST_PP_REPEAT_FROM_TO( \ - BOOST_PP_TUPLE_ELEM(2,0,range), BOOST_PP_TUPLE_ELEM(2,1,range) \ - , BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTOR \ - , (class_,base,combinations,BOOST_PP_TUPLE_ELEM(2,1,range)) \ - ) -/**/ - -# define BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS(class_,base,args,combinations) \ - BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS0( \ - class_, base, args, combinations, BOOST_PARAMETER_ARITY_RANGE(args) \ - ) -/**/ - -# define BOOST_PARAMETER_CONSTRUCTOR_AUX(class_, base, tag_namespace, args) \ - BOOST_PARAMETER_FUNCTION_PARAMETERS(tag_namespace, ctor, args) \ - BOOST_PP_CAT(constructor_parameters, __LINE__); \ -\ - BOOST_PARAMETER_FUNCTION_FWD_CONSTRUCTORS( \ - class_, base, args \ - , BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ - ) \ -/**/ - -# define BOOST_PARAMETER_CONSTRUCTOR(class_, base, tag_namespace, args) \ - BOOST_PARAMETER_CONSTRUCTOR_AUX( \ - class_, base, tag_namespace \ - , BOOST_PARAMETER_FLATTEN(2, 2, 3, args) \ - ) -/**/ - -# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -# define BOOST_PARAMETER_FUNCTION_FWD_COMBINATION(r, _, i, elem) \ - (BOOST_PP_IF( \ - BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER( \ - BOOST_PARAMETER_FN_ARG_NAME(elem) \ - ) \ - , (const ParameterArgumentType ## i)(ParameterArgumentType ## i) \ - , (const ParameterArgumentType ## i) \ - )) -// No partial ordering. This feature doesn't work. -# else -# define BOOST_PARAMETER_FUNCTION_FWD_COMBINATION(r, _, i, elem) \ - (BOOST_PP_IF( \ - BOOST_PARAMETER_FUNCTION_IS_KEYWORD_QUALIFIER( \ - BOOST_PARAMETER_FN_ARG_NAME(elem) \ - ) \ - , (ParameterArgumentType ## i) \ - , (const ParameterArgumentType ## i) \ - )) -# endif - -# define BOOST_PARAMETER_FUNCTION_FWD_COMBINATIONS(args) \ - BOOST_PP_SEQ_FOR_EACH_I(BOOST_PARAMETER_FUNCTION_FWD_COMBINATION, ~, args) - -#endif // BOOST_PARAMETER_PREPROCESSOR_060206_HPP - diff --git a/external/boost/parameter/python.hpp b/external/boost/parameter/python.hpp deleted file mode 100644 index a52fc6ed7..000000000 --- a/external/boost/parameter/python.hpp +++ /dev/null @@ -1,735 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_PYTHON_060209_HPP -# define BOOST_PARAMETER_PYTHON_060209_HPP - -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include -# include - -namespace boost { namespace parameter { namespace python -{ - namespace python_ = boost::python; -}}} - -namespace boost { namespace parameter { namespace python { namespace aux -{ - - inline PyObject* unspecified_type() - { - static PyTypeObject unspecified = { - PyObject_HEAD_INIT(NULL) - 0, /* ob_size */ - "Boost.Parameter.Unspecified", /* tp_name */ - PyType_Type.tp_basicsize, /* tp_basicsize */ - 0, /* tp_itemsize */ - 0, /* tp_dealloc */ - 0, /* tp_print */ - 0, /* tp_getattr */ - 0, /* tp_setattr */ - 0, /* tp_compare */ - 0, /* tp_repr */ - 0, /* tp_as_number */ - 0, /* tp_as_sequence */ - 0, /* tp_as_mapping */ - 0, /* tp_hash */ - 0, /* tp_call */ - 0, /* tp_str */ - 0, /* tp_getattro */ - 0, /* tp_setattro */ - 0, /* tp_as_buffer */ - Py_TPFLAGS_DEFAULT, /* tp_flags */ - 0, /* tp_doc */ - }; - - if (unspecified.ob_type == 0) - { - unspecified.ob_type = &PyType_Type; - PyType_Ready(&unspecified); - } - - return (PyObject*)&unspecified; - } - - struct empty_tag {}; - - struct empty_tag_to_python - { - static PyObject* convert(empty_tag) - { - return python_::xincref(unspecified_type()); - } - }; - -}}}} // namespace boost::parameter::python::aux - -namespace boost { namespace python -{ - - // Converts a Python value to a maybe - template - struct arg_from_python > - : arg_from_python - { - arg_from_python(PyObject* p) - : arg_from_python(p) - , empty(parameter::python::aux::unspecified_type() == p) - {} - - bool convertible() const - { - return empty || arg_from_python::convertible(); - } - - parameter::aux::maybe operator()() - { - if (empty) - { - return parameter::aux::maybe(); - } - else - { - return parameter::aux::maybe( - arg_from_python::operator()() - ); - } - } - - bool empty; - }; - -}} // namespace boost::python - -namespace boost { namespace parameter { namespace python { - -namespace aux -{ - - template - struct is_optional - : mpl::not_< - mpl::or_ - > - {}; - - template - struct arg_spec - { - typedef K keyword; - typedef Required required; - typedef T type; - typedef Optimized optimized_default; - }; - - template - struct make_arg_spec_impl - { - typedef arg_spec< - typename K::first, typename K::second, Optimized, T - > type; - }; - - template - struct make_arg_spec_impl - { - typedef arg_spec< - typename K::first, typename K::second, typename K::third, T - > type; - }; - - template - struct make_arg_spec - : make_arg_spec_impl - { - }; - - template - struct combinations_op - { - typedef typename State::second bits; - typedef typename State::first result0; - - typedef typename mpl::if_< - mpl::or_< - typename Spec::required - , typename Spec::optimized_default - , mpl::bitand_ > - > - , typename mpl::push_back::type - , result0 - >::type result; - - typedef typename mpl::if_< - mpl::or_< - typename Spec::required - , typename Spec::optimized_default - > - , bits - , typename mpl::shift_right >::type - >::type next_bits; - - typedef mpl::pair< - result - , next_bits - > type; - }; - - // Used as start value in the recursive arg() composition below. - struct no_keywords - { - template - T const& operator,(T const& x) const - { - return x; - } - }; - - template - void def_combination_aux0( - Def def, F f, Iter, End, Keywords const& keywords, mpl::false_) - { - typedef typename mpl::deref::type spec; - typedef typename spec::keyword kw; - - def_combination_aux( - def, f, typename mpl::next::type(), End() - , ( - keywords, boost::python::arg(kw::keyword_name()) - ) - ); - } - - template - void def_combination_aux0( - Def def, F f, Iter, End, Keywords const& keywords, mpl::true_) - { - typedef typename mpl::deref::type spec; - typedef typename spec::keyword kw; - - def_combination_aux( - def, f, typename mpl::next::type(), End() - , ( - keywords, boost::python::arg(kw::keyword_name()) = empty_tag() - ) - ); - } - - inline void initialize_converter() - { - static python_::to_python_converter x; - } - - template - void def_combination_aux( - Def def, F f, Iter, End, Keywords const& keywords) - { - typedef typename mpl::deref::type spec; - - typedef typename mpl::and_< - typename spec::optimized_default - , mpl::not_ - >::type optimized_default; - - def_combination_aux0( - def, f, Iter(), End(), keywords, optimized_default() - ); - } - - template - void def_combination_aux( - Def def, F f, End, End, Keywords const& keywords) - { - def(f, keywords); - } - - template - void def_combination_aux( - Def def, F f, End, End, no_keywords const&) - { - def(f); - } - - template < - class Def, class Specs, class Bits, class Invoker - > - void def_combination( - Def def, Specs*, Bits, Invoker*) - { - typedef typename mpl::fold< - Specs - , mpl::pair, Bits> - , combinations_op - >::type combination0; - - typedef typename combination0::first combination; - - typedef typename mpl::apply_wrap1< - Invoker, combination - >::type invoker; - - def_combination_aux( - def - , &invoker::execute - , typename mpl::begin::type() - , typename mpl::end::type() - , no_keywords() - ); - } - - template < - class Def, class Specs, class Bits, class End, class Invoker - > - void def_combinations( - Def def, Specs*, Bits, End, Invoker*) - { - initialize_converter(); - - def_combination(def, (Specs*)0, Bits(), (Invoker*)0); - - def_combinations( - def - , (Specs*)0 - , mpl::long_() - , End() - , (Invoker*)0 - ); - } - - template < - class Def, class Specs, class End, class Invoker - > - void def_combinations( - Def, Specs*, End, End, Invoker*) - {} - - struct not_specified {}; - - template - struct call_policies_as_options - { - call_policies_as_options(CallPolicies const& call_policies) - : call_policies(call_policies) - {} - - CallPolicies const& policies() const - { - return call_policies; - } - - char const* doc() const - { - return 0; - } - - CallPolicies call_policies; - }; - - template - struct def_class - { - def_class(Class& cl, char const* name, Options options = Options()) - : cl(cl) - , name(name) - , options(options) - {} - - template - void def(F f, not_specified const*) const - { - cl.def(name, f); - } - - template - void def(F f, void const*) const - { - cl.def(name, f, options.doc(), options.policies()); - } - - template - void operator()(F f) const - { - this->def(f, &options); - } - - template - void def(F f, Keywords const& keywords, not_specified const*) const - { - cl.def(name, f, keywords); - } - - template - void def(F f, Keywords const& keywords, void const*) const - { - cl.def(name, f, keywords, options.doc(), options.policies()); - } - - template - void operator()(F f, Keywords const& keywords) const - { - this->def(f, keywords, &options); - } - - Class& cl; - char const* name; - Options options; - }; - - template - struct def_init - { - def_init(Class& cl, CallPolicies call_policies = CallPolicies()) - : cl(cl) - , call_policies(call_policies) - {} - - template - void operator()(F f) const - { - cl.def( - "__init__" - , boost::python::make_constructor(f, call_policies) - ); - } - - template - void operator()(F f, Keywords const& keywords) const - { - cl.def( - "__init__" - , boost::python::make_constructor(f, call_policies, keywords) - ); - } - - Class& cl; - CallPolicies call_policies; - }; - - struct def_function - { - def_function(char const* name) - : name(name) - {} - - template - void operator()(F f) const - { - boost::python::def(name, f); - } - - template - void operator()(F f, Keywords const& keywords) const - { - boost::python::def(name, f, keywords); - } - - char const* name; - }; - -} // namespace aux - -template -void def(char const* name, Signature) -{ - typedef mpl::iterator_range< - typename mpl::next< - typename mpl::begin::type - >::type - , typename mpl::end::type - > arg_types; - - typedef typename mpl::transform< - typename M::keywords - , arg_types - , aux::make_arg_spec - , mpl::back_inserter > - >::type arg_specs; - - typedef typename mpl::count_if< - arg_specs - , aux::is_optional - >::type optional_arity; - - typedef typename mpl::front::type result_type; - typedef typename mpl::shift_left, optional_arity>::type upper; - - aux::def_combinations( - aux::def_function(name) - , (arg_specs*)0 - , mpl::long_<0>() - , mpl::long_() - , (aux::make_invoker*)0 - ); -} - -template -void def(Class& cl, char const* name, Signature) -{ - typedef mpl::iterator_range< - typename mpl::next< - typename mpl::begin::type - >::type - , typename mpl::end::type - > arg_types; - - typedef typename mpl::transform< - typename M::keywords - , arg_types - , aux::make_arg_spec - , mpl::back_inserter > - >::type arg_specs; - - typedef typename mpl::count_if< - arg_specs - , aux::is_optional - >::type optional_arity; - - typedef typename mpl::front::type result_type; - typedef typename mpl::shift_left, optional_arity>::type upper; - - aux::def_combinations( - aux::def_class(cl, name) - , (arg_specs*)0 - , mpl::long_<0>() - , mpl::long_() - , (aux::make_invoker*)0 - ); -} - -namespace aux -{ - - template - struct keyword - { - typedef K type; - }; - - template - struct keyword - { - typedef K type; - }; - - template - struct keyword - { - typedef K type; - }; - - template - struct required - { - typedef mpl::true_ type; - }; - - template - struct required - { - typedef mpl::false_ type; - }; - - template - struct optimized - { - typedef mpl::true_ type; - }; - - template - struct optimized - { - typedef mpl::false_ type; - }; - - template - struct make_kw_spec; - - template - struct make_kw_spec - { - typedef arg_spec< - typename keyword::type - , typename required::type - , typename optimized::type - , T - > type; - }; - -} // namespace aux - -template -struct init - : boost::python::def_visitor > -{ - init(CallPolicies call_policies = CallPolicies()) - : call_policies(call_policies) - {} - - template - init - operator[](CallPolicies1 const& call_policies) const - { - return init(call_policies); - } - - template - void visit_aux(Class& cl, mpl::true_) const - { - cl.def(boost::python::init<>()[call_policies]); - } - - template - void visit_aux(Class& cl, mpl::false_) const - { - typedef typename mpl::transform< - ParameterSpecs - , aux::make_kw_spec - , mpl::back_inserter > - >::type arg_specs; - - typedef typename mpl::count_if< - arg_specs - , aux::is_optional - >::type optional_arity; - - typedef typename mpl::shift_left, optional_arity>::type upper; - - aux::def_combinations( - aux::def_init(cl, call_policies) - , (arg_specs*)0 - , mpl::long_<0>() - , mpl::long_() - , (aux::make_init_invoker*)0 - ); - } - - template - void visit(Class& cl) const - { - visit_aux(cl, mpl::empty()); - } - - CallPolicies call_policies; -}; - -template -struct call - : boost::python::def_visitor > -{ - call(CallPolicies const& call_policies = CallPolicies()) - : call_policies(call_policies) - {} - - template - call - operator[](CallPolicies1 const& call_policies) const - { - return call(call_policies); - } - - template - void visit(Class& cl) const - { - typedef mpl::iterator_range< - typename mpl::next< - typename mpl::begin::type - >::type - , typename mpl::end::type - > arg_types; - - typedef typename mpl::front::type result_type; - - typedef typename mpl::transform< - arg_types - , aux::make_kw_spec - , mpl::back_inserter > - >::type arg_specs; - - typedef typename mpl::count_if< - arg_specs - , aux::is_optional - >::type optional_arity; - - typedef typename mpl::shift_left, optional_arity>::type upper; - - typedef aux::call_policies_as_options options; - - aux::def_combinations( - aux::def_class(cl, "__call__", options(call_policies)) - , (arg_specs*)0 - , mpl::long_<0>() - , mpl::long_() - , (aux::make_call_invoker*)0 - ); - } - - CallPolicies call_policies; -}; - -template -struct function - : boost::python::def_visitor > -{ - template - void visit(Class& cl, char const* name, Options const& options) const - { - typedef mpl::iterator_range< - typename mpl::next< - typename mpl::begin::type - >::type - , typename mpl::end::type - > arg_types; - - typedef typename mpl::front::type result_type; - - typedef typename mpl::transform< - arg_types - , aux::make_kw_spec - , mpl::back_inserter > - >::type arg_specs; - - typedef typename mpl::count_if< - arg_specs - , aux::is_optional - >::type optional_arity; - - typedef typename mpl::shift_left, optional_arity>::type upper; - - aux::def_combinations( - aux::def_class(cl, name, options) - , (arg_specs*)0 - , mpl::long_<0>() - , mpl::long_() - , (aux::make_member_invoker< - Fwd, result_type, typename Class::wrapped_type - >*)0 - ); - } -}; - -}}} // namespace boost::parameter::python - -#endif // BOOST_PARAMETER_PYTHON_060209_HPP - diff --git a/external/boost/parameter/value_type.hpp b/external/boost/parameter/value_type.hpp deleted file mode 100644 index a323dcf37..000000000 --- a/external/boost/parameter/value_type.hpp +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright Daniel Wallin 2006. Use, modification and distribution is -// subject to the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -#ifndef BOOST_PARAMETER_VALUE_TYPE_060921_HPP -# define BOOST_PARAMETER_VALUE_TYPE_060921_HPP - -# include -# include -# include -# include -# include -# include - -namespace boost { namespace parameter { - -// A metafunction that, given an argument pack, returns the type of -// the parameter identified by the given keyword. If no such -// parameter has been specified, returns Default - -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) -template -struct value_type0 -{ - typedef typename mpl::apply_wrap3< - typename Parameters::binding,Keyword,Default,mpl::false_ - >::type type; - - BOOST_MPL_ASSERT_NOT(( - mpl::and_< - is_same - , is_same - > - )); -}; -# endif - -template -struct value_type -{ -# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) - typedef typename mpl::eval_if< - mpl::is_placeholder - , mpl::identity - , value_type0 - >::type type; -# else - typedef typename mpl::apply_wrap3< - typename Parameters::binding,Keyword,Default,mpl::false_ - >::type type; - - BOOST_MPL_ASSERT_NOT(( - mpl::and_< - is_same - , is_same - > - )); -# endif - - BOOST_MPL_AUX_LAMBDA_SUPPORT(3,value_type,(Parameters,Keyword,Default)) -}; - -// A metafunction that, given an argument pack, returns the type of -// the parameter identified by the given keyword. If no such -// parameter has been specified, returns the type returned by invoking -// DefaultFn -template -struct lazy_value_type -{ - typedef typename mpl::apply_wrap3< - typename Parameters::binding - , Keyword - , typename aux::result_of0::type - , mpl::false_ - >::type type; -}; - - -}} // namespace boost::parameter - -#endif // BOOST_PARAMETER_VALUE_TYPE_060921_HPP - diff --git a/external/boost/ref.hpp b/external/boost/ref.hpp deleted file mode 100644 index 17b56ec00..000000000 --- a/external/boost/ref.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2014 Glen Fernandes - * - * Distributed under the Boost Software License, Version 1.0. (See - * accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BOOST_REF_HPP -#define BOOST_REF_HPP - -// The header file at this path is deprecated; -// use boost/core/ref.hpp instead. - -#include - -#endif diff --git a/external/boost/version.hpp b/external/boost/version.hpp deleted file mode 100644 index d8f2132aa..000000000 --- a/external/boost/version.hpp +++ /dev/null @@ -1,32 +0,0 @@ -// Boost version.hpp configuration header file ------------------------------// - -// (C) Copyright John maddock 1999. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/config for documentation - -#ifndef BOOST_VERSION_HPP -#define BOOST_VERSION_HPP - -// -// Caution: this is the only Boost header that is guaranteed -// to change with every Boost release. Including this header -// will cause a recompile every time a new Boost version is -// used. -// -// BOOST_VERSION % 100 is the patch level -// BOOST_VERSION / 100 % 1000 is the minor version -// BOOST_VERSION / 100000 is the major version - -#define BOOST_VERSION 106600 - -// -// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION -// but as a *string* in the form "x_y[_z]" where x is the major version -// number, y is the minor version number, and z is the patch level if not 0. -// This is used by to select which library version to link to. - -#define BOOST_LIB_VERSION "1_66" - -#endif From dc1a67de97352252757e2252cde11d659b2bfdb7 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 23 Mar 2021 12:25:12 +0200 Subject: [PATCH 44/63] set upper bound for the number of relfections --- ...ial_hamiltonian_monte_carlo_exact_walk.hpp | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index df998bc58..febc6cbb3 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -19,24 +19,29 @@ struct ExponentialHamiltonianMonteCarloExactWalk { ExponentialHamiltonianMonteCarloExactWalk(double L) - : param(L, true) + : param(L, true, 0, false) + {} + + ExponentialHamiltonianMonteCarloExactWalk(double L, unsigned int rho) + : param(L, true, rho, true) {} ExponentialHamiltonianMonteCarloExactWalk() - : param(0, false) + : param(0, false, 0, false) {} struct parameters { - parameters(double L, bool set) - : m_L(L), set_L(set) + parameters(double L, bool set, unsigned int _rho, bool _set_rho) + : m_L(L), set_L(set), rho(_rho), set_rho(_set_rho) {} double m_L; bool set_L; + unsigned int rho; + bool set_rho; }; parameters param; - static const double _tol;; template @@ -59,6 +64,7 @@ struct Walk _Ac = P.get_mat() * c.getCoefficients(); _Temp = T; _c = c; + _rho = 100 * P.dimension(); // upper bound for the number of reflections (experimental) initialize(P, p, rng); } @@ -72,6 +78,7 @@ struct Walk _Ac = P.get_mat() * c.getCoefficients(); _Temp = T; _c = c; + _rho = 100 * P.dimension(); // upper bound for the number of reflections (experimental) initialize(P, p, rng); } @@ -94,14 +101,14 @@ struct Walk do { _p = p0; failures++; - if (failures == 1000) { + if (failures == 1000) { // if the number of failures exceeds 1000 then stop return false; } T = rng.sample_urdist() * _Len; _v = GetDirection::apply(n, rng, false); it = 0; - while (it < 100*n) + while (it < _rho) { auto pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); @@ -119,7 +126,7 @@ struct Walk } } while (P.is_in(_p, TOL) == 0); - if (it == 100*n){ + if (it == _rho) { _p = p0; } } @@ -208,7 +215,7 @@ private : do { _p = p; - T = rng.sample_urdist()* _Len; + T = rng.sample_urdist() * _Len; int it = 0; std::pair pbpair @@ -224,7 +231,7 @@ private : T -= _lambda_prev; P.compute_reflection(_v, _p, pbpair.second); - while (it <= 100*n) + while (it <= _rho) { std::pair pbpair = P.quadratic_positive_intersect(_p, _v, _Ac, _Temp, _lambdas, _Av, _lambda_prev, _facet_prev); @@ -232,7 +239,7 @@ private : _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); _lambda_prev = T; break; - }else if (it == 100*n) { + }else if (it == _rho) { _lambda_prev = rng.sample_urdist() * pbpair.first; _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); break; @@ -276,6 +283,7 @@ private : NT _Temp; NT _lambda_prev; int _facet_prev; + unsigned int _rho; typename Point::Coeff _lambdas; typename Point::Coeff _Av; }; From 582acef964bf77c61ecec9b8d09e77617e6ec3b7 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 23 Mar 2021 12:44:51 +0200 Subject: [PATCH 45/63] set upper bound for the number of relfections --- ...ian_hamiltonian_monte_carlo_exact_walk.hpp | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp index 02ba5a828..2b8eb92a8 100644 --- a/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp @@ -16,22 +16,28 @@ struct GaussianHamiltonianMonteCarloExactWalk { + GaussianHamiltonianMonteCarloExactWalk(double L, unsigned int _rho) + : param(L, true, _rho, true) + {} + GaussianHamiltonianMonteCarloExactWalk(double L) - : param(L, true) + : param(L, true, 0, false) {} GaussianHamiltonianMonteCarloExactWalk() - : param(0, false) + : param(0, false, 0, false) {} struct parameters { - parameters(double L, bool set) - : m_L(L), set_L(set) + parameters(double L, bool set, unsigned int _rho, bool _set_rho) + : m_L(L), set_L(set), rho(_rho), set_rho(_set_rho) {} double m_L; bool set_L; + unsigned int rho; + bool set_rho; }; parameters param; @@ -54,6 +60,7 @@ struct Walk _Len = compute_diameter ::template compute(P); _omega = std::sqrt(NT(2) * a_i); + _rho = 100 * P.dimension(); // upper bound for the number of reflections (experimental) initialize(P, p, a_i, rng); } @@ -65,6 +72,7 @@ struct Walk : compute_diameter ::template compute(P); _omega = std::sqrt(NT(2) * a_i); + _rho = 100 * P.dimension(); // upper bound for the number of reflections (experimental) initialize(P, p, a_i, rng); } @@ -87,7 +95,7 @@ struct Walk _v = GetDirection::apply(n, rng, false); Point p0 = _p; int it = 0; - while (it < 200*n) + while (it < _rho) { auto pbpair = P.trigonometric_positive_intersect(_p, _v, _omega, _facet_prev); if (T <= pbpair.first) { @@ -100,7 +108,7 @@ struct Walk P.compute_reflection(_v, _p, pbpair.second); it++; } - if (it == 200*n){ + if (it == _rho){ _p = p0; } } @@ -187,14 +195,14 @@ private : NT T = rng.sample_urdist() * _Len; int it = 0; - while (it <= 200*n) + while (it <= _rho) { auto pbpair = P.trigonometric_positive_intersect(_p, _v, _omega, _facet_prev); if (T <= pbpair.first) { update_position(_p, _v, T, _omega); break; - }else if (it == 200*n) { + }else if (it == _rho) { _lambda_prev = rng.sample_urdist() * pbpair.first; update_position(_p, _v, _lambda_prev, _omega); break; @@ -245,6 +253,7 @@ private : } int _facet_prev; + unsigned int _rho; NT _Len; Point _p; Point _v; From 751f36e3d5f4185b55b5b18fc9be6b867247ce64 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 23 Mar 2021 13:01:52 +0200 Subject: [PATCH 46/63] resolve review comments --- R-proj/test_ess.R | 5 --- examples/mmcs_method/Boost.cmake | 35 +++++++++++++++++++ examples/mmcs_method/CMakeLists.txt | 5 +++ examples/mmcs_method/Eigen.cmake | 30 ++++++++++++++++ examples/mmcs_method/random_hpoly_50_dim.cpp | 6 ++-- examples/mmcs_method/skinny_cube_10_dim.cpp | 6 ++-- ...ils.hpp => ess_updater_autocovariance.hpp} | 4 +-- include/diagnostics/ess_window_updater.hpp | 6 ++-- 8 files changed, 81 insertions(+), 16 deletions(-) delete mode 100644 R-proj/test_ess.R create mode 100644 examples/mmcs_method/Boost.cmake create mode 100644 examples/mmcs_method/Eigen.cmake rename include/diagnostics/{ess_updater_utils.hpp => ess_updater_autocovariance.hpp} (95%) diff --git a/R-proj/test_ess.R b/R-proj/test_ess.R deleted file mode 100644 index 193072bf2..000000000 --- a/R-proj/test_ess.R +++ /dev/null @@ -1,5 +0,0 @@ -library(volesti) - -P = gen_rand_hpoly(4,13) -p = sample_points(P,n=32) -ess(p) \ No newline at end of file diff --git a/examples/mmcs_method/Boost.cmake b/examples/mmcs_method/Boost.cmake new file mode 100644 index 000000000..85b78e29d --- /dev/null +++ b/examples/mmcs_method/Boost.cmake @@ -0,0 +1,35 @@ +function(GetBoost) + + find_path(BOOST_DIR NAMES boost PATHS ../external/) + + if (NOT BOOST_DIR) + + set(BOOST_URL "https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2" CACHE STRING "Boost download URL") + set(BOOST_URL_SHA256 "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb" CACHE STRING "Boost download URL SHA256 checksum") + + include(FetchContent) + FetchContent_Declare( + Boost + URL ${BOOST_URL} + URL_HASH SHA256=${BOOST_URL_SHA256} + ) + FetchContent_GetProperties(Boost) + + if(NOT Boost_POPULATED) + message(STATUS "Fetching Boost") + FetchContent_Populate(Boost) + message(STATUS "Fetching Boost - done") + set(BOOST_DIR ${boost_SOURCE_DIR}) + endif() + + message(STATUS "Using downloaded Boost library at ${BOOST_DIR}") + + else () + message(STATUS "Boost Library found: ${BOOST_DIR}") + + endif() + + include_directories(${BOOST_DIR}) + include_directories(${BOOST_DIR}/boost) + +endfunction() diff --git a/examples/mmcs_method/CMakeLists.txt b/examples/mmcs_method/CMakeLists.txt index 26c86b3dc..1787754c2 100644 --- a/examples/mmcs_method/CMakeLists.txt +++ b/examples/mmcs_method/CMakeLists.txt @@ -55,6 +55,11 @@ else() endif(DISABLE_NLP_ORACLES) +include("Eigen.cmake") +GetEigen() + +include("Boost.cmake") +GetBoost() # Find lpsolve library find_library(LP_SOLVE NAMES liblpsolve55.so PATHS /usr/lib/lp_solve) diff --git a/examples/mmcs_method/Eigen.cmake b/examples/mmcs_method/Eigen.cmake new file mode 100644 index 000000000..5ebc7e599 --- /dev/null +++ b/examples/mmcs_method/Eigen.cmake @@ -0,0 +1,30 @@ +function(GetEigen) + find_path(EIGEN_DIR NAMES Eigen PATHS ../../external) + + if (NOT EIGEN_DIR) + include(FetchContent) + FetchContent_Declare( + eigen + GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git + GIT_TAG 3.3.9 + ) + + FetchContent_GetProperties(eigen) + + if(NOT eigen_POPULATED) + message(STATUS "Eigen library not found locally, downloading it.") + FetchContent_Populate(eigen) + endif() + + set(EIGEN_DIR ${eigen_SOURCE_DIR}) + message(STATUS "Using downloaded Eigen library at: ${EIGEN_DIR}") + + else () + + message(STATUS "Eigen Library found: ${EIGEN_DIR}") + + endif() + + include_directories(${EIGEN_DIR}) + +endfunction() \ No newline at end of file diff --git a/examples/mmcs_method/random_hpoly_50_dim.cpp b/examples/mmcs_method/random_hpoly_50_dim.cpp index 07d0edbfb..bbcf4632c 100644 --- a/examples/mmcs_method/random_hpoly_50_dim.cpp +++ b/examples/mmcs_method/random_hpoly_50_dim.cpp @@ -52,7 +52,7 @@ void run_main() MT S; - std::cout<<"target effective sample size = "< Date: Tue, 23 Mar 2021 16:08:15 +0200 Subject: [PATCH 47/63] change the name of TOL to IN_INSIDE_BODY_TOLLERANCE --- .../exponential_hamiltonian_monte_carlo_exact_walk.hpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index febc6cbb3..a00209f76 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -8,9 +8,7 @@ #ifndef RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP #define RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP -#ifndef TOL -#define TOL 1e-10 -#endif +#define IN_INSIDE_BODY_TOLLERANCE 1e-10 #include "sampling/sphere.hpp" @@ -125,7 +123,7 @@ struct Walk it++; } - } while (P.is_in(_p, TOL) == 0); + } while (P.is_in(_p, IN_INSIDE_BODY_TOLLERANCE) == 0); if (it == _rho) { _p = p0; } @@ -251,7 +249,7 @@ private : P.compute_reflection(_v, _p, pbpair.second); it++; } - } while (P.is_in(_p, TOL) == 0); + } while (P.is_in(_p, IN_INSIDE_BODY_TOLLERANCE) == 0); } From eaf8a88a2eb672f092dc66433e46b989ad17a65c Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sun, 28 Mar 2021 16:22:01 +0300 Subject: [PATCH 48/63] implement parallel mmcs --- include/sampling/parallel_mmcs.hpp | 195 +++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 include/sampling/parallel_mmcs.hpp diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp new file mode 100644 index 000000000..eeecab931 --- /dev/null +++ b/include/sampling/parallel_mmcs.hpp @@ -0,0 +1,195 @@ +// VolEsti (volume computation and sampling library) +// Copyright (c) 2021 Vissarion Fisikopoulos +// Copyright (c) 2021 Apostolos Chalkis + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef PARALLEL_MMCS_HPP +#define PARALLEL_MMCS_HPP + + +#include +#include +#include +#include "diagnostics/ess_window_updater.hpp" + +/** + The class implements a single step of the Parallel Multiphase Monte Carlo Sampling algorithm + given in, + + A. Chalkis, V. Fisikopoulos, E. Tsigaridas, H. Zafeiropoulos, Geometric algorithms for sampling the flux space of metabolic networks, SoCG 21. + + * @tparam Polytope convex polytope type + * @tparam RandomNumberGenerator random number generator type + * @tparam MT matrix type + * @tparam Point cartensian point type + * @tparam WalkTypePolicy random walk type + * @tparam NT number type +*/ +template +< + typename Polytope, + typename RandomNumberGenerator, + typename MT, + typename Point, + typename WalkTypePolicy + typename NT +> +void perform_parallel_mmcs_step(Polytope &P, + RandomNumberGenerator &rng, + const unsigned int &walk_length, + const unsigned int &target_ess, + unsigned int const& max_num_samples, + unsigned int const& window, + unsigned int &Neff_sampled, + unsigned int &total_samples, + unsigned int const& num_rounding_steps, + MT &TotalRandPoints, + bool &complete, + const Point &starting_point, + unsigned int const& nburns, + unsigned int const& num_threads, + bool request_rounding, + WalkTypePolicy &WalkType, + NT L) +{ + //typedef typename Polytope::NT NT; + typedef typename Polytope::VT VT; + typedef typename WalkTypePolicy::template Walk + < + Polytope, + RandomNumberGenerator + > Walk; + + typedef typename WalkTypePolicy::template thread_parameters + < + NT, + Point, + VT + > thread_parameters; + + omp_set_num_threads(num_threads); + std::vector num_starting_points_per_thread(num_threads, 0); + std::vector bound_on_num_points_per_thread(num_threads, 0); + std::vector num_generated_points_per_thread(num_threads, 0); + unsigned int jj = 0, d = P.dimension(), m = P.num_of_hyperplanes(); + + while (jj < nburns) + { + for (unsigned int i = 0; i < num_threads; i++) + { + num_starting_points_per_thread[i]++; + bound_on_num_points_per_thread[i] += window; + jj++; + } + } + + std::vector winPoints_per_thread(num_threads, MT::Zero(d, window)); + //std::vector starting_point_per_thread(num_threads, Point(d)); + std::vector TotalRandPoints_per_thread(num_threads); + std::vector walk_parameters_per_thread(num_threads); + + ESSestimator estimator(window, P.dimension()); + + bool done = false, done_all = false; + unsigned int points_to_sample = target_ess; + int min_eff_samples; + total_samples = 0; + //MT winPoints(P.dimension(), window); + //Point q(P.dimension()); + + Point pp = starting_point; + for (unsigned int i = 0; i < num_threads; i++) + { + TotalRandPoints_per_thread[i].setZero(bound_on_num_points_per_thread[i], d); + walk_parameters_per_thread[i] = thread_parameters(d, m); + } + unsigned int upper_bound_on_total_num_of_samples; + if (request_rounding) + { + upper_bound_on_total_num_of_samples = num_rounding_steps; + } + else + { + upper_bound_on_total_num_of_samples = max_num_samples; + } + TotalRandPoints.resize(0, 0); + Walk walk(P, rng, L); + + walk.template parameters_burnin(P, pp, 10 + int(std::log(NT(d))), 10, rng, walk_parameters_per_thread[0]); + Point const p = pp; + + #pragma omp parallel + { + int thread_index = omp_get_thread_num(); + + for (unsigned int it = 0; it < num_starting_points_per_thread[thread_index]; it++) + { + if (done_all) + { + break; + } + walk.template get_starting_point(P, p, walk_parameters_per_thread[thread_index], 10, rng); + for (int i = 0; i < window; i++) + { + walk.template apply(P, walk_parameters_per_thread[thread_index], walk_length, rng); + winPoints_per_thread[thread_index].col(i) = walk_parameters_per_thread.p.getCoefficients(); + } + estimator.update_estimator(winPoints_per_thread[thread_index]); + num_generated_points_per_thread[thread_index] += window; + total_samples += window; + if (total_samples >= upper_bound_on_total_num_of_samples && thread_index == 0) + { + done = true; + } + TotalRandPoints_per_thread[thread_index].block(num_generated_points_per_thread[thread_index] - window, 0, window, d) = winPoints_per_thread[thread_index].transpose(); + if ((done || total_samples >= points_to_sample) && thread_index == 0) + { + estimator.estimate_effective_sample_size(); + min_eff_samples = int(estimator.get_effective_sample_size().minCoeff()); + if (done && min_eff_samples < target_ess) + { + Neff_sampled = min_eff_samples; + done_all = true; + continue; + } + if (min_eff_samples >= target_ess) + { + complete = true; + Neff_sampled = min_eff_samples; + done_all = true; + continue; + } + if (min_eff_samples > 0) + { + points_to_sample += (total_samples / min_eff_samples) * (target_ess - min_eff_samples) + 100; + } + else + { + points_to_sample = total_samples + 100; + } + } + } + } + + estimator.estimate_effective_sample_size(); + min_eff_samples = int(estimator.get_effective_sample_size().minCoeff()); + Neff_sampled = min_eff_samples; + if (min_eff_samples >= target_ess) + { + complete = true; + } + + unsigned int current_num_samples = 0; + for (unsigned int i = 0; i < num_threads; i++) + { + TotalRandPoints.conservativeResize(TotalRandPoints.rows() + num_generated_points_per_thread[i], d); + TotalRandPoints.block(current_num_samples, 0, num_generated_points_per_thread[i], d) = TotalRandPoints_per_thread[i].block(0, 0, num_generated_points_per_thread[i], d); + current_num_samples += num_generated_points_per_thread[i]; + TotalRandPoints_per_thread[i].resize(0, 0); + } + +} + +#endif + From acb00be7caa1cb8ba1dbc76a64f07586a483438a Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sun, 28 Mar 2021 19:59:01 +0300 Subject: [PATCH 49/63] implement billiard walk for threads --- ...orm_accelerated_billiard_walk_parallel.hpp | 299 ++++++++++++++++++ include/sampling/parallel_mmcs.hpp | 11 +- 2 files changed, 302 insertions(+), 8 deletions(-) create mode 100644 include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp diff --git a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp new file mode 100644 index 000000000..17ba48484 --- /dev/null +++ b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp @@ -0,0 +1,299 @@ +// VolEsti (volume computation and sampling library) + +// Copyright (c) 2012-2020 Vissarion Fisikopoulos +// Copyright (c) 2018-2020 Apostolos Chalkis + +// Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. + +// Licensed under GNU LGPL.3, see LICENCE file + +#ifndef RANDOM_WALKS_ACCELERATED_IMPROVED_BILLIARD_WALK_PARALLEL_HPP +#define RANDOM_WALKS_ACCELERATED_IMPROVED_BILLIARD_WALK_PARALLEL_HPP + +#include "sampling/sphere.hpp" + + +// Billiard walk which accelarates each step for uniform distribution + +struct AcceleratedBilliardWalkParallel +{ + AcceleratedBilliardWalkParallel(double L) + : param(L, true) + {} + + AcceleratedBilliardWalkParallel() + : param(0, false) + {} + + + struct update_parameters + { + update_parameters() + : facet_prev(0), hit_ball(false), inner_vi_ak(0.0), ball_inner_norm(0.0) + {} + int facet_prev; + bool hit_ball; + double inner_vi_ak; + double ball_inner_norm; + }; + + template + struct thread_parameters + { + thread_parameters(unsigned int d, unsigned int m) + { + update_step_parameters = update_parameters(); + p = Point(d); + v = Point(d); + _lambdas.setZero(m); + _Av.setZero(m); + lambda_prev = NT(0); + } + + update_parameters update_step_parameters; + Point p; + Point v; + NT lambda_prev; + typename Point::Coeff _lambdas; + typename Point::Coeff _Av; + }; + + + template + < + typename Polytope, + typename RandomNumberGenerator + > + struct Walk + { + typedef typename Polytope::PointType Point; + typedef typename Polytope::MT MT; + typedef typename Point::FT NT; + + template + Walk(GenericPolytope const& P) + { + _L = compute_diameter + ::template compute(P); + _AA.noalias() = P.get_mat() * P.get_mat().transpose(); + _p0 = Point(P.dimesnion()); + } + + template + Walk(GenericPolytope const& P, Point const& p, NT const& L) + { + _L = L > NT(0) ? L + : compute_diameter + ::template compute(P); + _AA.noalias() = P.get_mat() * P.get_mat().transpose(); + _p0 = Point(P.dimesnion()); + } + + template + < + typename GenericPolytope, + typename thread_params + > + inline void apply(GenericPolytope const& P, + thread_params ¶ms, // a point to start + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T; + const NT dl = 0.995; + int it; + + for (auto j=0u; j::apply(n, rng); + _p0 = params.p; + + it = 0; + std::pair pbpair = P.line_positive_intersect(params.p, params.v, params.lambdas, params.Av, + params.lambda_prev, params.update_step_parameters); + if (T <= pbpair.first) { + params.p += (T * params.v); + params.lambda_prev = T; + continue; + } + + params.lambda_prev = dl * pbpair.first; + params.p += (_lambda_prev * params.v); + T -= params.lambda_prev; + P.compute_reflection(params.v, params.p, params.update_step_parameters); + it++; + + while (it < 1000*n) + { + std::pair pbpair + = P.line_positive_intersect(params.p, params.v, params.lambdas, params.Av, + params.lambda_prev, _AA, params.update_step_parameters); + if (T <= pbpair.first) { + params.p += (T * params.v); + params.lambda_prev = T; + break; + } + params.lambda_prev = dl * pbpair.first; + params.p += (params.lambda_prev * params.v); + T -= params.lambda_prev; + P.compute_reflection(params.v, params.p, params.update_step_parameters); + it++; + } + if (it == 1000*n) params.p = _p0; + } + } + + + template + < + typename GenericPolytope, + typename thread_params + > + inline void get_starting_point(GenericPolytope const& P, + Point const& center, + thread_params ¶ms, + unsigned int const& walk_length, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + NT T, Lmax = _L, max_dist, rad = 0.0, radius = P.InnerBall().second; + + params.p = GetPointInDsphere::apply(n, radius, rng); + params.p += center; + initialize(P, params, rng); + + apply(P, params, walk_length, rng); + } + + + template + < + typename GenericPolytope, + typename thread_params + > + inline void parameters_burnin(GenericPolytope const& P, + Point const& center, + unsigned int const& num_points, + unsigned int const& walk_length, + RandomNumberGenerator &rng, + thread_params ¶ms) + { + std::vector pointset; + pointset.push_back(center); + params.p = center; + initialize(P, params, rng); + pointset.push_back(params.p); + NT rad = NT(0), max_dist, Lmax; + + for (int i = 0; i < num_points; i++) + { + apply(P, params, walk_length, rng); + max_dist = get_max_distance(pointset, params.p, rad); + if (max_dist > Lmax) + { + Lmax = max_dist; + } + pointset.push_back(params.p); + } + + if (Lmax > _L) { + if (P.dimension() <= 2500) + { + update_delta(Lmax); + } + } + pointset.clear(); + } + + + + inline void update_delta(NT L) + { + _L = L; + } + + private : + + template + < + typename GenericPolytope, + typename thread_params + > + inline void initialize(GenericPolytope const& P, + thread_params ¶ms, + RandomNumberGenerator &rng) + { + unsigned int n = P.dimension(); + const NT dl = 0.995; + params.v = GetDirection::apply(n, rng); + + NT T = -std::log(rng.sample_urdist()) * _L; + int it = 0; + + std::pair pbpair + = P.line_first_positive_intersect(params.p, params.v, params.lambdas, + params.Av, params.update_step_parameters); + if (T <= pbpair.first) { + params.p += (T * params.v); + params.lambda_prev = T; + return; + } + params.lambda_prev = dl * pbpair.first; + params.p += (params.lambda_prev * params.v); + T -= params.lambda_prev; + P.compute_reflection(params.v, params.p, params.update_step_parameters); + + while (it <= 1000*n) + { + std::pair pbpair + = P.line_positive_intersect(params.p, params.v, params.lambdas, params.Av, + params.lambda_prev, _AA, params.update_step_parameters); + if (T <= pbpair.first) { + params.p += (T * params.v); + params.lambda_prev = T; + break; + } else if (it == 1000*n) { + params.lambda_prev = rng.sample_urdist() * pbpair.first; + params.p += (params.lambda_prev * params.v); + break; + } + params.lambda_prev = dl * pbpair.first; + params.p += (params.lambda_prev * params.v); + T -= params.lambda_prev; + P.compute_reflection(params.v, params.p, params.update_step_parameters); + it++; + } + } + + inline double get_max_distance(std::vector &pointset, Point const& q, double &rad) + { + double dis = -1.0, temp_dis; + int jj = 0; + for (auto vecit = pointset.begin(); vecit!=pointset.end(); vecit++, jj++) + { + temp_dis = (q.getCoefficients() - (*vecit).getCoefficients()).norm(); + if (temp_dis > dis) { + dis = temp_dis; + } + if (jj == 0) { + if (temp_dis > rad) { + rad = temp_dis; + } + } + } + return dis; + } + + NT _L; + MT _AA; + Point _p0; + }; + +}; + + +#endif + + diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp index eeecab931..a5a790de9 100644 --- a/include/sampling/parallel_mmcs.hpp +++ b/include/sampling/parallel_mmcs.hpp @@ -28,11 +28,11 @@ */ template < + typename WalkTypePolicy, typename Polytope, typename RandomNumberGenerator, typename MT, typename Point, - typename WalkTypePolicy typename NT > void perform_parallel_mmcs_step(Polytope &P, @@ -50,7 +50,6 @@ void perform_parallel_mmcs_step(Polytope &P, unsigned int const& nburns, unsigned int const& num_threads, bool request_rounding, - WalkTypePolicy &WalkType, NT L) { //typedef typename Polytope::NT NT; @@ -64,8 +63,7 @@ void perform_parallel_mmcs_step(Polytope &P, typedef typename WalkTypePolicy::template thread_parameters < NT, - Point, - VT + Point > thread_parameters; omp_set_num_threads(num_threads); @@ -85,7 +83,6 @@ void perform_parallel_mmcs_step(Polytope &P, } std::vector winPoints_per_thread(num_threads, MT::Zero(d, window)); - //std::vector starting_point_per_thread(num_threads, Point(d)); std::vector TotalRandPoints_per_thread(num_threads); std::vector walk_parameters_per_thread(num_threads); @@ -95,8 +92,6 @@ void perform_parallel_mmcs_step(Polytope &P, unsigned int points_to_sample = target_ess; int min_eff_samples; total_samples = 0; - //MT winPoints(P.dimension(), window); - //Point q(P.dimension()); Point pp = starting_point; for (unsigned int i = 0; i < num_threads; i++) @@ -114,7 +109,7 @@ void perform_parallel_mmcs_step(Polytope &P, upper_bound_on_total_num_of_samples = max_num_samples; } TotalRandPoints.resize(0, 0); - Walk walk(P, rng, L); + Walk walk(P, L); walk.template parameters_burnin(P, pp, 10 + int(std::log(NT(d))), 10, rng, walk_parameters_per_thread[0]); Point const p = pp; From 4915f4603215eea0acea7a8f2980af519ed49e08 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Sun, 28 Mar 2021 21:13:06 +0300 Subject: [PATCH 50/63] add example for parallel mmcs and fix compile errors --- examples/mmcs_method/CMakeLists.txt | 4 + .../random_hpoly_10_dim_parallel.cpp | 170 ++++++++++++++++++ include/random_walks/random_walks.hpp | 1 + ...orm_accelerated_billiard_walk_parallel.hpp | 23 +-- include/sampling/parallel_mmcs.hpp | 23 +-- 5 files changed, 196 insertions(+), 25 deletions(-) create mode 100644 examples/mmcs_method/random_hpoly_10_dim_parallel.cpp diff --git a/examples/mmcs_method/CMakeLists.txt b/examples/mmcs_method/CMakeLists.txt index 1787754c2..505c8906b 100644 --- a/examples/mmcs_method/CMakeLists.txt +++ b/examples/mmcs_method/CMakeLists.txt @@ -109,12 +109,16 @@ else () add_definitions(${CXX_COVERAGE_COMPILE_FLAGS} "-DBOOST_NO_AUTO_PTR") #add_definitions(${CXX_COVERAGE_COMPILE_FLAGS} "-lgslcblas") #add_definitions( "-O3 -lgsl -lm -ldl -lgslcblas" ) + + find_package(OpenMP REQUIRED) add_executable (skinny_cube_10_dim skinny_cube_10_dim.cpp) add_executable (random_hpoly_50_dim random_hpoly_50_dim.cpp) + add_executable (random_hpoly_10_dim_parallel random_hpoly_10_dim_parallel.cpp) TARGET_LINK_LIBRARIES(skinny_cube_10_dim ${LP_SOLVE}) TARGET_LINK_LIBRARIES(random_hpoly_50_dim ${LP_SOLVE}) + TARGET_LINK_LIBRARIES(random_hpoly_10_dim_parallel ${LP_SOLVE} OpenMP::OpenMP_CXX) endif() diff --git a/examples/mmcs_method/random_hpoly_10_dim_parallel.cpp b/examples/mmcs_method/random_hpoly_10_dim_parallel.cpp new file mode 100644 index 000000000..c225bc9e8 --- /dev/null +++ b/examples/mmcs_method/random_hpoly_10_dim_parallel.cpp @@ -0,0 +1,170 @@ +// VolEsti (volume computation and sampling library) + +// Copyright (c) 2012-2021 Vissarion Fisikopoulos +// Copyright (c) 2018-2021 Apostolos Chalkis + +#include "Eigen/Eigen" + +#include +#include +#include +#include +#include +#include "random_walks/random_walks.hpp" +#include "volume/volume_sequence_of_balls.hpp" +#include "volume/volume_cooling_gaussians.hpp" +#include "sampling/parallel_mmcs.hpp" +#include "generators/h_polytopes_generator.h" +#include "diagnostics/multivariate_psrf.hpp" +#include "diagnostics/univariate_psrf.hpp" +#include "diagnostics/ess_window_updater.hpp" + + +template +void run_main() +{ + typedef Cartesian Kernel; + typedef BoostRandomNumberGenerator RNGType; + typedef boost::mt19937 PolyRNGType; + typedef typename Kernel::Point Point; + typedef HPolytope Hpolytope; + typedef Eigen::Matrix VT; + typedef Eigen::Matrix MT; + + int n = 50; + + RNGType rng(n); + Hpolytope P = random_hpoly(n, 4*n, 127); // we fix the example polytope, seed = 127 + std::list randPoints; + + MT T = MT::Identity(n, n); + VT T_shift = VT::Zero(n); + + unsigned int round_it = 1, num_rounding_steps = 20*n, + walk_length = 1, num_its = 20, Neff = 4000, total_neff = 0, phase = 0, + window = 100, max_num_samples = 100 * n, total_samples, nburns, total_number_of_samples_in_P0 = 0; + NT max_s, s_cutoff = 3.0, L; + bool complete = false, request_rounding = true, + rounding_completed = false; + bool req_round_temp = request_rounding; + + std::pair InnerBall; + + MT S; + + std::cout << "target effective sample size = " << Neff << "\n" << std::endl; + + while(true) + { + phase++; + if (request_rounding && rounding_completed) + { + req_round_temp = false; + } + + if (req_round_temp) + { + nburns = num_rounding_steps / window + 1; + } + else + { + nburns = max_num_samples / window + 1; + } + + InnerBall = P.ComputeInnerBall(); + L = NT(6) * std::sqrt(NT(n)) * InnerBall.second; + //AcceleratedBilliardWalk WalkType(L); + + unsigned int Neff_sampled, num_threads = 2; + MT TotalRandPoints; + perform_parallel_mmcs_step(P, rng, walk_length, Neff, max_num_samples, window, + Neff_sampled, total_samples, num_rounding_steps, TotalRandPoints, + complete, InnerBall.first, nburns, num_threads, req_round_temp, L); + + Neff -= Neff_sampled; + std::cout << "phase " << phase << ": number of correlated samples = " << total_samples << ", effective sample size = " << Neff_sampled; + total_neff += Neff_sampled; + Neff_sampled = 0; + + MT Samples = TotalRandPoints.transpose(); //do not copy TODO! + for (int i = 0; i < total_samples; i++) + { + Samples.col(i) = T * Samples.col(i) + T_shift; + } + + S.conservativeResize(P.dimension(), total_number_of_samples_in_P0 + total_samples); + S.block(0, total_number_of_samples_in_P0, P.dimension(), total_samples) = Samples.block(0, 0, P.dimension(), total_samples); + total_number_of_samples_in_P0 += total_samples; + if (!complete) + { + if (request_rounding && !rounding_completed) + { + VT shift(n), s(n); + MT V(n,n), S(n,n), round_mat; + for (int i = 0; i < P.dimension(); ++i) + { + shift(i) = TotalRandPoints.col(i).mean(); + } + + for (int i = 0; i < total_samples; ++i) + { + TotalRandPoints.row(i) = TotalRandPoints.row(i) - shift.transpose(); + } + + Eigen::BDCSVD svd(TotalRandPoints, Eigen::ComputeFullV); + s = svd.singularValues() / svd.singularValues().minCoeff(); + + if (s.maxCoeff() >= 2.0) + { + for (int i = 0; i < s.size(); ++i) + { + if (s(i) < 2.0) + { + s(i) = 1.0; + } + } + V = svd.matrixV(); + } + else + { + s = VT::Ones(P.dimension()); + V = MT::Identity(P.dimension(), P.dimension()); + } + max_s = s.maxCoeff(); + S = s.asDiagonal(); + round_mat = V * S; + + round_it++; + P.shift(shift); + P.linear_transformIt(round_mat); + T_shift += T * shift; + T = T * round_mat; + + std::cout << ", ratio of the maximum singilar value over the minimum singular value = " << max_s << std::endl; + + if (max_s <= s_cutoff || round_it > num_its) + { + rounding_completed = true; + } + } + else + { + std::cout<<"\n"; + } + } + else + { + std::cout<<"\n\n"; + break; + } + } + + std::cerr << "sum of effective sample sizes: " << total_neff << std::endl; + std::cerr << "multivariate PSRF: " << multivariate_psrf(S) << std::endl; + std::cerr << "maximum marginal PSRF: " << univariate_psrf(S).maxCoeff() << std::endl; +} + +int main() { + run_main(); + return 0; +} diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index d1628e562..a316d283c 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -23,6 +23,7 @@ #include "random_walks/uniform_accelerated_billiard_walk.hpp" #include "random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp" #include "random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp" +#include "random_walks/uniform_accelerated_billiard_walk_parallel.hpp" #ifndef VOLESTIPY #include "random_walks/hamiltonian_monte_carlo_walk.hpp" #include "random_walks/langevin_walk.hpp" diff --git a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp index 17ba48484..04430dd50 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp @@ -17,12 +17,7 @@ struct AcceleratedBilliardWalkParallel { - AcceleratedBilliardWalkParallel(double L) - : param(L, true) - {} - AcceleratedBilliardWalkParallel() - : param(0, false) {} @@ -37,7 +32,7 @@ struct AcceleratedBilliardWalkParallel double ball_inner_norm; }; - template + template struct thread_parameters { thread_parameters(unsigned int d, unsigned int m) @@ -45,8 +40,8 @@ struct AcceleratedBilliardWalkParallel update_step_parameters = update_parameters(); p = Point(d); v = Point(d); - _lambdas.setZero(m); - _Av.setZero(m); + lambdas.setZero(m); + Av.setZero(m); lambda_prev = NT(0); } @@ -54,8 +49,8 @@ struct AcceleratedBilliardWalkParallel Point p; Point v; NT lambda_prev; - typename Point::Coeff _lambdas; - typename Point::Coeff _Av; + typename Point::Coeff lambdas; + typename Point::Coeff Av; }; @@ -76,17 +71,17 @@ struct AcceleratedBilliardWalkParallel _L = compute_diameter ::template compute(P); _AA.noalias() = P.get_mat() * P.get_mat().transpose(); - _p0 = Point(P.dimesnion()); + _p0 = Point(P.dimension()); } template - Walk(GenericPolytope const& P, Point const& p, NT const& L) + Walk(GenericPolytope const& P, NT const& L) { _L = L > NT(0) ? L : compute_diameter ::template compute(P); _AA.noalias() = P.get_mat() * P.get_mat().transpose(); - _p0 = Point(P.dimesnion()); + _p0 = Point(P.dimension()); } template @@ -120,7 +115,7 @@ struct AcceleratedBilliardWalkParallel } params.lambda_prev = dl * pbpair.first; - params.p += (_lambda_prev * params.v); + params.p += (params.lambda_prev * params.v); T -= params.lambda_prev; P.compute_reflection(params.v, params.p, params.update_step_parameters); it++; diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp index a5a790de9..e0e74ca1d 100644 --- a/include/sampling/parallel_mmcs.hpp +++ b/include/sampling/parallel_mmcs.hpp @@ -19,11 +19,11 @@ A. Chalkis, V. Fisikopoulos, E. Tsigaridas, H. Zafeiropoulos, Geometric algorithms for sampling the flux space of metabolic networks, SoCG 21. + * @tparam WalkTypePolicy random walk type * @tparam Polytope convex polytope type * @tparam RandomNumberGenerator random number generator type * @tparam MT matrix type * @tparam Point cartensian point type - * @tparam WalkTypePolicy random walk type * @tparam NT number type */ template @@ -52,8 +52,7 @@ void perform_parallel_mmcs_step(Polytope &P, bool request_rounding, NT L) { - //typedef typename Polytope::NT NT; - typedef typename Polytope::VT VT; + typedef typename Polytope::VT VT; // vector type typedef typename WalkTypePolicy::template Walk < Polytope, @@ -64,7 +63,7 @@ void perform_parallel_mmcs_step(Polytope &P, < NT, Point - > thread_parameters; + > _thread_parameters; omp_set_num_threads(num_threads); std::vector num_starting_points_per_thread(num_threads, 0); @@ -84,7 +83,6 @@ void perform_parallel_mmcs_step(Polytope &P, std::vector winPoints_per_thread(num_threads, MT::Zero(d, window)); std::vector TotalRandPoints_per_thread(num_threads); - std::vector walk_parameters_per_thread(num_threads); ESSestimator estimator(window, P.dimension()); @@ -97,7 +95,6 @@ void perform_parallel_mmcs_step(Polytope &P, for (unsigned int i = 0; i < num_threads; i++) { TotalRandPoints_per_thread[i].setZero(bound_on_num_points_per_thread[i], d); - walk_parameters_per_thread[i] = thread_parameters(d, m); } unsigned int upper_bound_on_total_num_of_samples; if (request_rounding) @@ -111,12 +108,16 @@ void perform_parallel_mmcs_step(Polytope &P, TotalRandPoints.resize(0, 0); Walk walk(P, L); - walk.template parameters_burnin(P, pp, 10 + int(std::log(NT(d))), 10, rng, walk_parameters_per_thread[0]); + _thread_parameters random_walk_parameters(d, m); + walk.template parameters_burnin(P, pp, 10 + int(std::log(NT(d))), 10, rng, random_walk_parameters); Point const p = pp; + std::cout<<"\n"; #pragma omp parallel { int thread_index = omp_get_thread_num(); + _thread_parameters thread_random_walk_parameters(d, m); + std::cout << "Hello world from thread: " << omp_get_thread_num() << std::endl; for (unsigned int it = 0; it < num_starting_points_per_thread[thread_index]; it++) { @@ -124,18 +125,18 @@ void perform_parallel_mmcs_step(Polytope &P, { break; } - walk.template get_starting_point(P, p, walk_parameters_per_thread[thread_index], 10, rng); + walk.template get_starting_point(P, p, thread_random_walk_parameters, 10, rng); for (int i = 0; i < window; i++) { - walk.template apply(P, walk_parameters_per_thread[thread_index], walk_length, rng); - winPoints_per_thread[thread_index].col(i) = walk_parameters_per_thread.p.getCoefficients(); + walk.template apply(P, thread_random_walk_parameters, walk_length, rng); + winPoints_per_thread[thread_index].col(i) = thread_random_walk_parameters.p.getCoefficients(); } estimator.update_estimator(winPoints_per_thread[thread_index]); num_generated_points_per_thread[thread_index] += window; total_samples += window; if (total_samples >= upper_bound_on_total_num_of_samples && thread_index == 0) { - done = true; + done = true; } TotalRandPoints_per_thread[thread_index].block(num_generated_points_per_thread[thread_index] - window, 0, window, d) = winPoints_per_thread[thread_index].transpose(); if ((done || total_samples >= points_to_sample) && thread_index == 0) From 53c4d531f38fcd89c43950248943574029843cde Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 30 Mar 2021 22:28:04 +0300 Subject: [PATCH 51/63] improve comments and minor code improvements --- examples/mmcs_method/CMakeLists.txt | 4 +- ...l.cpp => random_hpoly_50_dim_parallel.cpp} | 0 ...orm_accelerated_billiard_walk_parallel.hpp | 55 ++++++++++--------- include/sampling/parallel_mmcs.hpp | 44 +++++++-------- 4 files changed, 52 insertions(+), 51 deletions(-) rename examples/mmcs_method/{random_hpoly_10_dim_parallel.cpp => random_hpoly_50_dim_parallel.cpp} (100%) diff --git a/examples/mmcs_method/CMakeLists.txt b/examples/mmcs_method/CMakeLists.txt index 505c8906b..11792f1fa 100644 --- a/examples/mmcs_method/CMakeLists.txt +++ b/examples/mmcs_method/CMakeLists.txt @@ -114,11 +114,11 @@ else () add_executable (skinny_cube_10_dim skinny_cube_10_dim.cpp) add_executable (random_hpoly_50_dim random_hpoly_50_dim.cpp) - add_executable (random_hpoly_10_dim_parallel random_hpoly_10_dim_parallel.cpp) + add_executable (random_hpoly_50_dim_parallel random_hpoly_50_dim_parallel.cpp) TARGET_LINK_LIBRARIES(skinny_cube_10_dim ${LP_SOLVE}) TARGET_LINK_LIBRARIES(random_hpoly_50_dim ${LP_SOLVE}) - TARGET_LINK_LIBRARIES(random_hpoly_10_dim_parallel ${LP_SOLVE} OpenMP::OpenMP_CXX) + TARGET_LINK_LIBRARIES(random_hpoly_50_dim_parallel ${LP_SOLVE} OpenMP::OpenMP_CXX) endif() diff --git a/examples/mmcs_method/random_hpoly_10_dim_parallel.cpp b/examples/mmcs_method/random_hpoly_50_dim_parallel.cpp similarity index 100% rename from examples/mmcs_method/random_hpoly_10_dim_parallel.cpp rename to examples/mmcs_method/random_hpoly_50_dim_parallel.cpp diff --git a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp index 04430dd50..35d17cbe6 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp @@ -3,8 +3,6 @@ // Copyright (c) 2012-2020 Vissarion Fisikopoulos // Copyright (c) 2018-2020 Apostolos Chalkis -// Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - // Licensed under GNU LGPL.3, see LICENCE file #ifndef RANDOM_WALKS_ACCELERATED_IMPROVED_BILLIARD_WALK_PARALLEL_HPP @@ -13,7 +11,7 @@ #include "sampling/sphere.hpp" -// Billiard walk which accelarates each step for uniform distribution +// Billiard walk which accelarates each step for uniform distribution and can be used for a parallel use by threads struct AcceleratedBilliardWalkParallel { @@ -72,6 +70,7 @@ struct AcceleratedBilliardWalkParallel ::template compute(P); _AA.noalias() = P.get_mat() * P.get_mat().transpose(); _p0 = Point(P.dimension()); + _rho = 1000 * P.dimension(); } template @@ -82,13 +81,14 @@ struct AcceleratedBilliardWalkParallel ::template compute(P); _AA.noalias() = P.get_mat() * P.get_mat().transpose(); _p0 = Point(P.dimension()); + _rho = 1000 * P.dimension(); } template - < - typename GenericPolytope, - typename thread_params - > + < + typename GenericPolytope, + typename thread_params + > inline void apply(GenericPolytope const& P, thread_params ¶ms, // a point to start unsigned int const& walk_length, @@ -108,7 +108,8 @@ struct AcceleratedBilliardWalkParallel it = 0; std::pair pbpair = P.line_positive_intersect(params.p, params.v, params.lambdas, params.Av, params.lambda_prev, params.update_step_parameters); - if (T <= pbpair.first) { + if (T <= pbpair.first) + { params.p += (T * params.v); params.lambda_prev = T; continue; @@ -120,7 +121,7 @@ struct AcceleratedBilliardWalkParallel P.compute_reflection(params.v, params.p, params.update_step_parameters); it++; - while (it < 1000*n) + while (it < _rho) { std::pair pbpair = P.line_positive_intersect(params.p, params.v, params.lambdas, params.Av, @@ -136,7 +137,7 @@ struct AcceleratedBilliardWalkParallel P.compute_reflection(params.v, params.p, params.update_step_parameters); it++; } - if (it == 1000*n) params.p = _p0; + if (it == _rho) params.p = _p0; } } @@ -147,10 +148,10 @@ struct AcceleratedBilliardWalkParallel typename thread_params > inline void get_starting_point(GenericPolytope const& P, - Point const& center, - thread_params ¶ms, - unsigned int const& walk_length, - RandomNumberGenerator &rng) + Point const& center, + thread_params ¶ms, + unsigned int const& walk_length, + RandomNumberGenerator &rng) { unsigned int n = P.dimension(); NT T, Lmax = _L, max_dist, rad = 0.0, radius = P.InnerBall().second; @@ -169,11 +170,11 @@ struct AcceleratedBilliardWalkParallel typename thread_params > inline void parameters_burnin(GenericPolytope const& P, - Point const& center, - unsigned int const& num_points, - unsigned int const& walk_length, - RandomNumberGenerator &rng, - thread_params ¶ms) + Point const& center, + unsigned int const& num_points, + unsigned int const& walk_length, + RandomNumberGenerator &rng, + thread_params ¶ms) { std::vector pointset; pointset.push_back(center); @@ -193,7 +194,8 @@ struct AcceleratedBilliardWalkParallel pointset.push_back(params.p); } - if (Lmax > _L) { + if (Lmax > _L) + { if (P.dimension() <= 2500) { update_delta(Lmax); @@ -212,10 +214,10 @@ struct AcceleratedBilliardWalkParallel private : template - < - typename GenericPolytope, - typename thread_params - > + < + typename GenericPolytope, + typename thread_params + > inline void initialize(GenericPolytope const& P, thread_params ¶ms, RandomNumberGenerator &rng) @@ -240,7 +242,7 @@ struct AcceleratedBilliardWalkParallel T -= params.lambda_prev; P.compute_reflection(params.v, params.p, params.update_step_parameters); - while (it <= 1000*n) + while (it <= _rho) { std::pair pbpair = P.line_positive_intersect(params.p, params.v, params.lambdas, params.Av, @@ -249,7 +251,7 @@ struct AcceleratedBilliardWalkParallel params.p += (T * params.v); params.lambda_prev = T; break; - } else if (it == 1000*n) { + } else if (it == _rho) { params.lambda_prev = rng.sample_urdist() * pbpair.first; params.p += (params.lambda_prev * params.v); break; @@ -284,6 +286,7 @@ struct AcceleratedBilliardWalkParallel NT _L; MT _AA; Point _p0; + unsigned int _rho; }; }; diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp index e0e74ca1d..34c21bc9e 100644 --- a/include/sampling/parallel_mmcs.hpp +++ b/include/sampling/parallel_mmcs.hpp @@ -28,29 +28,29 @@ */ template < - typename WalkTypePolicy, - typename Polytope, - typename RandomNumberGenerator, - typename MT, - typename Point, - typename NT + typename WalkTypePolicy, + typename Polytope, + typename RandomNumberGenerator, + typename MT, + typename Point, + typename NT > void perform_parallel_mmcs_step(Polytope &P, - RandomNumberGenerator &rng, - const unsigned int &walk_length, - const unsigned int &target_ess, - unsigned int const& max_num_samples, - unsigned int const& window, - unsigned int &Neff_sampled, - unsigned int &total_samples, - unsigned int const& num_rounding_steps, - MT &TotalRandPoints, - bool &complete, - const Point &starting_point, - unsigned int const& nburns, - unsigned int const& num_threads, - bool request_rounding, - NT L) + RandomNumberGenerator &rng, + const unsigned int &walk_length, + const unsigned int &target_ess, + unsigned int const& max_num_samples, + unsigned int const& window, + unsigned int &Neff_sampled, + unsigned int &total_samples, + unsigned int const& num_rounding_steps, + MT &TotalRandPoints, + bool &complete, + const Point &starting_point, + unsigned int const& nburns, + unsigned int const& num_threads, + bool request_rounding, + NT L) { typedef typename Polytope::VT VT; // vector type typedef typename WalkTypePolicy::template Walk @@ -112,12 +112,10 @@ void perform_parallel_mmcs_step(Polytope &P, walk.template parameters_burnin(P, pp, 10 + int(std::log(NT(d))), 10, rng, random_walk_parameters); Point const p = pp; - std::cout<<"\n"; #pragma omp parallel { int thread_index = omp_get_thread_num(); _thread_parameters thread_random_walk_parameters(d, m); - std::cout << "Hello world from thread: " << omp_get_thread_num() << std::endl; for (unsigned int it = 0; it < num_starting_points_per_thread[thread_index]; it++) { From 40bff33ce25ef4f20862dfcc7bdb91e3f1bbf5eb Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 12 Apr 2021 15:16:30 +0300 Subject: [PATCH 52/63] implement door flag for the threads in parallel mmcs --- include/sampling/parallel_mmcs.hpp | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp index 34c21bc9e..f6ebdd7f8 100644 --- a/include/sampling/parallel_mmcs.hpp +++ b/include/sampling/parallel_mmcs.hpp @@ -86,7 +86,7 @@ void perform_parallel_mmcs_step(Polytope &P, ESSestimator estimator(window, P.dimension()); - bool done = false, done_all = false; + bool done = false, done_all = false, door = true; unsigned int points_to_sample = target_ess; int min_eff_samples; total_samples = 0; @@ -129,7 +129,19 @@ void perform_parallel_mmcs_step(Polytope &P, walk.template apply(P, thread_random_walk_parameters, walk_length, rng); winPoints_per_thread[thread_index].col(i) = thread_random_walk_parameters.p.getCoefficients(); } - estimator.update_estimator(winPoints_per_thread[thread_index]); + + while (true) + { + if (door) + { + door = false; + estimator.update_estimator(winPoints_per_thread[thread_index]); + door = true; + break; + } + + } + num_generated_points_per_thread[thread_index] += window; total_samples += window; if (total_samples >= upper_bound_on_total_num_of_samples && thread_index == 0) @@ -139,7 +151,16 @@ void perform_parallel_mmcs_step(Polytope &P, TotalRandPoints_per_thread[thread_index].block(num_generated_points_per_thread[thread_index] - window, 0, window, d) = winPoints_per_thread[thread_index].transpose(); if ((done || total_samples >= points_to_sample) && thread_index == 0) { - estimator.estimate_effective_sample_size(); + while (true) + { + if (door) + { + door = false; + estimator.estimate_effective_sample_size(); + door = true; + break; + } + } min_eff_samples = int(estimator.get_effective_sample_size().minCoeff()); if (done && min_eff_samples < target_ess) { From 3b12b54553e8281e7799ec56943c2871796be3e1 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Mon, 12 Apr 2021 16:12:42 +0300 Subject: [PATCH 53/63] improve parallel mmcs --- include/sampling/parallel_mmcs.hpp | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp index f6ebdd7f8..aed53a04d 100644 --- a/include/sampling/parallel_mmcs.hpp +++ b/include/sampling/parallel_mmcs.hpp @@ -130,17 +130,9 @@ void perform_parallel_mmcs_step(Polytope &P, winPoints_per_thread[thread_index].col(i) = thread_random_walk_parameters.p.getCoefficients(); } - while (true) - { - if (door) - { - door = false; - estimator.update_estimator(winPoints_per_thread[thread_index]); - door = true; - break; - } - - } + door = false; + estimator.update_estimator(winPoints_per_thread[thread_index]); + door = true; num_generated_points_per_thread[thread_index] += window; total_samples += window; @@ -155,9 +147,7 @@ void perform_parallel_mmcs_step(Polytope &P, { if (door) { - door = false; estimator.estimate_effective_sample_size(); - door = true; break; } } From facbe630f435d187416e34f5dcfa5e391c54105a Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 13 Apr 2021 22:58:13 +0300 Subject: [PATCH 54/63] improve burnin in billiard walk --- include/random_walks/uniform_accelerated_billiard_walk.hpp | 3 +++ .../uniform_accelerated_billiard_walk_parallel.hpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/include/random_walks/uniform_accelerated_billiard_walk.hpp b/include/random_walks/uniform_accelerated_billiard_walk.hpp index f6a90c459..7bdcf724d 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk.hpp @@ -181,6 +181,9 @@ struct AcceleratedBilliardWalk { Lmax = max_dist; } + if (2.0*rad > Lmax) { + Lmax = 2.0*rad; + } pointset.push_back(p); } diff --git a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp index 35d17cbe6..e36e8a7b1 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp @@ -191,6 +191,9 @@ struct AcceleratedBilliardWalkParallel { Lmax = max_dist; } + if (2.0*rad > Lmax) { + Lmax = 2.0*rad; + } pointset.push_back(params.p); } From ca1089b845f94c247f53ee7889ae5c74dda87d2f Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 28 Sep 2021 22:50:19 +0300 Subject: [PATCH 55/63] improve the initialization of the length parameter in burnin - BiW --- .../uniform_accelerated_billiard_walk.hpp | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/include/random_walks/uniform_accelerated_billiard_walk.hpp b/include/random_walks/uniform_accelerated_billiard_walk.hpp index 7bdcf724d..367e3df32 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk.hpp @@ -115,7 +115,7 @@ struct AcceleratedBilliardWalk P.compute_reflection(_v, _p, _update_parameters); it++; - while (it < 100*n) + while (it < 1000*n) { std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); @@ -130,7 +130,7 @@ struct AcceleratedBilliardWalk P.compute_reflection(_v, _p, _update_parameters); it++; } - if (it == 100*n) _p = p0; + if (it == 1000*n) _p = p0; } p = _p; } @@ -147,7 +147,7 @@ struct AcceleratedBilliardWalk RandomNumberGenerator &rng) { unsigned int n = P.dimension(); - NT T, Lmax = _L, max_dist, rad = 0.0, radius = P.InnerBall().second; + NT radius = P.InnerBall().second; q = GetPointInDsphere::apply(n, radius, rng); q += center; @@ -167,14 +167,18 @@ struct AcceleratedBilliardWalk unsigned int const& walk_length, RandomNumberGenerator &rng) { - Point p = center; + Point p(P.dimension()); std::vector pointset; pointset.push_back(center); pointset.push_back(_p); - NT rad = NT(0), max_dist, Lmax; + NT rad = NT(0), max_dist, Lmax = _L, radius = P.InnerBall().second; for (int i = 0; i < num_points; i++) { + Point p = GetPointInDsphere::apply(P.dimension(), radius, rng); + p += center; + initialize(P, p, rng); + apply(P, p, walk_length, rng); max_dist = get_max_distance(pointset, p, rad); if (max_dist > Lmax) @@ -192,6 +196,9 @@ struct AcceleratedBilliardWalk { update_delta(Lmax); } + else{ + update_delta(2.0 * get_delta()); + } } pointset.clear(); } @@ -203,6 +210,11 @@ struct AcceleratedBilliardWalk _L = L; } + NT get_delta(NT L) + { + return _L; + } + private : template @@ -236,7 +248,7 @@ struct AcceleratedBilliardWalk T -= _lambda_prev; P.compute_reflection(_v, _p, _update_parameters); - while (it <= 100*n) + while (it <= 1000*n) { std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); @@ -244,7 +256,7 @@ struct AcceleratedBilliardWalk _p += (T * _v); _lambda_prev = T; break; - } else if (it == 100*n) { + } else if (it == 1000*n) { _lambda_prev = rng.sample_urdist() * pbpair.first; _p += (_lambda_prev * _v); break; From ebd2f0d983437f1e56892ee3c2073ee7ae339ca3 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Tue, 28 Sep 2021 23:25:36 +0300 Subject: [PATCH 56/63] improve the initialization of the length parameter in burnin - parallel BiW --- .../uniform_accelerated_billiard_walk.hpp | 6 ++--- ...orm_accelerated_billiard_walk_parallel.hpp | 23 ++++++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/include/random_walks/uniform_accelerated_billiard_walk.hpp b/include/random_walks/uniform_accelerated_billiard_walk.hpp index 367e3df32..fb9c0bfd3 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk.hpp @@ -171,7 +171,7 @@ struct AcceleratedBilliardWalk std::vector pointset; pointset.push_back(center); pointset.push_back(_p); - NT rad = NT(0), max_dist, Lmax = _L, radius = P.InnerBall().second; + NT rad = NT(0), max_dist, Lmax = get_delta(), radius = P.InnerBall().second; for (int i = 0; i < num_points; i++) { @@ -186,7 +186,7 @@ struct AcceleratedBilliardWalk Lmax = max_dist; } if (2.0*rad > Lmax) { - Lmax = 2.0*rad; + Lmax = 2.0 * rad; } pointset.push_back(p); } @@ -210,7 +210,7 @@ struct AcceleratedBilliardWalk _L = L; } - NT get_delta(NT L) + NT get_delta() { return _L; } diff --git a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp index e36e8a7b1..18e8a330e 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp @@ -154,7 +154,7 @@ struct AcceleratedBilliardWalkParallel RandomNumberGenerator &rng) { unsigned int n = P.dimension(); - NT T, Lmax = _L, max_dist, rad = 0.0, radius = P.InnerBall().second; + NT radius = P.InnerBall().second; params.p = GetPointInDsphere::apply(n, radius, rng); params.p += center; @@ -178,13 +178,16 @@ struct AcceleratedBilliardWalkParallel { std::vector pointset; pointset.push_back(center); - params.p = center; - initialize(P, params, rng); - pointset.push_back(params.p); - NT rad = NT(0), max_dist, Lmax; + + params.p = Point(P.dimension()); + NT rad = NT(0), max_dist, Lmax = get_delta(); for (int i = 0; i < num_points; i++) { + params.p = GetPointInDsphere::apply(n, radius, rng); + params.p += center; + initialize(P, params, rng); + apply(P, params, walk_length, rng); max_dist = get_max_distance(pointset, params.p, rad); if (max_dist > Lmax) @@ -192,7 +195,7 @@ struct AcceleratedBilliardWalkParallel Lmax = max_dist; } if (2.0*rad > Lmax) { - Lmax = 2.0*rad; + Lmax = 2.0 * rad; } pointset.push_back(params.p); } @@ -203,6 +206,9 @@ struct AcceleratedBilliardWalkParallel { update_delta(Lmax); } + else{ + update_delta(2.0 * get_delta()); + } } pointset.clear(); } @@ -214,6 +220,11 @@ struct AcceleratedBilliardWalkParallel _L = L; } + NT get_delta() + { + return _L; + } + private : template From 980f8967f6236c69ff906bbf90b1552bcc1c5074 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Wed, 29 Sep 2021 00:09:24 +0300 Subject: [PATCH 57/63] fix a bug in BiW parallel --- .../uniform_accelerated_billiard_walk_parallel.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp index 18e8a330e..0365ecbbc 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk_parallel.hpp @@ -180,11 +180,11 @@ struct AcceleratedBilliardWalkParallel pointset.push_back(center); params.p = Point(P.dimension()); - NT rad = NT(0), max_dist, Lmax = get_delta(); + NT rad = NT(0), max_dist, Lmax = get_delta(), radius = P.InnerBall().second; for (int i = 0; i < num_points; i++) { - params.p = GetPointInDsphere::apply(n, radius, rng); + params.p = GetPointInDsphere::apply(P.dimension(), radius, rng); params.p += center; initialize(P, params, rng); From f5c2d0021cdf14e88c55639ecddbfe1fcfb07686 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Wed, 29 Sep 2021 03:20:09 +0300 Subject: [PATCH 58/63] update parallel mmcs with openmp tools --- include/sampling/parallel_mmcs.hpp | 75 ++++++++++++++++-------------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp index aed53a04d..25e3cb4c9 100644 --- a/include/sampling/parallel_mmcs.hpp +++ b/include/sampling/parallel_mmcs.hpp @@ -86,7 +86,7 @@ void perform_parallel_mmcs_step(Polytope &P, ESSestimator estimator(window, P.dimension()); - bool done = false, done_all = false, door = true; + bool done = false, done_all = false; unsigned int points_to_sample = target_ess; int min_eff_samples; total_samples = 0; @@ -130,48 +130,51 @@ void perform_parallel_mmcs_step(Polytope &P, winPoints_per_thread[thread_index].col(i) = thread_random_walk_parameters.p.getCoefficients(); } - door = false; - estimator.update_estimator(winPoints_per_thread[thread_index]); - door = true; - + #pragma omp critical + { + estimator.update_estimator(winPoints_per_thread[thread_index]); + } + num_generated_points_per_thread[thread_index] += window; - total_samples += window; - if (total_samples >= upper_bound_on_total_num_of_samples && thread_index == 0) + + #pragma omp critical { - done = true; + total_samples += window; } - TotalRandPoints_per_thread[thread_index].block(num_generated_points_per_thread[thread_index] - window, 0, window, d) = winPoints_per_thread[thread_index].transpose(); - if ((done || total_samples >= points_to_sample) && thread_index == 0) + #pragma omp single { - while (true) + if (total_samples >= upper_bound_on_total_num_of_samples) { - if (door) + done = true; + } + } + TotalRandPoints_per_thread[thread_index].block(num_generated_points_per_thread[thread_index] - window, 0, window, d) = winPoints_per_thread[thread_index].transpose(); + #pragma omp single + { + if (done || (total_samples >= points_to_sample)) + { + estimator.estimate_effective_sample_size(); + + min_eff_samples = int(estimator.get_effective_sample_size().minCoeff()); + if (done && min_eff_samples < target_ess) { - estimator.estimate_effective_sample_size(); - break; + Neff_sampled = min_eff_samples; + done_all = true; + } + if (min_eff_samples >= target_ess) + { + complete = true; + Neff_sampled = min_eff_samples; + done_all = true; + } + if (min_eff_samples > 0 && !done_all) + { + points_to_sample += (total_samples / min_eff_samples) * (target_ess - min_eff_samples) + 100; + } + else if (!done_all) + { + points_to_sample = total_samples + 100; } - } - min_eff_samples = int(estimator.get_effective_sample_size().minCoeff()); - if (done && min_eff_samples < target_ess) - { - Neff_sampled = min_eff_samples; - done_all = true; - continue; - } - if (min_eff_samples >= target_ess) - { - complete = true; - Neff_sampled = min_eff_samples; - done_all = true; - continue; - } - if (min_eff_samples > 0) - { - points_to_sample += (total_samples / min_eff_samples) * (target_ess - min_eff_samples) + 100; - } - else - { - points_to_sample = total_samples + 100; } } } From b63d6dbbda25bdf628ccb3b34829cc6993a85442 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 1 Oct 2021 14:03:01 +0300 Subject: [PATCH 59/63] remove VOLESTIPY macro --- include/convex_bodies/hpolytope.h | 9 +++++---- include/convex_bodies/orderpolytope.h | 2 +- include/random_walks/random_walks.hpp | 7 +++---- include/random_walks/uniform_billiard_walk.hpp | 4 ++-- include/volume/volume_cooling_balls.hpp | 2 +- include/volume/volume_sequence_of_balls.hpp | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 142c4020c..4e3c27697 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -17,7 +17,7 @@ #include #include "preprocess/max_inscribed_ball.hpp" #include "root_finders/quadratic_polynomial_solvers.hpp" -#ifndef VOLESTIPY +#ifndef DISABLE_LPSOLVE #include "lp_oracles/solve_lp.h" #endif @@ -83,6 +83,7 @@ class HPolytope { A(i - 1, j - 1) = -Pin[i][j]; } } + _inner_ball.second = -1; //_inner_ball = ComputeChebychevBall(A, b); } @@ -101,12 +102,12 @@ class HPolytope { //Use LpSolve library std::pair ComputeInnerBall() { - normalize(); - #ifndef VOLESTIPY + normalize(); + #ifndef DISABLE_LPSOLVE _inner_ball = ComputeChebychevBall(A, b); // use lpsolve library #else - if (_inner_ball.second < 0.0) { + if (_inner_ball.second <= NT(0)) { NT const tol = 0.00000001; std::tuple inner_ball = max_inscribed_ball(A, b, 150, tol); diff --git a/include/convex_bodies/orderpolytope.h b/include/convex_bodies/orderpolytope.h index 426bb9ef5..658b4360b 100644 --- a/include/convex_bodies/orderpolytope.h +++ b/include/convex_bodies/orderpolytope.h @@ -15,7 +15,7 @@ #include "misc/poset.h" #include #include "preprocess/max_inscribed_ball.hpp" -#ifndef VOLESTIPY +#ifndef DISABLE_LPSOLVE #include "lp_oracles/solve_lp.h" #endif diff --git a/include/random_walks/random_walks.hpp b/include/random_walks/random_walks.hpp index d1628e562..0fc027559 100644 --- a/include/random_walks/random_walks.hpp +++ b/include/random_walks/random_walks.hpp @@ -23,9 +23,8 @@ #include "random_walks/uniform_accelerated_billiard_walk.hpp" #include "random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp" #include "random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp" -#ifndef VOLESTIPY - #include "random_walks/hamiltonian_monte_carlo_walk.hpp" - #include "random_walks/langevin_walk.hpp" -#endif +#include "random_walks/hamiltonian_monte_carlo_walk.hpp" +#include "random_walks/langevin_walk.hpp" + #endif // RANDOM_WALKS_RANDOM_WALKS_HPP diff --git a/include/random_walks/uniform_billiard_walk.hpp b/include/random_walks/uniform_billiard_walk.hpp index ca6eb74b7..a86974bac 100644 --- a/include/random_walks/uniform_billiard_walk.hpp +++ b/include/random_walks/uniform_billiard_walk.hpp @@ -15,7 +15,7 @@ #include "convex_bodies/ball.h" #include "convex_bodies/ballintersectconvex.h" #include "convex_bodies/hpolytope.h" -#ifndef VOLESTIPY +#ifndef DISABLE_LPSOLVE #include "convex_bodies/vpolytope.h" #include "convex_bodies/vpolyintersectvpoly.h" #include "convex_bodies/zpolytope.h" @@ -46,7 +46,7 @@ static NT compute(HPolytope const& P) } }; -#ifndef VOLESTIPY +#ifndef DISABLE_LPSOLVE template struct compute_diameter> { diff --git a/include/volume/volume_cooling_balls.hpp b/include/volume/volume_cooling_balls.hpp index fda05f25b..abff8002a 100644 --- a/include/volume/volume_cooling_balls.hpp +++ b/include/volume/volume_cooling_balls.hpp @@ -15,7 +15,7 @@ #include "cartesian_geom/cartesian_kernel.h" #include "convex_bodies/hpolytope.h" -#ifndef VOLESTIPY +#ifndef DISABLE_LPSOLVE #include "convex_bodies/vpolytope.h" #include "convex_bodies/zpolytope.h" #include "convex_bodies/vpolyintersectvpoly.h" diff --git a/include/volume/volume_sequence_of_balls.hpp b/include/volume/volume_sequence_of_balls.hpp index 4d1c84a22..e5961a3b8 100644 --- a/include/volume/volume_sequence_of_balls.hpp +++ b/include/volume/volume_sequence_of_balls.hpp @@ -24,7 +24,7 @@ #include "cartesian_geom/cartesian_kernel.h" #include "generators/boost_random_number_generator.hpp" #include "convex_bodies/hpolytope.h" -#ifndef VOLESTIPY +#ifndef DISABLE_LPSOLVE #include "convex_bodies/vpolytope.h" #include "convex_bodies/zpolytope.h" #include "convex_bodies/zonoIntersecthpoly.h" From 0aa906bc11eb15fc533d1ccad0a75c4ae6f24a11 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 1 Oct 2021 15:29:57 +0300 Subject: [PATCH 60/63] resolve PR comments --- include/convex_bodies/hpolytope.h | 85 +++++++++++++++++-- ...ial_hamiltonian_monte_carlo_exact_walk.hpp | 6 +- include/sampling/random_point_generators.hpp | 6 +- 3 files changed, 84 insertions(+), 13 deletions(-) diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 4e3c27697..289231cf4 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -641,6 +641,52 @@ class HPolytope { //------------------------------oracles for exponential sampling---------------////// + std::pair get_positive_quadratic_root(Point const& r, //current poistion + Point const& v, // current velocity + VT& Ac, // the product Ac where c is the bias vector of the exponential distribution + NT const& T, // the variance of the exponential distribution + VT& Ar, // the product Ar + VT& Av, // the product Av + int& facet_prev) const //the facet that the trajectory hit in the previous reflection + { + NT lamda = 0; + NT lamda2 =0; + NT lamda1 =0; + NT alpha; + NT min_plus = std::numeric_limits::max(); + VT sum_nom; + int m = num_of_hyperplanes(); + int facet = -1; + + //Ar.noalias() = A * r.getCoefficients(); + sum_nom = Ar - b; + //Av.noalias() = A * v.getCoefficients();; + + NT* Av_data = Av.data(); + NT* sum_nom_data = sum_nom.data(); + NT* Ac_data = Ac.data(); + + for (int i = 0; i < m; i++) + { + alpha = -((*Ac_data) / (2.0 * T)); + if (solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2)) + { + lamda = pick_first_intersection_time_with_boundary(lamda1, lamda2, i, facet_prev); + if (lamda < min_plus && lamda > 0) + { + min_plus = lamda; + facet = i; + } + } + Av_data++; + sum_nom_data++; + Ac_data++; + } + facet_prev = facet; + return std::make_pair(min_plus, facet); + } + } + // compute intersection points of a ray starting from r and pointing to v // with polytope discribed by A and b std::pair quadratic_positive_intersect(Point const& r, //current poistion @@ -651,7 +697,10 @@ class HPolytope { VT& Av, // the product Av int& facet_prev) const //the facet that the trajectory hit in the previous reflection { - NT lamda = 0; + Ar.noalias() = A * r.getCoefficients(); + return get_positive_quadratic_root(r, v, Ac, T, Ar, Av, facet_prev); + + /*NT lamda = 0; NT lamda2 =0; NT lamda1 =0; NT alpha; @@ -685,7 +734,7 @@ class HPolytope { Ac_data++; } facet_prev = facet; - return std::make_pair(min_plus, facet); + return std::make_pair(min_plus, facet);*/ } std::pair quadratic_positive_intersect(Point const& r, //current poistion @@ -697,6 +746,9 @@ class HPolytope { NT const& lambda_prev, // the intersection time of the previous reflection int& facet_prev) const //the facet that the trajectory hit in the previous reflection { + Ar.noalias() += ((lambda_prev * lambda_prev) / (-2.0*T)) * Ac + lambda_prev * Av; + return get_positive_quadratic_root(r, v, Ac, T, Ar, Av, facet_prev); + /* NT lamda = 0; NT lamda2 =0; NT lamda1 =0; @@ -732,7 +784,7 @@ class HPolytope { Ac_data++; } facet_prev = facet; - return std::make_pair(min_plus, facet); + return std::make_pair(min_plus, facet);*/ } NT pick_first_intersection_time_with_boundary(NT const& lamda1, NT const& lamda2, int const& current_facet, int const& previous_facet) const @@ -743,9 +795,26 @@ class HPolytope { } NT lamda; const double tol = 1e-10; + std::pair minmax_values = std::minmax(lamda1, lamda2); + + lamda = (previous_facet == current_facet) + ? minmax_values.second < NT(tol) ? minmax_values.first : minmax_values.second + : minmax_values.second; + if (lamda1 * lamda2 < NT(0)) { - if (previous_facet == current_facet) + lamda = (previous_facet == current_facet) + ? (minmax_values.second < NT(tol)) ? minmax_values.first : minmax_values.second + : minmax_values.second; + } + else + { + lamda = (previous_facet == current_facet) + ? (minmax_values.first >= NT(0) && minmax_values.first < NT(tol)) + ? minmax_values.second : minmax_values.first + : minmax_values.first; + } + /* if (previous_facet == current_facet) { if (std::max(lamda1, lamda2) < NT(tol)) { @@ -776,7 +845,7 @@ class HPolytope { { lamda = std::min(lamda1, lamda2); } - } + }*/ return lamda; } @@ -815,13 +884,13 @@ class HPolytope { } if (C > (*b_data)) { - - t1 = (std::acos((*b_data) / C) - Phi) / omega; + NT acos_b = std::acos((*b_data) / C); + t1 = (acos_b - Phi) / omega; if (facet_prev == i && std::abs(t1) < 1e-10){ t1 = (2.0 * M_PI) / omega; } - t2 = (-std::acos((*b_data) / C) - Phi) / omega; + t2 = (-acos_b - Phi) / omega; if (facet_prev == i && std::abs(t2) < 1e-10){ t2 = (2.0 * M_PI) / omega; } diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index a00209f76..b8590884a 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -8,7 +8,7 @@ #ifndef RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP #define RANDOM_WALKS_EXPONENTIAL_EXACT_HMC_WALK_HPP -#define IN_INSIDE_BODY_TOLLERANCE 1e-10 +#define INSIDE_BODY_TOLLERANCE 1e-10 #include "sampling/sphere.hpp" @@ -123,7 +123,7 @@ struct Walk it++; } - } while (P.is_in(_p, IN_INSIDE_BODY_TOLLERANCE) == 0); + } while (P.is_in(_p, INSIDE_BODY_TOLLERANCE) == 0); if (it == _rho) { _p = p0; } @@ -249,7 +249,7 @@ private : P.compute_reflection(_v, _p, pbpair.second); it++; } - } while (P.is_in(_p, IN_INSIDE_BODY_TOLLERANCE) == 0); + } while (P.is_in(_p, INSIDE_BODY_TOLLERANCE) == 0); } diff --git a/include/sampling/random_point_generators.hpp b/include/sampling/random_point_generators.hpp index 24e16260e..6fb8fa94a 100644 --- a/include/sampling/random_point_generators.hpp +++ b/include/sampling/random_point_generators.hpp @@ -235,7 +235,8 @@ struct ExponentialRandomPointGenerator { success = walk.template apply(P, p, walk_length, rng); if (!success) { - return; + //return; + throw std::range_error("A generated point is outside polytope"); } policy.apply(randPoints, p); } @@ -269,7 +270,8 @@ struct ExponentialRandomPointGenerator { success = walk.template apply(P, p, walk_length, rng); if (!success) { - return; + //return; + throw std::range_error("A generated point is outside polytope"); } policy.apply(randPoints, p); } From e98ab8b84b139e6c825061ec0bf4cd173ff60632 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 1 Oct 2021 18:28:00 +0300 Subject: [PATCH 61/63] fix c++ bugs --- R-proj/src/sample_points.cpp | 8 ++++---- include/convex_bodies/hpolytope.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 725b5935b..827963917 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -625,12 +625,12 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, HP.shift(mode.getCoefficients()); } if (functor_defined) { - sample_from_polytope(HP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, - StartingPoint, nburns, set_L, walk, F, f, solver); + sample_from_polytope(HP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, + StartingPoint, nburns, set_L, eta, walk, F, f, solver); } else { - sample_from_polytope(HP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, - StartingPoint, nburns, set_L, walk, G, g, solver); + sample_from_polytope(HP, type, rng, randPoints, walkL, numpoints, gaussian, a, L, c, + StartingPoint, nburns, set_L, eta, walk, G, g, solver); } break; } diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index 289231cf4..a4cae01da 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -685,7 +685,7 @@ class HPolytope { facet_prev = facet; return std::make_pair(min_plus, facet); } - } + // compute intersection points of a ray starting from r and pointing to v // with polytope discribed by A and b From dc2812903304df80fe51e7ffb153fc8bbe9cf962 Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 1 Oct 2021 19:39:07 +0300 Subject: [PATCH 62/63] resolve PR's comments --- examples/logconcave/CMakeLists.txt | 2 - include/convex_bodies/hpolytope.h | 108 +----------------- ...ial_hamiltonian_monte_carlo_exact_walk.hpp | 33 +++--- ...ian_hamiltonian_monte_carlo_exact_walk.hpp | 33 +++--- 4 files changed, 41 insertions(+), 135 deletions(-) diff --git a/examples/logconcave/CMakeLists.txt b/examples/logconcave/CMakeLists.txt index ba021a91e..4c88d112a 100644 --- a/examples/logconcave/CMakeLists.txt +++ b/examples/logconcave/CMakeLists.txt @@ -132,8 +132,6 @@ else () add_executable (exponential_exact_hmc exponential_exact_hmc.cpp) add_executable (gaussian_exact_hmc gaussian_exact_hmc.cpp) - TARGET_LINK_LIBRARIES(high_dimensional_hmc_rand_poly ${LP_SOLVE}) - #add_executable (adaptive_step_size adaptive_step_size.cpp) TARGET_LINK_LIBRARIES(high_dimensional_hmc_rand_poly ${LP_SOLVE} ${BLAS} "-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl") diff --git a/include/convex_bodies/hpolytope.h b/include/convex_bodies/hpolytope.h index a4cae01da..77abc2b1c 100644 --- a/include/convex_bodies/hpolytope.h +++ b/include/convex_bodies/hpolytope.h @@ -658,9 +658,8 @@ class HPolytope { int m = num_of_hyperplanes(); int facet = -1; - //Ar.noalias() = A * r.getCoefficients(); sum_nom = Ar - b; - //Av.noalias() = A * v.getCoefficients();; + Av.noalias() = A * v.getCoefficients();; NT* Av_data = Av.data(); NT* sum_nom_data = sum_nom.data(); @@ -699,42 +698,6 @@ class HPolytope { { Ar.noalias() = A * r.getCoefficients(); return get_positive_quadratic_root(r, v, Ac, T, Ar, Av, facet_prev); - - /*NT lamda = 0; - NT lamda2 =0; - NT lamda1 =0; - NT alpha; - NT min_plus = std::numeric_limits::max(); - VT sum_nom; - int m = num_of_hyperplanes(); - int facet = -1; - - Ar.noalias() = A * r.getCoefficients(); - sum_nom = Ar - b; - Av.noalias() = A * v.getCoefficients();; - - NT* Av_data = Av.data(); - NT* sum_nom_data = sum_nom.data(); - NT* Ac_data = Ac.data(); - - for (int i = 0; i < m; i++) - { - alpha = -((*Ac_data) / (2.0 * T)); - if (solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2)) - { - lamda = pick_first_intersection_time_with_boundary(lamda1, lamda2, i, facet_prev); - if (lamda < min_plus && lamda > 0) - { - min_plus = lamda; - facet = i; - } - } - Av_data++; - sum_nom_data++; - Ac_data++; - } - facet_prev = facet; - return std::make_pair(min_plus, facet);*/ } std::pair quadratic_positive_intersect(Point const& r, //current poistion @@ -748,43 +711,6 @@ class HPolytope { { Ar.noalias() += ((lambda_prev * lambda_prev) / (-2.0*T)) * Ac + lambda_prev * Av; return get_positive_quadratic_root(r, v, Ac, T, Ar, Av, facet_prev); - /* - NT lamda = 0; - NT lamda2 =0; - NT lamda1 =0; - NT alpha; - NT min_plus = std::numeric_limits::max(); - VT sum_nom; - unsigned int j; - int m = num_of_hyperplanes(); - int facet = -1; - - Ar.noalias() += ((lambda_prev * lambda_prev) / (-2.0*T)) * Ac + lambda_prev * Av; - sum_nom = Ar - b; - Av.noalias() = A * v.getCoefficients(); - - NT* sum_nom_data = sum_nom.data(); - NT* Av_data = Av.data(); - NT* Ac_data = Ac.data(); - - for (int i = 0; i < m; i++) - { - alpha = -((*Ac_data) / (2.0 * T)); - if (solve_quadratic_polynomial(alpha, (*Av_data), (*sum_nom_data), lamda1, lamda2)) - { - lamda = pick_first_intersection_time_with_boundary(lamda1, lamda2, i, facet_prev); - if (lamda < min_plus && lamda > 0) - { - min_plus = lamda; - facet = i; - } - } - Av_data++; - sum_nom_data++; - Ac_data++; - } - facet_prev = facet; - return std::make_pair(min_plus, facet);*/ } NT pick_first_intersection_time_with_boundary(NT const& lamda1, NT const& lamda2, int const& current_facet, int const& previous_facet) const @@ -814,38 +740,6 @@ class HPolytope { ? minmax_values.second : minmax_values.first : minmax_values.first; } - /* if (previous_facet == current_facet) - { - if (std::max(lamda1, lamda2) < NT(tol)) - { - lamda = std::min(lamda1, lamda2); - } - else - { - lamda = std::max(lamda1, lamda2); - } - } else { - lamda = std::max(lamda1, lamda2); - } - } - else - { - if (previous_facet == current_facet) - { - if (std::min(lamda1, lamda2) >= NT(0) && std::min(lamda1, lamda2) < NT(tol)) - { - lamda = std::max(lamda1, lamda2); - } - else - { - lamda = std::min(lamda1, lamda2); - } - } - else - { - lamda = std::min(lamda1, lamda2); - } - }*/ return lamda; } diff --git a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp index b8590884a..1beceb505 100644 --- a/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/exponential_hamiltonian_monte_carlo_exact_walk.hpp @@ -144,7 +144,7 @@ struct Walk RandomNumberGenerator &rng) { unsigned int n = P.dimension(); - NT T, Lmax = _Len, max_dist, rad = 0.0, radius = P.InnerBall().second; + NT radius = P.InnerBall().second; q = GetPointInDsphere::apply(n, radius, rng); q += center; @@ -164,26 +164,35 @@ struct Walk unsigned int const& walk_length, RandomNumberGenerator &rng) { - Point p = center; + unsigned int n = P.dimension(); + Point p(n); std::vector pointset; pointset.push_back(center); pointset.push_back(_p); - NT rad = NT(0), max_dist, Lmax; + NT rad = NT(0), max_dist, Lmax = NT(0), radius = P.InnerBall().second; for (int i = 0; i < num_points; i++) { + p = GetPointInDsphere::apply(n, radius, rng); + p += center; + initialize(P, p, rng); + apply(P, p, walk_length, rng); max_dist = get_max_distance(pointset, p, rad); - if (max_dist > Lmax) { + if (max_dist > Lmax) + { Lmax = max_dist; } + if (2.0 * rad > Lmax) + { + Lmax = 2.0 * rad; + } pointset.push_back(p); } - if (Lmax > _Len) { - if (P.dimension() <= 2500) { - update_delta(Lmax); - } + if (Lmax > _Len) + { + update_delta(Lmax); } pointset.clear(); } @@ -237,7 +246,7 @@ private : _p += ((T * T) / (-2.0*_Temp)) *_c + (T * _v); _lambda_prev = T; break; - }else if (it == _rho) { + } else if (it == _rho) { _lambda_prev = rng.sample_urdist() * pbpair.first; _p += ((_lambda_prev * _lambda_prev) / (-2.0*_Temp)) *_c + (_lambda_prev * _v); break; @@ -263,10 +272,8 @@ private : if (temp_dis > dis) { dis = temp_dis; } - if (jj == 0) { - if (temp_dis > rad) { - rad = temp_dis; - } + if (jj == 0 && temp_dis > rad) { + rad = temp_dis; } } return dis; diff --git a/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp b/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp index 2b8eb92a8..0727fb255 100644 --- a/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp +++ b/include/random_walks/gaussian_hamiltonian_monte_carlo_exact_walk.hpp @@ -127,7 +127,7 @@ struct Walk RandomNumberGenerator &rng) { unsigned int n = P.dimension(); - NT T, Lmax = _Len, max_dist, rad = 0.0, radius = P.InnerBall().second; + NT radius = P.InnerBall().second; q = GetPointInDsphere::apply(n, radius, rng); q += center; @@ -147,26 +147,35 @@ struct Walk unsigned int const& walk_length, RandomNumberGenerator &rng) { - Point p = center; + unsigned int n = P.dimension(); + Point p(n); std::vector pointset; pointset.push_back(center); pointset.push_back(_p); - NT rad = NT(0), max_dist, Lmax; + NT rad = NT(0), max_dist, Lmax = NT(0), radius = P.InnerBall().second; for (int i = 0; i < num_points; i++) { + p = GetPointInDsphere::apply(n, radius, rng); + p += center; + initialize(P, p, rng); + apply(P, p, walk_length, rng); max_dist = get_max_distance(pointset, p, rad); - if (max_dist > Lmax) { + if (max_dist > Lmax) + { Lmax = max_dist; } + if (2.0*rad > Lmax) + { + Lmax = 2.0 * rad; + } pointset.push_back(p); } - if (Lmax > _Len) { - if (P.dimension() <= 2500) { - update_delta(Lmax); - } + if (Lmax > _Len) + { + update_delta(Lmax); } pointset.clear(); } @@ -202,7 +211,7 @@ private : if (T <= pbpair.first) { update_position(_p, _v, T, _omega); break; - }else if (it == _rho) { + } else if (it == _rho) { _lambda_prev = rng.sample_urdist() * pbpair.first; update_position(_p, _v, _lambda_prev, _omega); break; @@ -243,10 +252,8 @@ private : if (temp_dis > dis) { dis = temp_dis; } - if (jj == 0) { - if (temp_dis > rad) { - rad = temp_dis; - } + if (jj == 0 && temp_dis > rad) { + rad = temp_dis; } } return dis; From eb86a5cbba0fabb70588225ee1125e10669f30cb Mon Sep 17 00:00:00 2001 From: TolisChal Date: Fri, 1 Oct 2021 20:49:59 +0300 Subject: [PATCH 63/63] resolve PR's comments --- R-proj/src/copula.cpp | 1 - R-proj/src/direct_sampling.cpp | 2 -- R-proj/src/exact_vol.cpp | 1 - R-proj/src/frustum_of_simplex.cpp | 2 -- R-proj/src/get_full_dimensional_polytope.cpp | 1 - R-proj/src/geweke.cpp | 2 -- R-proj/src/inner_ball.cpp | 3 --- R-proj/src/ode_solve.cpp | 1 - R-proj/src/poly_gen.cpp | 1 - R-proj/src/polytopes_modules.cpp | 7 ------ R-proj/src/psrf_multivariate.cpp | 1 - R-proj/src/psrf_univariate.cpp | 1 - R-proj/src/raftery.cpp | 1 - R-proj/src/rotating.cpp | 2 -- R-proj/src/rounding.cpp | 2 -- R-proj/src/sample_points.cpp | 3 --- R-proj/src/spectrahedron.cpp | 1 - R-proj/src/spectrahedron_module.cpp | 2 -- R-proj/src/volume.cpp | 2 -- R-proj/src/zonotope_approximation.cpp | 2 -- examples/mmcs_method/Boost.cmake | 4 ++-- examples/mmcs_method/random_hpoly_50_dim.cpp | 7 +++--- .../random_hpoly_50_dim_parallel.cpp | 7 +++--- examples/mmcs_method/skinny_cube_10_dim.cpp | 7 +++--- .../ess_updater_autocovariance.hpp | 5 ++-- .../uniform_accelerated_billiard_walk.hpp | 11 +++++---- include/sampling/mmcs.hpp | 24 +++++++++---------- include/sampling/parallel_mmcs.hpp | 12 +++++----- 28 files changed, 37 insertions(+), 78 deletions(-) diff --git a/R-proj/src/copula.cpp b/R-proj/src/copula.cpp index 0e8069ea2..8b9fd5868 100644 --- a/R-proj/src/copula.cpp +++ b/R-proj/src/copula.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. - #include #include #include diff --git a/R-proj/src/direct_sampling.cpp b/R-proj/src/direct_sampling.cpp index 75402a56c..fa2fbe37b 100644 --- a/R-proj/src/direct_sampling.cpp +++ b/R-proj/src/direct_sampling.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. - #include #include #include @@ -19,7 +18,6 @@ #include "volume/volume_sequence_of_balls.hpp" #include "sampling/simplex.hpp" - //' Sample perfect uniformly distributed points from well known convex bodies: (a) the unit simplex, (b) the canonical simplex, (c) the boundary of a hypersphere or (d) the interior of a hypersphere. //' //' The \eqn{d}-dimensional unit simplex is the set of points \eqn{\vec{x}\in \R^d}, s.t.: \eqn{\sum_i x_i\leq 1}, \eqn{x_i\geq 0}. The \eqn{d}-dimensional canonical simplex is the set of points \eqn{\vec{x}\in \R^d}, s.t.: \eqn{\sum_i x_i = 1}, \eqn{x_i\geq 0}. diff --git a/R-proj/src/exact_vol.cpp b/R-proj/src/exact_vol.cpp index d60d8fa4b..4d887b09e 100644 --- a/R-proj/src/exact_vol.cpp +++ b/R-proj/src/exact_vol.cpp @@ -5,7 +5,6 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis - #include #include #include diff --git a/R-proj/src/frustum_of_simplex.cpp b/R-proj/src/frustum_of_simplex.cpp index 5daeade61..6b191079e 100644 --- a/R-proj/src/frustum_of_simplex.cpp +++ b/R-proj/src/frustum_of_simplex.cpp @@ -3,7 +3,6 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis - #include #include #include "volume/exact_vols.h" @@ -39,5 +38,4 @@ double frustum_of_simplex(Rcpp::NumericVector a, double z0){ std::vector hyp = Rcpp::as >(a); return vol_Ali(hyp, -z0, dim); - } diff --git a/R-proj/src/get_full_dimensional_polytope.cpp b/R-proj/src/get_full_dimensional_polytope.cpp index dcad88ffe..1e95e2c91 100644 --- a/R-proj/src/get_full_dimensional_polytope.cpp +++ b/R-proj/src/get_full_dimensional_polytope.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - #include #include #include diff --git a/R-proj/src/geweke.cpp b/R-proj/src/geweke.cpp index 39bc17a6d..04955d13a 100644 --- a/R-proj/src/geweke.cpp +++ b/R-proj/src/geweke.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - #include #include #include @@ -17,7 +16,6 @@ #include #include "diagnostics/geweke.hpp" - //' Geweke's MCMC diagnostic //' //' @param samples A matrix that contans column-wise the sampled points from a geometric random walk. diff --git a/R-proj/src/inner_ball.cpp b/R-proj/src/inner_ball.cpp index ee79b0f77..8472ad3b8 100644 --- a/R-proj/src/inner_ball.cpp +++ b/R-proj/src/inner_ball.cpp @@ -1,8 +1,6 @@ - // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis - #include #include #include @@ -97,5 +95,4 @@ Rcpp::NumericVector inner_ball(Rcpp::Reference P, vec[n] = InnerBall.second; return vec; - } diff --git a/R-proj/src/ode_solve.cpp b/R-proj/src/ode_solve.cpp index 5ee243729..b27c0ae3e 100644 --- a/R-proj/src/ode_solve.cpp +++ b/R-proj/src/ode_solve.cpp @@ -8,7 +8,6 @@ //Contributed and/or modified by Marios Papachristou, as part of Google Summer of Code 2018 and 2019 program. - #include #include #include diff --git a/R-proj/src/poly_gen.cpp b/R-proj/src/poly_gen.cpp index 1ffa75d7f..aae864886 100644 --- a/R-proj/src/poly_gen.cpp +++ b/R-proj/src/poly_gen.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. - #include #include #include diff --git a/R-proj/src/polytopes_modules.cpp b/R-proj/src/polytopes_modules.cpp index b9932aa45..8d47af4e7 100644 --- a/R-proj/src/polytopes_modules.cpp +++ b/R-proj/src/polytopes_modules.cpp @@ -3,10 +3,8 @@ // Copyright (c) 2012-2019 Vissarion Fisikopoulos // Copyright (c) 2018-2019 Apostolos Chalkis - #include - class Hpolytope { public: Hpolytope() {} @@ -61,11 +59,9 @@ class VPinterVP { int type; }; - RCPP_MODULE(polytopes){ using namespace Rcpp ; - //' An exposed class to represent a H-polytope //' //' @description A H-polytope is a convex polytope defined by a set of linear inequalities or equivalently a \eqn{d}-dimensional H-polytope with \eqn{m} facets is defined by a \eqn{m\times d} matrix A and a \eqn{m}-dimensional vector b, s.t.: \eqn{Ax\leq b}. @@ -100,7 +96,6 @@ RCPP_MODULE(polytopes){ .field( "dimension", &Hpolytope::dimension ) .field( "type", &Hpolytope::type ); - //' An exposed C++ class to represent a V-polytope //' //' @description A V-polytope is a convex polytope defined by the set of its vertices. @@ -126,7 +121,6 @@ RCPP_MODULE(polytopes){ .field( "dimension", &Vpolytope::dimension ) .field( "type", &Vpolytope::type ); - //' An exposed C++ class to represent a zonotope //' //' @description A zonotope is a convex polytope defined by the Minkowski sum of \eqn{m} \eqn{d}-dimensional segments. @@ -152,7 +146,6 @@ RCPP_MODULE(polytopes){ .field( "dimension", &Zonotope::dimension ) .field( "type", &Zonotope::type ); - //' An exposed C++ class to represent an intersection of two V-polytopes //' //' @description An intersection of two V-polytopes is defined by the intersection of the two coresponding convex hulls. diff --git a/R-proj/src/psrf_multivariate.cpp b/R-proj/src/psrf_multivariate.cpp index d9392f3f8..3fc28c8c6 100644 --- a/R-proj/src/psrf_multivariate.cpp +++ b/R-proj/src/psrf_multivariate.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - #include #include #include diff --git a/R-proj/src/psrf_univariate.cpp b/R-proj/src/psrf_univariate.cpp index f01edadaf..78fe53b76 100644 --- a/R-proj/src/psrf_univariate.cpp +++ b/R-proj/src/psrf_univariate.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - #include #include #include diff --git a/R-proj/src/raftery.cpp b/R-proj/src/raftery.cpp index e8e4f9ec8..16813e68d 100644 --- a/R-proj/src/raftery.cpp +++ b/R-proj/src/raftery.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - #include #include #include diff --git a/R-proj/src/rotating.cpp b/R-proj/src/rotating.cpp index e65516f86..66ec746b2 100644 --- a/R-proj/src/rotating.cpp +++ b/R-proj/src/rotating.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. - #include #include #include @@ -99,5 +98,4 @@ Rcpp::NumericMatrix rotating (Rcpp::Reference P, Rcpp::Nullable(Mat).rows()+n); res << Rcpp::as(Mat).transpose(), TransorfMat; return Rcpp::wrap(res); - } diff --git a/R-proj/src/rounding.cpp b/R-proj/src/rounding.cpp index e9330d088..f07c90b69 100644 --- a/R-proj/src/rounding.cpp +++ b/R-proj/src/rounding.cpp @@ -8,7 +8,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 program. //Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - #include #include #include @@ -139,5 +138,4 @@ Rcpp::List rounding (Rcpp::Reference P, return Rcpp::List::create(Rcpp::Named("Mat") = Mat, Rcpp::Named("T") = Rcpp::wrap(std::get<0>(round_res)), Rcpp::Named("shift") = Rcpp::wrap(std::get<1>(round_res)), Rcpp::Named("round_value") = std::get<2>(round_res)); - } diff --git a/R-proj/src/sample_points.cpp b/R-proj/src/sample_points.cpp index 827963917..85fee7b34 100644 --- a/R-proj/src/sample_points.cpp +++ b/R-proj/src/sample_points.cpp @@ -9,7 +9,6 @@ // Contributed and/or modified by Alexandros Manochis, as part of Google Summer of Code 2020 program. - #include #include #include @@ -24,7 +23,6 @@ #include "ode_solvers/ode_solvers.hpp" #include "ode_solvers/oracle_functors_rcpp.hpp" - enum random_walks { ball_walk, rdhr, @@ -714,5 +712,4 @@ Rcpp::NumericMatrix sample_points(Rcpp::Nullable P, } return Rcpp::wrap(RetMat); - } diff --git a/R-proj/src/spectrahedron.cpp b/R-proj/src/spectrahedron.cpp index c3055b8b6..165fd98ca 100644 --- a/R-proj/src/spectrahedron.cpp +++ b/R-proj/src/spectrahedron.cpp @@ -7,7 +7,6 @@ // Licensed under GNU LGPL.3, see LICENCE file - #include #include #include diff --git a/R-proj/src/spectrahedron_module.cpp b/R-proj/src/spectrahedron_module.cpp index 12c216750..693a36c22 100644 --- a/R-proj/src/spectrahedron_module.cpp +++ b/R-proj/src/spectrahedron_module.cpp @@ -7,7 +7,6 @@ // Licensed under GNU LGPL.3, see LICENCE file - #include class Spectrahedron { @@ -20,7 +19,6 @@ class Spectrahedron { Spectrahedron(Rcpp::List _matrices) : matrices(_matrices) {} }; - RCPP_MODULE(spectrahedron){ using namespace Rcpp ; diff --git a/R-proj/src/volume.cpp b/R-proj/src/volume.cpp index 1cc5689a7..5bcc23fb6 100644 --- a/R-proj/src/volume.cpp +++ b/R-proj/src/volume.cpp @@ -7,7 +7,6 @@ //Contributed and/or modified by Apostolos Chalkis, as part of Google Summer of Code 2018 and 2019 program. - #include #include #include @@ -405,4 +404,3 @@ Rcpp::List volume (Rcpp::Reference P, return Rcpp::List::create(Rcpp::Named("log_volume") = pair_vol.first, Rcpp::Named("volume") = pair_vol.second); } - diff --git a/R-proj/src/zonotope_approximation.cpp b/R-proj/src/zonotope_approximation.cpp index e91e1010c..975f32fff 100644 --- a/R-proj/src/zonotope_approximation.cpp +++ b/R-proj/src/zonotope_approximation.cpp @@ -5,7 +5,6 @@ // Copyright (c) 2012-2018 Vissarion Fisikopoulos // Copyright (c) 2018 Apostolos Chalkis - #include #include #include @@ -99,5 +98,4 @@ Rcpp::List zono_approx (Rcpp::Reference Z, } return Rcpp::List::create(Rcpp::Named("Mat") = Rcpp::wrap(Mat), Rcpp::Named("fit_ratio") = ratio); - } diff --git a/examples/mmcs_method/Boost.cmake b/examples/mmcs_method/Boost.cmake index 85b78e29d..1a4dfc952 100644 --- a/examples/mmcs_method/Boost.cmake +++ b/examples/mmcs_method/Boost.cmake @@ -4,8 +4,8 @@ function(GetBoost) if (NOT BOOST_DIR) - set(BOOST_URL "https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2" CACHE STRING "Boost download URL") - set(BOOST_URL_SHA256 "953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb" CACHE STRING "Boost download URL SHA256 checksum") + set(BOOST_URL "https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2" CACHE STRING "Boost download URL") + set(BOOST_URL_SHA256 "f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41" CACHE STRING "Boost download URL SHA256 checksum") include(FetchContent) FetchContent_Declare( diff --git a/examples/mmcs_method/random_hpoly_50_dim.cpp b/examples/mmcs_method/random_hpoly_50_dim.cpp index bbcf4632c..90cae4fa3 100644 --- a/examples/mmcs_method/random_hpoly_50_dim.cpp +++ b/examples/mmcs_method/random_hpoly_50_dim.cpp @@ -77,10 +77,9 @@ void run_main() unsigned int Neff_sampled; MT TotalRandPoints; - perform_mmcs_step(P, rng, walk_length, Neff, max_num_samples, window, - Neff_sampled, total_samples, num_rounding_steps, TotalRandPoints, - complete, InnerBall.first, - nburns, req_round_temp, WalkType); + complete = perform_mmcs_step(P, rng, walk_length, Neff, max_num_samples, window, + Neff_sampled, total_samples, num_rounding_steps, TotalRandPoints, + InnerBall.first, nburns, req_round_temp, WalkType); Neff -= Neff_sampled; std::cout << "phase " << phase << ": number of correlated samples = " << total_samples << ", effective sample size = " << Neff_sampled; diff --git a/examples/mmcs_method/random_hpoly_50_dim_parallel.cpp b/examples/mmcs_method/random_hpoly_50_dim_parallel.cpp index c225bc9e8..747e4bd5b 100644 --- a/examples/mmcs_method/random_hpoly_50_dim_parallel.cpp +++ b/examples/mmcs_method/random_hpoly_50_dim_parallel.cpp @@ -77,10 +77,9 @@ void run_main() unsigned int Neff_sampled, num_threads = 2; MT TotalRandPoints; - perform_parallel_mmcs_step(P, rng, walk_length, Neff, max_num_samples, window, - Neff_sampled, total_samples, num_rounding_steps, TotalRandPoints, - complete, InnerBall.first, nburns, num_threads, req_round_temp, L); - + complete = perform_parallel_mmcs_step(P, rng, walk_length, Neff, max_num_samples, window, + Neff_sampled, total_samples, num_rounding_steps, TotalRandPoints, + InnerBall.first, nburns, num_threads, req_round_temp, L); Neff -= Neff_sampled; std::cout << "phase " << phase << ": number of correlated samples = " << total_samples << ", effective sample size = " << Neff_sampled; total_neff += Neff_sampled; diff --git a/examples/mmcs_method/skinny_cube_10_dim.cpp b/examples/mmcs_method/skinny_cube_10_dim.cpp index bdf09775f..036b10a34 100644 --- a/examples/mmcs_method/skinny_cube_10_dim.cpp +++ b/examples/mmcs_method/skinny_cube_10_dim.cpp @@ -76,10 +76,9 @@ void run_main() unsigned int Neff_sampled; MT TotalRandPoints; - perform_mmcs_step(P, rng, walk_length, Neff, max_num_samples, window, - Neff_sampled, total_samples, num_rounding_steps, TotalRandPoints, - complete, InnerBall.first, - nburns, req_round_temp, WalkType); + complete = perform_mmcs_step(P, rng, walk_length, Neff, max_num_samples, window, + Neff_sampled, total_samples, num_rounding_steps, TotalRandPoints, + InnerBall.first, nburns, req_round_temp, WalkType); Neff -= Neff_sampled; std::cout << "phase " << phase << ": number of correlated samples = " << total_samples << ", effective sample size = " << Neff_sampled; diff --git a/include/diagnostics/ess_updater_autocovariance.hpp b/include/diagnostics/ess_updater_autocovariance.hpp index 99544ec23..4023a51c9 100644 --- a/include/diagnostics/ess_updater_autocovariance.hpp +++ b/include/diagnostics/ess_updater_autocovariance.hpp @@ -4,7 +4,6 @@ // Licensed under GNU LGPL.3, see LICENCE file - #ifndef DIAGNOSTICS_ESS_UPDATER_AUTOCOVARIANCE_HPP #define DIAGNOSTICS_ESS_UPDATER_AUTOCOVARIANCE_HPP @@ -15,7 +14,6 @@ #include #include - /** Compute autocovariance estimates for every lag for the input sequence using the Geyer's stable estimator given in @@ -29,6 +27,7 @@ template void compute_autocovariance(VT const& samples, VT &auto_cov) { + const NT eps = 1e-16; typedef Eigen::FFT EigenFFT; typedef Eigen::Matrix, Eigen::Dynamic, 1> CVT; EigenFFT fft; @@ -44,7 +43,7 @@ void compute_autocovariance(VT const& samples, VT &auto_cov) NT variance = (normalized_samples.cwiseProduct(normalized_samples)).sum(); variance *= (1.0 / N); - variance += NT(1e-16)*(samples_mean*samples_mean); + variance += eps * (samples_mean*samples_mean); normalized_samples.head(N) = normalized_samples.head(N).array() / sqrt(variance); // Perform FFT on 2N points diff --git a/include/random_walks/uniform_accelerated_billiard_walk.hpp b/include/random_walks/uniform_accelerated_billiard_walk.hpp index 33ac07604..aeb4248b9 100644 --- a/include/random_walks/uniform_accelerated_billiard_walk.hpp +++ b/include/random_walks/uniform_accelerated_billiard_walk.hpp @@ -66,6 +66,7 @@ struct AcceleratedBilliardWalk _L = compute_diameter ::template compute(P); _AA.noalias() = P.get_mat() * P.get_mat().transpose(); + _rho = 1000 * P.dimension(); // upper bound for the number of reflections (experimental) initialize(P, p, rng); } @@ -78,6 +79,7 @@ struct AcceleratedBilliardWalk : compute_diameter ::template compute(P); _AA.noalias() = P.get_mat() * P.get_mat().transpose(); + _rho = 1000 * P.dimension(); // upper bound for the number of reflections (experimental) initialize(P, p, rng); } @@ -115,7 +117,7 @@ struct AcceleratedBilliardWalk P.compute_reflection(_v, _p, _update_parameters); it++; - while (it < 1000*n) + while (it < _rho) { std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); @@ -130,7 +132,7 @@ struct AcceleratedBilliardWalk P.compute_reflection(_v, _p, _update_parameters); it++; } - if (it == 1000*n) _p = p0; + if (it == _rho) _p = p0; } p = _p; } @@ -248,7 +250,7 @@ struct AcceleratedBilliardWalk T -= _lambda_prev; P.compute_reflection(_v, _p, _update_parameters); - while (it <= 1000*n) + while (it <= _rho) { std::pair pbpair = P.line_positive_intersect(_p, _v, _lambdas, _Av, _lambda_prev, _AA, _update_parameters); @@ -256,7 +258,7 @@ struct AcceleratedBilliardWalk _p += (T * _v); _lambda_prev = T; break; - } else if (it == 1000*n) { + } else if (it == _rho) { _lambda_prev = rng.sample_urdist() * pbpair.first; _p += (_lambda_prev * _v); break; @@ -293,6 +295,7 @@ struct AcceleratedBilliardWalk Point _v; NT _lambda_prev; MT _AA; + unsigned int _rho; update_parameters _update_parameters; typename Point::Coeff _lambdas; typename Point::Coeff _Av; diff --git a/include/sampling/mmcs.hpp b/include/sampling/mmcs.hpp index 94d4fcac1..dad031f95 100644 --- a/include/sampling/mmcs.hpp +++ b/include/sampling/mmcs.hpp @@ -1,4 +1,5 @@ // VolEsti (volume computation and sampling library) + // Copyright (c) 2021 Vissarion Fisikopoulos // Copyright (c) 2021 Apostolos Chalkis @@ -23,23 +24,22 @@ */ template < - typename Polytope, - typename RandomNumberGenerator, - typename MT, - typename Point, - typename WalkTypePolicy + typename Polytope, + typename RandomNumberGenerator, + typename MT, + typename Point, + typename WalkTypePolicy > -void perform_mmcs_step(Polytope &P, +bool perform_mmcs_step(Polytope &P, RandomNumberGenerator &rng, - const unsigned int &walk_length, - const unsigned int &target_ess, + unsigned int const& walk_length, + unsigned int const& target_ess, unsigned int const& max_num_samples, unsigned int const& window, unsigned int &Neff_sampled, unsigned int &total_samples, unsigned int const& num_rounding_steps, MT &TotalRandPoints, - bool &complete, const Point &starting_point, unsigned int const& nburns, bool request_rounding, @@ -105,13 +105,12 @@ void perform_mmcs_step(Polytope &P, if (done && min_eff_samples < target_ess) { Neff_sampled = min_eff_samples; - return; + return false; } if (min_eff_samples >= target_ess) { - complete = true; Neff_sampled = min_eff_samples; - return; + return true; } if (min_eff_samples > 0) { @@ -126,4 +125,3 @@ void perform_mmcs_step(Polytope &P, } #endif - diff --git a/include/sampling/parallel_mmcs.hpp b/include/sampling/parallel_mmcs.hpp index 25e3cb4c9..fa0abbdaf 100644 --- a/include/sampling/parallel_mmcs.hpp +++ b/include/sampling/parallel_mmcs.hpp @@ -35,17 +35,16 @@ template typename Point, typename NT > -void perform_parallel_mmcs_step(Polytope &P, +bool perform_parallel_mmcs_step(Polytope &P, RandomNumberGenerator &rng, - const unsigned int &walk_length, - const unsigned int &target_ess, + unsigned int const& walk_length, + unsigned int const& target_ess, unsigned int const& max_num_samples, unsigned int const& window, unsigned int &Neff_sampled, unsigned int &total_samples, unsigned int const& num_rounding_steps, MT &TotalRandPoints, - bool &complete, const Point &starting_point, unsigned int const& nburns, unsigned int const& num_threads, @@ -70,6 +69,7 @@ void perform_parallel_mmcs_step(Polytope &P, std::vector bound_on_num_points_per_thread(num_threads, 0); std::vector num_generated_points_per_thread(num_threads, 0); unsigned int jj = 0, d = P.dimension(), m = P.num_of_hyperplanes(); + bool complete = false; while (jj < nburns) { @@ -196,8 +196,8 @@ void perform_parallel_mmcs_step(Polytope &P, current_num_samples += num_generated_points_per_thread[i]; TotalRandPoints_per_thread[i].resize(0, 0); } - + + return complete; } #endif -